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.

Data Model

Relational Document / XML Graph

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

Not Supported

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

Tuple-at-a-Time Model

Query Interface

Custom API SQL HTTP / REST RPC

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

Copy-on-Write / Shadow Paging

Stored Procedures

Supported

System Architecture

Shared-Nothing Embedded

SurrealDB Logo
Website

https://surrealdb.com/

Source Code

https://github.com/surrealdb/surrealdb

Tech Docs

https://surrealdb.com/docs

Twitter

@surrealdb

Developer

SurrealDB Ltd.

Country of Origin

GB

Start Year

2016

Project Type

Commercial, Open Source

Written in

Rust

Supported languages

Perl

Embeds / Uses

EchoDB, FoundationDB, RocksDB, TiKV

Compatible With

EchoDB, FoundationDB, RocksDB, TiKV

Operating Systems

Linux, OS X, Windows

Licenses

Business Source License