100% Free Forever
AI-Powered Learning
Industry Expert Content
Certificates & Badges
Learn At Your Own Pace
Database

SurrealDB

IntermediateTool12.6K learners

SurrealDB is an open-source, multi-model database written in Rust that combines document, graph, and relational data modeling in a single engine, queried through its own SQL-like SurrealQL language.

Definition

SurrealDB is an open-source, multi-model database written in Rust that combines document, graph, and relational data modeling in a single engine, queried through its own SQL-like SurrealQL language.

Overview

SurrealDB was designed to reduce the need to run separate specialized databases — a Document Database, a Graph Database, and a relational store — by supporting all three data modeling styles natively in one engine, similar in spirit to Multi-Model Database products like Azure Cosmos DB. Its query language, SurrealQL, closely resembles standard SQL but extends it with graph traversal syntax for expressing relationships between records directly, alongside built-in support for real-time queries (live queries that push updates to subscribed clients), authentication, and permissions defined at the database level. SurrealDB can run embedded within an application, as a standalone server, or distributed across nodes, and it targets full-stack and edge developers who want a single database technology to cover use cases that would otherwise require combining tools like MongoDB with a separate graph database.

Key Features

  • Multi-model support: document, graph, and relational data
  • SurrealQL query language with built-in graph traversal syntax
  • Real-time live queries pushing updates to subscribed clients
  • Built-in authentication and record-level permissions
  • Embeddable, standalone, or distributed deployment modes
  • Written in Rust for performance and memory safety

Use Cases

Full-stack applications wanting one database for multiple data shapes
Real-time collaborative applications using live queries
Applications with both relational and graph-style relationships
Edge and embedded deployments needing a lightweight multi-model store

Frequently Asked Questions