Day 31 / Daily GitHub Discovery / Databases

SurrealDB

Explore a multi-model database with document, graph, and realtime features.

~28,000 stars · checked Sep 28, 2026
RustSurrealQLWebSocketsHTTPWASMRocksDBTiKV
Visit GitHub (opens in a new tab)

What it does

SurrealDB combines a query language and database features for relational, document, graph, and other data models. It supports embedded and server deployments.

Why it’s interesting

The unified query surface is interesting to study, but verify the current license terms, supported storage backends, and production requirements before adopting it.

Real-world use case

Prototype a collaborative app with related user and project records, while verifying whether one multi-model database fits the consistency and operational needs.

What I can learn

  • 01

    Multi-model query planning

    Explore how one query can address records and graph relations while the engine plans the work.

  • 02

    Live queries and WebSocket delivery

    Understand how live query subscriptions identify affected clients and deliver record changes over persistent connections.

  • 03

    Database-level permissions and transaction semantics

    Study how database permissions constrain reads and writes, and how transactions keep multi-step changes consistent.

One thing to explore

SQL parser and database engine

Follow the parser and transaction code to see how a query reaches the storage layer.

Explore the source (opens in a new tab)

10-Minute Challenge

Explore a local in-memory database

Before you start: SurrealDB CLI or Docker and a terminal.

  1. Read the current install guide and license.
  2. Start a local in-memory instance using the official command.
  3. Create a record and inspect a graph relation using the current SurrealQL syntax.

Keep exploring

All repositories →