DEV Community

Cover image for Are we Surreal yet?
itsezc
itsezc

Posted on

Are we Surreal yet?

Updated: 24th February 2026

What Is SurrealDB, Really?

SurrealDB is not merely a document store or a graph database. It is a multi-model database engine with:

  • Native authentication and authorization
  • Fine-grained access control
  • Built-in functions and event triggers
  • Graph relationships
  • Full-text search
  • Vector support for AI workloads
  • HTTP + WebSocket APIs
  • Embedded and distributed modes

In practice, this means SurrealDB can operate as:

  • Your database
  • Your auth server
  • Your API layer
  • Your realtime engine
  • Your business logic runtime

In other words: a backend-as-a-service without the typical SaaS constraints.


Can you replace your existing backend with SurrealDB?

In many cases: yes.

Especially for greenfield projects, SurrealDB can meaningfully reduce or eliminate:

  • Custom API servers
  • ORMs and migration tooling
  • Separate auth services
  • GraphQL layers
  • Realtime brokers

Because:

  • Permissions are defined at the schema level.
  • Business logic can live inside database functions.
  • Relationships are first-class.
  • Queries are expressive enough to replace many REST handlers.
  • WebSocket subscriptions provide live updates natively.

The developer experience is unusually cohesive. You model your data, define permissions, write logic, and expose it all in one place.


The Bigger Vision

Traditional backend architecture looks like this:

Frontend → API Server → Auth Server → Cache → Database → Queue → Worker → Storage

The Surreal-first architecture trends toward:

Frontend → SurrealDB

With schema, permissions, logic, relationships, and realtime transport unified. The question is not whether SurrealDB can replace parts of your backend. It already can.

The real question is:

How far can we push it before we need anything else?


Features

Feature Description Status Notes
Extensions (Surrealism) User defined extensions
Auth Authentication & Authorization with Permissions
Functions User defined functions
API Endpoints User defined API endpoints
Events Triggered by Table CRUD events
File Storage (Buckets) Store Files in Buckets S3 Remote is Enterprise Only
Live Queries & Changefeeds Real-time data updates
Graphs (Edges) Graph tables
Record Versions Time-series SurrealKV only
Full-text Search Multi-language and algorithm ready
Geometry Fields GeoJSON
Vector Embeddings
RAG & Graph RAG
Embedded Mode via WASM
GraphQL API ⚠️ In-progress
Surreal AI LLM Model calls ⚠️ In-progress
Opentelemetry Producer & Datastore ⚠️ Producer only
Rate Limiting for Tables, Fields and Functions Remote HTTP APIs abusable
WebAuthn Password-less Auth flows
OAuth & OpenID Server Create multi-tenant OAuth services
Cron Jobs Scheduled tasks
Sync Offline-first CRDT sync mechanism
Message Queue Pub / Sub system
Child Databases Schema-copied databases for SaaS apps
Database Branching Copy-on-Write clone of your database
Incremental Backups Faster and cheaper backups overtime Planned

SurrealKV

Feature Description Status Notes
Encryption at REST AES-GCM/XChachaPoly1305 via KMS
Distributed Enterprise Only

Ecosystem

Feature Description Status Notes
Dashboard (Surrealist) Manage Database instance via UI
Helm Chart Kubernetes deployment
Migrations & Seeding Third-party
VSCode Extension Third-party
Zed Extension Third-party

Documentation

Feature Description Status Notes
Documentation Full documentation in English
University Course platform

Top comments (0)