Skip to content

Running

Multi-node

A multi-node cluster runs SurrealDB on several nodes that share one storage layer, so that the database keeps serving when a node fails and query capacity grows as you add nodes. One server or one Kubernetes pod with a SurrealKV directory is the single-node, on-disk model.

The Scale plan on managed instances runs multi-node clusters on distributed storage with replication and consensus. SurrealDB operates the storage layer, so a cluster is provisioned and resized from the Cloud dashboard, or from a script with surreal cloud.

Self-hosted multi-node clusters run SurrealDS, the distributed storage engine in SurrealDB Enterprise. Each node is a surreal start process that keeps a commit log on its own local disk, and all nodes keep the data in one object store bucket. A write is acknowledged when it is on disk in two zones, and the object store is not on that path.

Clients connect through a load balancer to three nodes in three zones. Each node runs SurrealDB on top of a SurrealDS node with a commit log and a page cache. The sequencer in zone A sends each commit to the acking witness in zone B, and streams the log to the listener in zone C. All nodes share one object store bucket that holds the manifest, the tree pages and the log segments.Clients connect through a load balancer to three nodes in three zones. Each node runs SurrealDB on top of a SurrealDS node with a commit log and a page cache. The sequencer in zone A sends each commit to the acking witness in zone B, and streams the log to the listener in zone C. All nodes share one object store bucket that holds the manifest, the tree pages and the log segments.

Every node is a full SurrealDB server, so adding nodes adds query and read capacity. The data grows in the object store, so a database can grow without more nodes or larger disks.

  • SurrealDS overview: How a group commits writes, serves reads, scales and survives the failure of a zone.

  • Kubernetes operator: Run a group on Kubernetes from one SurrealDS resource.

  • Your own machines: Run a group on physical servers or virtual machines without Kubernetes.

Where one node is enough, file-backed storage covers an on-disk server, and Deploy on Kubernetes covers a single SurrealDB pod with SurrealKV on a persistent volume. Deployment models compares the options side by side.

For the flags accepted when starting a server, see the surreal db start reference.

Was this page helpful?