Docs
Edge Database

Edge Database overview

How Silos materializes read replicas close to your users while writes forward to the primary.

Silos can serve reads from on-demand replicas that materialize in regions near your users, while all writes go to a single primary. The goal is local-latency reads globally without you running and operating a multi-region cluster by hand.

The model in one picture

  • A database has one primary that owns writes and is the source of truth.
  • When traffic arrives from a region without a local copy, Silos can materialize a replica there: it hydrates from object storage and then follows the write-ahead log (WAL) to stay current.
  • Reads are served from the nearest healthy replica (subject to the consistency level you choose). Writes are forwarded to the primary.
  • Routing to the nearest region is handled by GeoDNS.

Edge replicas and global WAL streaming are rolling out. The materialization, hydration, and consistency-routing mechanisms are implemented, but multi-region production availability — and end-to-end WAL streaming between regions — is still maturing. Don't depend on cross-region replicas for a production SLA yet. See the Replication overview for current status.

What's in this section

Why edge reads

A traditional single-region database makes distant users pay the round-trip to that region on every query. Putting a read replica close to the user removes that round-trip for reads, which is the dominant operation for most read-heavy apps. The trade-off is staleness: a replica may lag the primary slightly. Silos makes that trade-off explicit and tunable per query — see Consistency levels.

Regions

Silos is rolling out across a growing set of regions. A small canonical set (roughly ten regions across North America and Europe) is the live baseline, and the network is expanding toward a 100+ region target.

"100+ regions" is a rollout target, not the current live footprint. The console's region list reflects the platform's planned topology; for the regions available to a specific database, use the CLI or API rather than assuming global coverage.

Where to go next

On this page