Docs
Core Concepts

Snapshots & WAL

How Silos stores durable database state as compressed snapshots and write-ahead-log segments in object storage.

Silos separates a database's durable state from the compute that serves it. The durable state lives entirely in object storage as two things: snapshots and WAL segments. This is the foundation everything else is built on — instant provisioning, scale-to-zero, branching, and edge replicas all follow from it.

Snapshots

A snapshot is a compressed, point-in-time image of a database's state — its schema, rows, and indexes. Snapshots are stored in S3-compatible object storage and encrypted at rest. When a database needs to materialize, the runtime loads the latest snapshot as its starting point.

The write-ahead log (WAL)

PostgreSQL records every change to a database in its write-ahead log before applying it. Silos persists those WAL segments to object storage alongside the snapshots. The WAL is the running record of everything that happened after the last snapshot.

How a database is reconstructed

Materializing a database means rebuilding its current state from these two pieces:

Load the latest snapshot

The runtime fetches the most recent snapshot from object storage — the bulk of the state in one compressed image.

Replay newer WAL

Any WAL segments written after that snapshot are replayed on top, bringing the database fully up to date.

Serve queries

The database is now current and serves queries against the real PostgreSQL engine. New writes are appended to the WAL and persisted back to storage.

Why this design matters

Storing state as snapshots + WAL in object storage is what gives Silos its characteristic properties:

  • Instant provisioning — creating a database is creating metadata and storage, not booting a server.
  • Scale to zero — the runtime can spin down because the durable state is safe in storage; see Scale to zero.
  • Branching — a branch is a new pointer into the same snapshots, diverging only via its own WAL.
  • Edge replicas — a replica hydrates from a snapshot and stays current by following the WAL; see Regions & replicas.

Object storage is encrypted at rest and compressed. For the security details of how durable state is protected, see Security.

Next steps

On this page