asopi tech
asopi techIndie Developer

Asopitech VS

SurrealDB vs Alopex DB

SurrealDB's multi-model design, deployment forms, storage, and vector indexes. Also explains how it differs from Alopex DB.

Updated: Oct 12, 2026

What SurrealDB is

SurrealDB is a multi-model database written in Rust. One engine stores documents, graphs, vectors, full text, time series, geospatial data, and relational tables, and one query language, SurrealQL, reads and writes them in a single transaction. The CLI and the server are one Rust binary.

How it works

  • Compute and storage: the query layer and the storage layer are separate. The same SurrealQL and SDKs switch between embedded, single-node, distributed, and managed deployments.
  • Embedded: it embeds in Rust, Go, JavaScript/TypeScript, WebAssembly, Python, and .NET. Storage is SurrealMX (memory), SurrealKV (beta), RocksDB, or IndexedDB (browser).
  • Single node and distributed: RocksDB is recommended for a single node. A distributed deployment uses multiple query nodes over shared distributed transactional storage.
  • Transactions: isolation is snapshot isolation. Write conflicts are detected at commit.

Main features

Vector search uses HNSW (cosine, Euclidean, Manhattan) and, from 3.1, DISKANN. Without an index, search is brute force. It also has BM25 full-text search, RRF hybrid search over text and vectors, graph traversal, live queries, GraphQL and REST, and permissions and multi-tenancy.

Limits

  • The query language is its own SurrealQL. The documentation says it keeps the shape of SQL.
  • Snapshot isolation is the only isolation level. Conflicting transactions must be retried.
  • A single node scales only vertically and has no distributed fault tolerance.
  • A self-hosted multi-node cluster requires the Enterprise edition. In the managed service it requires the Scale plan (minimum 3 compute units).
  • SurrealKV, aimed at embedded use, is in beta. The documentation recommends RocksDB for conservative production use.
  • RocksDB is a C++ library, so embedding in Rust needs a C++ compiler and libclang.
  • From 3.3.0, the in-memory SurrealMX does not support versioned queries.
  • The documentation says to use HNSW when the graph fits comfortably in memory, and DISKANN beyond that.

How it differs from Alopex DB

Both are multi-model databases written in Rust that grow from embedded to server to cluster and have vector search.

Alopex DB is queried with SQL and has columnar tables in the core. Data lives in a single .alopex file. The cluster components, the related product Chirps, are published as open source (Apache-2.0 or MIT).

Alopex DB is a single Rust binary that handles the same data from embedded to server. Give it a try as well; the quickstart lets you see for yourself.

References