01 |STORAGE ENGINES
One interface, pluggable backends
Point the same database at an in-memory engine for a throwaway test, a local file for a single node, or a distributed backend for production - and manage files without leaving SurrealQL.
PLUGGABLE ENGINES
Start anywhere, move without rewrites
The storage engine is chosen at startup. The query language, schema, and application code are identical across all of them.
FILE BUCKETS
Files, defined and queried like data
DEFINE BUCKET registers a file store - in-memory, on disk, or an object-storage backend - and file operations become SurrealQL you can permission and transact.
02 |ONE ENGINE
Files and data in one system
Keeping documents in one store, blobs in another, and the metadata that ties them together in a third means three systems to secure, back up, and keep consistent. SurrealDB holds them together.
One permission model
Buckets and records share the same access control, so a file is protected by the same rules as the row that references it.
Scale each layer on its own
Separating compute from storage lets you add query capacity or durable capacity independently, without wasting either.
No glue to maintain
File handling is SurrealQL, not a separate SDK and object-store integration you have to write and keep in sync.
GET STARTED
Store everything in one engine
Run SurrealDB embedded or distributed, and manage files and data through the same SurrealQL.
SOC 2 Type 2
GDPR
Cyber Essentials Plus
ISO 27001