mrkeyoor.com_
Sat 31 Oct 11:50 UTC
Dataevaluationupdated 24 Oct 2026

surrealdb review

SurrealDB combines document records and graph relationships in one database. Applications query it through SurrealQL, its SQL-like language. The README also documents search, live updates, and server or embedded use.

+26stars / 7d
Verdict

Prototype SurrealDB when its combined record, graph, and permission model could remove application code you already maintain. Our build and test commands at commit 18971ff each timed out after 900 seconds, leaving source validation incomplete. Published-binary setup, database behavior, and operating reliability were not measured. Resolve the applicable core license and test the intended data model and deployment before adoption.

We ran it

Lab card: what happened when we ran surrealdbScreenshot of surrealdb (surrealdb.com)
Install✓ · 47s743 packages
Build✗ timed out · 900s
Tests✗ timed out · 900sran, no count parsed
Repo4297 files~506,903 lines of source · 28.8 MB · 19 CI workflows · tests dir

Answers from our run

Does surrealdb build from source?

Dependencies installed in 47 seconds (743 packages), and the build failed. We cloned commit 18971ff into a clean Debian container with 3 CPUs and no project-specific setup.

Do surrealdb's tests pass?

We could not finish them: the suite was still running after 15 minutes in our container.

Who should not use surrealdb?

Teams requiring an Open Source license for the database core: the supplied BSL 1.1 license explicitly says it is not one.

What are the alternatives to surrealdb?

PostgreSQL, ArangoDB. Prototype SurrealDB when its combined record, graph, and permission model could remove application code you already maintain.

SetupN/AThe source build and test commands timed out. Published-binary installation was not reproduced, so end-user setup ease remains unassessed.
Docs3/5Reading-only rubric: 1 means no usable entry instructions, 3 means setup recipes and worked modeling examples are present, and 5 requires verified operating guidance. The README meets the middle criterion; its GraphQL descriptions conflict, and commands and linked manuals were not verified.
CommunityN/ACommunity responsiveness remains unassessed. Supplied metadata records a last push on October 19, 2026, but does not establish response times or support quality.
MaturityN/AThe source test command timed out during compilation. Database recovery, authorization behavior, and operating reliability were not measured.

Discussed on

  1. hnSurrealDB – Document-graph database, for the realtime web190 points
  2. hnSurrealDB: Distributed document-graph database for the realtime web136 points
  3. hnBenchmarking SurrealDB 3.x vs. Postgres, Mongo, Neo4j and Redis (With Fsync)75 points
  4. hnAnnouncing SurrealDB 1.063 points
  5. hnSurrealDB 3.0: Improved stability, performance, and tooling26 points

Who it’s for

Developers evaluating document records and graph relationships in the same queries.
Teams willing to learn SurrealQL when unified modeling could remove synchronization code they currently maintain.
Builders evaluating database-enforced permissions for direct browser connections.

Who it’s NOT for

Teams requiring an Open Source license for the database core: the supplied BSL 1.1 license explicitly says it is not one.
Services enabling third parties to create, manage, or control schemas or tables without resolving the license's Database Service restriction.
Applications that must retain an existing SQL dialect: the README uses SurrealQL-specific record identifiers and graph traversal syntax.
Buyers requiring confirmed GraphQL availability: the supplied README describes it as supported in one passage and coming soon in another.

Setup reality

Our sandbox installed dependencies for commit 18971ff in 47 seconds, recording 743 dependencies. The build timed out after 900 seconds, and the test command also timed out after 900 seconds. The final test-log lines were still compiling dependencies, including async-graphql and wasm-opt-sys, with no completed test result shown.

The October 4, 2026 run used 3 CPUs and 12 GB of RAM with image lab-rust:1. That image label does not establish the actual compiler or operating-system version.

The README documents published-executable and container routes that this run did not reproduce. Its in-memory development example supplies root credentials. The source timeouts do not establish a database defect or the effort required to install a published binary.

Does the combined data model justify a switch?

SurrealDB combines document records and graph relationships in one database. Its README demonstrates directed edges between a user and an article, typed fields, unique indexes, and queries that traverse relationships. Consider it when those capabilities could replace separate representations or synchronization code in your application. That benefit remains something to establish with your own model.

SurrealQL is a language commitment. The examples use record identifiers and arrow-based graph traversal alongside familiar SELECT syntax. Translate a representative application query, including its access rules, before choosing the database. Check whether the result removes code you currently maintain and whether your team accepts the query language. The supplied README provides modeling examples, but those examples were not executed in this review.

What happened when we ran it

Our SurrealDB source build and test commands each timed out after 900 seconds. Dependency installation succeeded in 47 seconds, with 743 dependencies recorded. The October 4, 2026 run checked out commit 18971ff in a sandbox configured with 3 CPUs, 12 GB of RAM, and image lab-rust:1.

The checkout contained 4,297 files, roughly 506,903 source lines, and 28.8 MB of files. The scan recorded 19 CI workflow files and a tests directory, with no Dockerfile detected. These describe the checkout and source workflow, not database performance or successful upstream checks.

The final test-log lines were compilation output for dependencies including regex, async-graphql, and wasm-opt-sys. They also showed surrealdb-types v3.3.0-nightly inside the checkout. That package label does not identify a tested server release. The log tail contains no completed test result and establishes no cause for the timeouts. The image label does not establish the actual compiler or operating-system version.

This run leaves query speed, recovery behavior, authorization behavior, and published-binary setup unassessed. Neither timeout identifies a failed database assertion or proves that the database is broken.

Keep the development example separate from deployment checks

The README documents Homebrew, platform-specific scripts, and Docker. Its in-memory Docker development example supplies a root username and password. Those are documented entry paths; this review did not reproduce them or measure their installation time.

For an application trial, choose the intended storage configuration and application credentials. Create representative records, restart the deployment, and check persistence and access rules. These are proposed acceptance checks, not results from our sandbox. A successful root query would not establish what an ordinary account can read or change.

Direct browser access puts permissions in the database

The README documents row-level permissions and direct browser queries over WebSockets. Evaluate that architecture when database rules could replace API handlers your application currently needs. The review did not test whether any particular permission rule enforces an application's requirements.

Use unauthorized reads and writes as acceptance cases: create a record owned by one account and attempt access through another account. Include graph relationships and live subscriptions if the application uses them. Teams keeping authorization in an existing service should assess the document and graph model separately from the proposed benefit of direct client access.

Resolve licensing and documentation uncertainty

The supplied core license is Business Source License 1.1. It explicitly says it is not an Open Source license. Its additional-use grant prohibits use as a defined Database Service: an offering that provides database functionality to third parties, other than direct employees or contractors working on your behalf, and enables those third parties to create, manage, or control schemas or tables. Read the core license for the version you intend to deploy before committing to that offering. The supplied license names its Licensed Work as SurrealDB 3.0; this review does not establish the license contents at commit 18971ff.

Documentation receives 3/5 on a reading-only rubric: 1 means no usable entry instructions, 3 means setup recipes and worked modeling examples are present, and 5 requires verified operating guidance. The supplied README meets the middle criterion. This score does not certify that its commands work or assess the linked manuals.

The supplied README describes GraphQL as supported in one passage and coming soon in another. Treat its availability as unresolved by this evidence and verify it for the intended version if required.

Community responsiveness remains unassessed. Supplied metadata records a last push on October 19, 2026, but does not establish response times or support quality.

Compare the model with PostgreSQL and ArangoDB

PostgreSQL's README documents SQL transactions and foreign keys. Start there when relational constraints cover the application and adopting SurrealQL would add work without removing an existing burden.

ArangoDB's README documents native graphs, JSON documents, integrated search, and AQL. Compare it when a combined document-and-graph model is central to the decision. Neither comparison establishes relative performance, reliability, or setup effort; this review ran no shared workload across the databases.

Prototype SurrealDB with a difficult query and its permission rules. Check persistence and recovery using the intended deployment, and resolve the applicable license. Choose it only if the combined model provides a concrete benefit your team can demonstrate. Our source run leaves build and test completion at commit 18971ff unverified.

Alternatives

ProjectWhat it isPick it when
PostgreSQL gh↗A relational database whose README documents SQL transactions and foreign keys.Pick this when relational constraints cover the application and adopting SurrealQL would add work without removing an existing burden.
ArangoDBA database whose README documents native graphs, JSON documents, integrated search, and AQL.Compare this when a combined document-and-graph model is central to your database decision.

What people are saying

  1. [github-trending] surrealdb/surrealdb

Sources

  1. SurrealDB README and modeling examples
  2. SurrealDB core license
  3. PostgreSQL README
  4. ArangoDB README

More data reviews

jq · pgx · HowToLiveLonger · ip2region · dbdelve · litestream · the whole board →