DBDB.io The Encyclopedia of Database Systems · Est. 2017
Database of Databases

Database Entry

SurrealDB


SurrealDB is a multi-model DBMS that supports embedded and shared-nothing deployments. It uses a hybrid data model that combines documents with explicit graph edge relationships.[03]

Source Code
https://github.com/surrealdb/surrealdb[02]
Twitter
@surrealdb
Developer
Country of Origin
GB
Start Year
2016 [07]
Project Types
Commercial, Open Source
Written in
Rust
Supported Languages
Perl
Embeds / Uses
EchoDB, FoundationDB, RocksDB, TiKV
Compatible With
EchoDB, FoundationDB, RocksDB, TiKV
Operating Systems
Linux, macOS, Windows

Database Entry

SurrealDB


SurrealDB is a multi-model DBMS that supports embedded and shared-nothing deployments. It uses a hybrid data model that combines documents with explicit graph edge relationships.[03]

Data Model[04]


SurrealDB supports relational, document, and graph-based data models. By default, SurrealDB creates schema-less documents, however the SurrealQL syntax provides functionality for creating fixed-schema tables as well. Graph-based models are constructed by representing the nodes and the edges as relations that are related by record links.

Joins[05]


SurrealDB does have the concept of joins. Instead of Joins between pre-defined relations, SurrealDB uses graph edges (record links) to link records to each other. With graph edges and the ability to store arrays and objects as field members, SurrealDB can provide the functionality of Joins along with other graph-based operations like path traversal.

Query Execution


Query Interface[06]


SurrealDB can be started as an independent process or embedded in the application as a library. As an independent process, it is possible to interact with the database using either the SurrealQL REPL (if SurrealDB is running locally), or using the HTTP/REST endpoints. As a library, SurrealDB can be used in other applications by interfacing with the APIs provided by the SurrealDB library. SurrealDB also provides the WebSocket API which can be interfaced with using RPCs.

Storage Organization


Stored Procedures


System Architecture


Citations

7 sources
  1. SurrealDB | The context layer for AI agents surrealdb.com
  2. GitHub - surrealdb/surrealdb: A scalable, distributed, collaborative, document-graph database, for the realtime web · GitHub github.com
  3. Getting started | SurrealDB Docs surrealdb.com
  4. DEFINE TABLE | SurrealDB Docs surrealdb.com
  5. Record links | SurrealDB Docs surrealdb.com
  6. https://surrealdb.com/docs/integration surrealdb.com
  7. https://www.linkedin.com/pulse/dreaming-something-better-surrealdb?trackingId=7cArqAk1EAsOH2sp706tuQ== linkedin.com
Revision #6 Last Updated: