A graph database that stores adjacency as sparse matrices and queries with OpenCypher, aimed at knowledge graphs for LLM and GraphRAG workloads.
surrealdb/surrealdb
A multi-model database written in Rust that combines document, graph, relational, time-series, and key-value data with realtime queries and built-in access control.
Open-source alternative to:Firebase Realtime Database
Neo4j
- Stars
- 33,215
- Forks
- 1,393
- Open issues
- 547
- Last commit
- 3 days ago
What is it?
SurrealDB is a database that aims to replace several components of a typical application stack. It supports document, graph, relational, time-series, geospatial and key-value data in one engine, and provides full-text, vector and hybrid search. Queries are written in SurrealQL, an SQL-like language that can traverse record links and graph edges without JOIN statements.
The server can run as a single binary in several modes: embedded in an application, in the browser through WebAssembly, on edge nodes, as a single self-hosted node, or as a distributed cluster. Clients can connect over WebSockets, REST, or JSON-RPC, and live queries push data changes to subscribed clients in real time. Row-level permissions and built-in user authentication allow client devices to query the database directly.
Official SDKs cover Rust, JavaScript, Python, Go, .NET, PHP and Java, and the project offers a managed cloud service. Core database code is licensed under the Business Source License 1.1.
Key features
- 01Multi-model storage for documents, graphs, relational, time-series, geospatial and key-value data
- 02SurrealQL query language with graph traversal across record links
- 03Real-time live queries that push data changes to clients
- 04Row-level permissions and built-in user authentication
- 05Multi-row ACID transactions and clustered deployment
- 06Embedded, WebAssembly, edge, and distributed run modes
Use cases
- Building realtime web or mobile apps that need client devices to query data directly
- Storing knowledge graphs or recommendation data that relies on relationships between records
- Serving as a data layer for AI agents, including through the MCP server
- Running an embedded or edge database inside an application without a separate server
Quick start
- 1
Install SurrealDB on macOS with Homebrew
brew install surrealdb/tap/surreal - 2
Install on Linux or Windows by running the official install script from the README or downloading from the releases page
Things to know
- The license is BSL 1.1, which restricts some commercial uses.
- Some features and the managed cloud service are tied to SurrealDB's own offerings.
Topics
FAQ
- What is surrealdb?
- A multi-model database written in Rust that combines document, graph, relational, time-series, and key-value data with realtime queries and built-in access control. SurrealDB is a database that aims to replace several components of a typical application stack. It supports document, graph, relational, time-series, geospatial and key-value data in one engine, and provides full-text, vector and hybrid search. Queries are written in SurrealQL, an SQL-like language that can traverse record links and graph edges without JOIN statements.
- Is surrealdb free to use? What license does it have?
- surrealdb is open source under the Other license. Check the license terms before using it in commercial products.
- Is surrealdb still maintained?
- Actively maintained. The last commit to surrealdb was on Oct 19, 2026.
- What can I use surrealdb for?
- Building realtime web or mobile apps that need client devices to query data directly Storing knowledge graphs or recommendation data that relies on relationships between records Serving as a data layer for AI agents, including through the MCP server Running an embedded or edge database inside an application without a separate server
- How do I install surrealdb?
- Install SurrealDB on macOS with Homebrew: brew install surrealdb/tap/surreal Install on Linux or Windows by running the official install script from the README or downloading from the releases page
- Where can I get surrealdb?
- The source code and installation instructions are on GitHub: https://github.com/surrealdb/surrealdb
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
An in-process SQL database written in Rust, compatible with SQLite's dialect, file format and C API, with an experimental Postgres frontend.
Open-source reactive database for web apps, letting you write server functions and data logic in pure TypeScript.
An open-source graph database in Rust that stores graph, vector and full-text data together on object storage, queryable from Rust, TypeScript, Go and Python.
Open-source backend platform for building apps, with Auth, Databases, Storage, Functions, Messaging, Realtime and Hosting, self-hostable via Docker.
Open-source web editor that visualizes and designs database schemas from a single query, with no account or database password needed.