SurrealDB is a multi-model database built in Rust designed to unify multiple data models into a single, powerful engine. It combines document, graph, time-series, relational, geospatial and key-value data types into one query language, SurrrealQL, with powerful search and retrieval (vector, full-text, hybrid), and real-time and event-driven capabilities, enabling developers to build applications faster and more efficiently.
Common SurrealDB use cases include AI agents, knowledge graphs, real-time apps (e.g. recommendation engines, fraud detection systems), and any other type of application requiring multiple data types. SurrealDB can also be used as a backend-as-a-service thanks to its support for direct user authentication. Given that it’s a single Rust binary, SurrealDB can also run embedded (in‐app), in the browser (via WebAssembly), in the edge, as single backend node, or in a distributed cluster.
SurrealDB is open-source (see our GitHub page) and is also available as a cloud managed service through SurrealDB Cloud.
Differentiators
Native multi-model: combines document, graph, time-series, relational, geospatial and key-value data models natively into SurrealQL, without workarounds or added complexity.
AI native data layer: purpose-built for AI and context-aware applications with integrated search and retrieval (vector, full-text, hybrid) that blend semantic, graph, and relational intelligence.
Real-time and event-driven: built-in real-time subscriptions, event triggers, and streaming updates power reactive, real-time experiences - no need for Kafka, WebSockets, or extra layers.
Powerful developer experience: SurrealQL is intuitive and combines the best ideas from SQL, NoSQL and graph within a single native syntax. Start schemaless and go schemafull.
Rust-powered performance: high efficiency, memory safety, and compliance with government security standards with a single Rust binary.
Native ACID compliance: guarantees strong data consistency natively, without additional workarounds.
Deployment flexibility: single Rust binary and storage/compute separation allow SurrealDB to run embedded (in‐app), in the browser (via WebAssembly) or as a traditional back-end in a single node or in a highly-scalable distributed cluster.
Secure by design: built-in security with RBAC, record-level permissions, fine-grained access controls, JWT authentication, multi-tenant isolation and built-in compliance (SOC 2, ISO 27001) keep data protected by default.
SurrealDB is ideal for any application, in particular data intensive applications that require multiple data systems, such as:
AI agents: building Generative AI systems leveraging a single unstructured and structured data layer with vector, graph and real-time capabilities for RAG, Graph RAG, and agent memory.
Knowledge graphs: turning unstructured data into structured, queryable data with a flexible multi-model approach including support for graph relationships.
Real-time analytics: such as fraud detection systems, recommendation engines and log analytics.
Embedded & edge computing: SurrealDB is a single lightweight Rust binary and can be embedded in industrial environments, run in-memory or in browser.
Backend-as-a-Service: with support for end-user authentication, SurrealDB can also be used as a BaaS for web applications, if desired.