programcode

Review · Database systems

SurrealDB review

One engine can simplify a multi-model stack, but verify storage durability, migration paths and usage costs before you commit.

7.2/10ProgramCode score

We may earn a commission if you buy through links on this page. It never changes a score or a ranking. How we make money

The bottom line

A multi-model database with flexible deployment options and production details to verify.

SurrealDB is a database server and managed service that brings relational, document, graph, vector and time-series data into one engine. Applications can query it with SurrealQL or connect through Postgres and MySQL clients; teams can run it on SurrealDB Earth, Cloud or their own infrastructure.

The unified data model and Earth’s free tier make it worth evaluating for agent memory and applications that need several data types together. Production buyers should check current licensing, export options and storage durability settings, especially for self-hosted deployments.

Good fit if

  • Agent memory and retrieval
  • Apps combining graphs and vectors
  • Teams consolidating database systems

Skip it if

  • Teams needing proven migration tooling
  • Projects requiring published export guarantees
  • Workloads with unverified durability settings
SurrealDB homepage
SurrealDB homepage, captured Nov 7, 2026

ScoresHow it rates

  • Features8.5
  • Ease of use7
  • Value for money8
  • Support7
  • User sentiment5.5

What works

  • Relational, document, graph, vector and time-series data in one engine
  • SurrealQL queries multiple data models
  • ACID transactions combine data operations
  • Self-hosting and managed Cloud options
  • Earth Free includes 3M requests monthly

What doesn't

  • Earth Free pauses at its usage limits
  • Earth Pro overages add usage-based charges
  • Current license terms need verification
  • Export and migration options need confirmation
  • Reddit users raised storage durability concerns

01What SurrealDB is, technically

SurrealDB is a database engine available as a self-hosted server, an embedded option, and managed services including SurrealDB Earth and Cloud. It puts relational, document, graph, vector and time-series data in one database, with SurrealQL as its query language. The vendor also says it accepts Postgres and MySQL clients.

That places SurrealDB in the data layer behind an application or agent, rather than as an application framework. The aim is to reduce the number of stores and query hops when a workload needs, for example, document records, graph relationships and vector retrieval together. Its Agent Memory offering stores and retrieves agent context with its source and time. Access control can be set at role, record and field levels, and live queries let clients see writes as they commit. Earth is the serverless option: the vendor says databases start on their first query and scale to zero when idle. Teams can instead run the same engine on their own servers or use managed Cloud.

02SurrealDB API, SDKs and docs

The primary query surface is SurrealQL, which the vendor says covers SQL, graphs, vectors, full-text search, temporal data and key-value queries. Applications can also connect using Postgres and MySQL clients. That may reduce integration changes for existing clients, but it does not mean every client feature or query is interchangeable; confirm compatibility against your application’s needs.

The homepage shows a CLI command, surreal cloud instance create my-agent --region earth, for creating an Earth instance. It also describes SurrealDB MCP, with an example of asking it to create a database. The vendor presents SurrealDB as usable in an app or on a server, and says Earth runs on Cloudflare. SDK languages and specific SDK names are not established by these integration details. Check the vendor’s documentation for current SDK support, connection protocols, authentication setup and examples for your stack. For production, also review how live queries and transactional operations fit your client’s reconnect and error-handling behavior.

03SurrealDB pricing for developers

Earth Free costs $0 per month and includes 3M requests, 10 GB of storage and 100 database hours per month. It needs no credit card, but pauses at its limits; the pricing page says data is kept. That pause behavior matters for services that must stay available after a quota is reached.

Earth Pro costs $15 per month and includes 10M requests, 25 GB of storage, 1,000 database hours, 500M live update messages and 10,000 connected clients. The listed overages are $0.65 per 1M requests, $0.25 per GB of storage and $0.05 per database active hour. Model expected traffic and storage against those allowances before launch.

Always-on Cloud Instance pricing starts at $0.021 per node hour. The page lists scaling from one to hundreds of nodes and automated backups. Enterprise is custom-priced and includes self-hosting, clustered fault-tolerant deployments, enterprise support and FIPS-compliant cryptography. Optional add-ons, including private networking, audit logs, streaming logs, single sign-on and advanced support, are listed without prices. Discounted annual plans are available for Cloud and support, with pricing from the team.

04SurrealDB: open source, self-hosting and lock-in

SurrealDB can run on your own servers, and the vendor describes the same engine as available embedded in an app or managed in Cloud. A SurrealDB founder wrote on Reddit that the license was intended to allow business and enterprise use while restricting paid hosted database services. That is a historical description, not a substitute for reviewing the current license: confirm the exact license and its terms before building a commercial service or hosting it for customers.

The Reddit discussion links to the SurrealDB GitHub repository, but check the repository’s current license and source availability directly. The vendor’s homepage describes SurrealQL and Postgres and MySQL client connections; using those interfaces may help reduce application-level coupling, but SurrealQL queries and data-model choices can still create migration work. SurrealDB does not publish a data-export path in the information available to buyers. Ask the vendor about export formats, backups and migration tooling, and test an exit path before storing critical data.

05SurrealDB in production

Earth’s stated scaling model is serverless: databases start on first query, scale to zero when idle and can add cells as load rises. The homepage lists cold starts of about 300 ms and instance creation around 500 ms. Earth Free pauses at its monthly limits, so capacity planning needs to account for requests, storage and database hours, not just application traffic. Cloud lists automated backups; verify retention and recovery behavior for your plan.

The vendor lists role-, record- and field-level permissions, plus FIPS-compliant cryptography on Enterprise. A Reddit thread raised a durability concern for RocksDB and SurrealKV deployments when SURREAL_SYNC_DATA is unset. A SurrealDB founder replied that it defaults off and that commits do not call fdatasync on every write. Treat this as a reason to verify current version-specific guidance and acceptable crash-recovery behavior, not as a statement about every deployment. Reddit users also reported poor performance in older evaluations; those reports are version-specific and are not current benchmarks. Ask for workload-relevant guidance before switching production data.

From the threadsWhat users say

Reddit sentiment is mixed. Some users like the flexible data model, while older evaluations report performance concerns and a durability discussion has made storage settings a point to verify.

Easy to use
Schemaless is very interesting though, and it's very easy to use
r/rust · view thread
Performance concerns
the fact that it could barely return a response to SELECT * FROM users WHERE id = 1; in under a second
r/rust · view thread
Durability debate
by default SURREAL_SYNC_DATA is off. That means we don't call fdatasync on every commit by default
r/rust · view thread
Developer enthusiasm
Mad respect for people undertaking these challenges. Databases are getting exciting again
r/programming · view thread

Questions people ask

What is SurrealDB used for?

SurrealDB stores relational, document, graph, vector and time-series data in one engine. Its vendor describes use cases including agent memory, GraphRAG, knowledge graphs, digital twins and real-time applications. Teams can query these data models together using SurrealQL and combine operations in an ACID transaction.

Does SurrealDB work with Postgres clients?

The vendor says SurrealDB speaks Postgres and MySQL and can be queried through Postgres and MySQL clients. Confirm which client features and behaviors your application depends on before treating it as a drop-in replacement. SurrealQL is the database’s own query language for its broader data-model features.

How much does SurrealDB cost?

Earth Free is $0 per month and includes 3M requests, 10 GB storage and 100 database hours; it pauses at its limits. Earth Pro is $15 per month, with higher allowances and listed overage rates. Cloud Instance pricing starts at $0.021 per node hour, while Enterprise pricing is custom.

Can I self-host SurrealDB?

Yes. The vendor says the same engine can run on your own servers, embedded in an app or managed in Cloud. Enterprise lists self-hosting and clustered fault-tolerant deployments. Check the current license terms before offering SurrealDB as a paid hosted database service, and confirm which support and compliance options apply to your deployment.

Is SurrealDB suitable for production?

It may fit production workloads, but validate the details against your workload and deployment. Check plan limits, backup and recovery behavior, access controls and current storage durability guidance. A Reddit discussion raised concerns about sync settings for RocksDB and SurrealKV; ask the vendor for version-specific recommendations and test your own recovery procedures.

Sources

  1. SurrealDB homepage
  2. SurrealDB pricing page
  3. Reddit: SurrealDB: A new scalable document-graph database written in Rust
  4. Reddit: SurrealDB: A new scalable document-graph database written in Rust
  5. Reddit: Have any of you used SurrealDB and what are your thoughts?
  6. Reddit: SurrealDB is sacrificing data durability to make benchmarks look better