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)