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.