Zero maintenance. Zero hassle.
Handle relational, document, graph, time series, key value, vector and search, in one place.
Scale compute and storage separately, from 0 to 100s of nodes and back to 0, without sharding.
SurrealQL is intuitive and easy to learn, blending SQL familiarity with modern flexibility.
Build generative AI apps with vectors, knowledge graphs, and in-database ML capabilities.
Built for data intensive applications and real-time analytics.
Built-in access controls, granular table, row and field-level permissions.
SELECT name, ->order->product.{name, price}
FROM person
SELECT p.name, pr.name, pr.price
FROM person p
INNER JOIN order o ON p.id = o.person_id
LEFT JOIN product pr ON o.product_id = pr.id
SELECT
rating,
review_text,
person.name,
person.email
FROM review:01FXNDZ2C893992S408TX4MYYQ
db.review.aggregate([
{
"$match": {
"_id": "01FXNDZ2C893992S408TX4MYYQ"
}
},
{
"$lookup": {
"from": "person",
"localField": "person",
"foreignField": "_id",
"as": "person"
}
},
{
"$project": {
"_id": 0,
"rating": 1,
"review_text": 1,
"person.name": 1,
"person.email": 1
}
}
])
SELECT name, ->order->product.{name, price}
FROM person
MATCH (p:Person)-[:ORDER]->(pr:Product)
RETURN p.name, pr.name, pr.price
"I think it's going to change how we query databases."
Director, Salesforce
"It's fast, small, can run on browser, edge and cloud. It can handle large data. It can run in-memory like Redis or disk like SQLite and it can run multi-cluster. It can sync between cloud and edge. And to top of it off, it can also run as a graphdb."
Distinguished Engineer, IBM iX
"There is a pretty good use case to using it in some serious projects."
Tech Influencer, Fireship
Focus on building tomorrow's applications. Let us take care of the rest.
Explore Surreal CloudManage your database visually. Available in web and desktop.
Learn moreUnlock your potential with world-class education in cutting-edge database technologies.
Learn more