SurrealDB
SurrealDB Docs Logo

Enter a search query

Introduction

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.

More information can be found in our features page.

Enterprise case studies

SurrealDB is being used at scale in production by large organisations such as:

  • Saks Fifth Avenue: uses SurrealDB for real-time product recommendations and AI-based personalized experiences.
  • Vodafone: AI-powered assistant delivering real-time technical support to 10,000 field technicians.
  • Samsung Ads: utilizing SurrealDB for knowledge graphs in advertising analytics.
  • Tencent using SurrealDB for infrastructure monitoring, having consolidated 9 tools into one.

More information can be found in our enterprise case studies page.

Use cases

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.
Edit this page on GitHub