Docs
Introduction

How it works

The WASM Postgres runtime, snapshots and WAL in object storage, and how a query brings a database to life.

Silos separates a database's durable state from the compute that serves it. That separation is what makes instant provisioning, scale-to-zero, branching, and edge replicas possible.

The pieces

WASM Postgres runtime

A real PostgreSQL engine compiled to WebAssembly, executed in a sandboxed runtime — one isolated instance per database.

Object storage

Durable state lives as compressed snapshots plus WAL segments in S3-compatible storage, encrypted at rest.

Wire-protocol proxy

A proxy speaks the PostgreSQL frontend/backend protocol, authenticates the connection, and routes it to a runtime.

Orchestrator

Decides when to wake a database, where to place it, and when to scale it back to zero.

The lifecycle of a query

A client connects

Your client opens a standard Postgres connection to a Silos endpoint. The proxy performs the startup handshake and authenticates over SCRAM-SHA-256 with TLS 1.3.

The database materializes

If no runtime is currently serving that database, the orchestrator provisions one: it loads the latest snapshot and replays any newer WAL segments from object storage to reconstruct the current state. This is the cold start.

The query runs on real Postgres

The query executes against the genuine PostgreSQL engine — full SQL semantics, MVCC, transactions, the lot. Writes are appended to the WAL and persisted back to storage.

Idle databases scale to zero

When a database stops receiving traffic, its runtime spins down. The durable state stays safely in object storage, and you stop paying for compute until the next query.

Reads at the edge

For global reads, Silos can materialize on-demand replicas in regions near your users. A replica hydrates from storage and stays current by following the WAL. Each query can choose how fresh its data must be — see Consistency levels.

Edge replica materialization and global WAL streaming are rolling out. The mechanism is implemented; multi-region production availability is still maturing. See the Replication overview for current status.

The same engine in the browser

Because Postgres is compiled to WASM, the same engine can run client-side via PGLite. You can prototype a schema and run queries entirely in a browser tab, then deploy that schema to a Silos database with no engine swap. See Browser & PGLite.

On this page