SurrealDB
A multi-model database in Rust that stores documents, graph edges, vectors and time series in one engine, queried with an SQL-like language, SurrealQL, and able to run embedded, as a server or as a cluster.
- What it is
- Document databases,Graph databases,NoSQL databases
- Used for
- Vector databases
- Type
- Commercial product
- Made by
- SurrealDB Ltd.
- License
- Business Source License 1.1 (becomes Apache 2.0 on 1 January 2030 for 3.0)
- Facts checked
- 24 October 2026
What it is
SurrealDB keeps records in tables, each with an ID like person:aristotle, and lets a table be schemaless JSON or fully typed. Records can link to each other directly, and RELATE creates graph edges stored as records in an edge table, with in and out fields and data of their own, so SELECT ->wrote->article FROM person:aristotle walks the graph. The same engine does full-text and vector search, geospatial and time-series queries. SurrealQL keeps the shape of SQL and adds graph traversals, nested field access and similarity functions, and transactions can span many rows and tables.
Access control is part of the database: DEFINE TABLE ... PERMISSIONS rules decide per table and field what each signed-in user may read and write, using $auth, so a front end can query the database directly. LIVE SELECT subscribes a client to changes on a table or a filtered set of records, delivered as full records or JSON Patch diffs.
The query layer is separate from storage. One binary runs in memory (SurrealMX), on disk with RocksDB or the in-house SurrealKV (still beta), in the browser on IndexedDB, embedded in Rust, Go, JavaScript, Python or .NET programs, or as a multi-node cluster on shared distributed storage in SurrealDB Cloud and the self-hosted Enterprise edition. Every engine gives snapshot isolation with write conflicts detected at commit. Version 3.0 came out in February 2026; the 3.x source is under the Business Source License, which allows production use but not offering SurrealDB as a database service to others, and turns into Apache 2.0 on 1 January 2030.
Why teams pick it
- Documents, graph edges, vectors and full-text search in one engine and one query language, in one transaction
- Row- and field-level permissions and live queries, so client apps can talk to it without an API layer in between
- Runs anywhere from a browser tab or an embedded library to a managed cluster
- SQL-like syntax that is quick to pick up for anyone who knows SQL
Watch out for
- Business Source License, not open source: you may not run it as a database service for others until the change date
- Young compared with PostgreSQL or MongoDB, with a smaller ecosystem of tools, drivers and operators
- Multi-node clusters on distributed storage are a Cloud and Enterprise feature; the open RocksDB and SurrealKV engines are single-node
- SurrealQL is its own dialect, so SQL tools, ORMs and BI connectors don’t work with it as they are
Good for
- Data model
- Multi-model: documents, graph edges, vectors and time series in tables
- Query language
- SurrealQL, an SQL-like language with graph traversals
- Secondary indexes
- Includes full-text and vector search indexes
- Transactions
- Across many rows and tables
- Default isolation
- Snapshot isolation; write conflicts detected at commit
- How it scales
- Single node on RocksDB or SurrealKV; clusters on distributed storage in Cloud and Enterprise
- Storage engine
- Pluggable: in memory (SurrealMX), RocksDB, SurrealKV (beta), IndexedDB, distributed storage
- Written in
- Rust
- Ways to run it
- Embedded, single server, self-hosted Enterprise cluster, or SurrealDB Cloud
Alternatives
What all document databases have in common →Compare side by side →
DocumentDBOpen sourceA MongoDB-compatible document database built as PostgreSQL extensions plus a gateway, so MongoDB drivers and tools talk to Postgres underneath.
RethinkDBDormantOpen sourceA clustered JSON document database whose queries can stay open as changefeeds, pushing every change to the client instead of the app polling for it.How it fits with other technologies
What SurrealDB uses
SurrealQL: records, a graph edge, a permission rule and a live query · text
CREATE person:aristotle SET name = 'Aristotle';
CREATE article:sleep SET title = 'On Sleep and Sleeplessness', published = true;
RELATE person:aristotle->wrote->article:sleep SET year = -350; -- an edge record
SELECT name, ->wrote->article.title AS titles FROM person:aristotle;
DEFINE TABLE post SCHEMALESS
PERMISSIONS
FOR select WHERE published = true OR user = $auth.id
FOR create, update, delete WHERE user = $auth.id;
LIVE SELECT * FROM post WHERE published = true; -- push changes to this clientSee it in a real stack
No architecture uses SurrealDB yet. Drop it into the playground and wire it up yourself.Open playground →Where it came from2022–2026
Tobie and Jaime Morgan Hitchcock founded SurrealDB in London as one database for document and graph data, with access rules and real-time queries built in so that web apps could query it directly. The engine, written in Rust, was released publicly on GitHub in 2022.
A $6 million seed round followed in January 2023, and 1.0, the first stable release, came out in September 2023. In November 2025 the company raised a $38 million Series A, bringing its total to $44 million, and in February 2026 it released SurrealDB 3.0, the third major version of the engine, under a Business Source License that turns into Apache 2.0 in 2030.
Why it’s built this way
- One engine for many models
- Apps that need documents, relationships, search and vectors usually stitch several databases together. Putting them in one engine lets one query and one transaction span all of them.
- Permissions and live queries in the database
- If the database itself enforces who may read what and pushes changes, a front end can connect to it directly without a hand-written API server.
- Compute separate from pluggable storage
- Any key-value engine that offers transactional reads and writes of keys and ranges can sit underneath, so the same query layer runs in a browser, on one disk or on distributed storage.
- Business Source License
- It lets anyone use SurrealDB in production while stopping other companies from selling it as a hosted service, and the 3.0 code becomes Apache 2.0 on 1 January 2030.
Timeline
- 2022
Engine released publicly on GitHub
- 2023
$6 million seed round in January; 1.0 released in September
- 2025
$38 million Series A
- 2026
SurrealDB 3.0 released in February
Sources7 · facts checked 24 October 2026
- SurrealDB docs: Overview (models, SurrealQL, permissions, live queries, embedding)
- SurrealDB docs: Architecture (query layer, storage engines, deployment modes, snapshot isolation)
- SurrealQL docs: RELATE statement (edge tables)
- SurrealQL docs: DEFINE TABLE (schemafull, permissions, relation tables)
- SurrealQL docs: LIVE SELECT
- surrealdb/surrealdb README (multi-row, multi-table ACID transactions; Rust)
- surrealdb/surrealdb: LICENSE (Business Source License 1.1)