Skip to content

Shard a Live Database Without Downtime/Playground

Sharding Postgres while it is running

Click a part to change it, put something in front of it, or kill it. Turn the traffic up. Every number moves as you go; nothing is graded. Traffic is not in the brief; these rates are assumed to show one primary running out of room.

Running
Traffic
CLIENTUsersSERVICEApplicationserversDATABASEMonolithPostgresLOG / STREAMWrite audit logWORKERBackfilland catch-upSERVICEConnectionpoolersDATABASEShard hosts
Requests failing
0%
Backlog growing
none
Instances running
48

What goes through it

OperationOfferedOutcomeWaitUp
App reads40k/sAll served148 ms99.999%
App writes8,000/sAll served159 ms99.999%
Unmigrated writes3,000/sAll served116 ms99.95%
Change logbackground11k/sKeeping up––
Backfill copiesbackground2,000/sKeeping up––

Wait is the expected time a caller waits; Up is the share of time every part it waits on is running.

What your changes did

Nothing yet. This is the reference design: change something to see what it buys and costs.

At this traffic

Ask AI what your design does

AI

The numbers above come from a simple model. The AI reads your design, what you changed and these numbers, and explains where it holds and where it fails, citing how the engineers who built it did it. It can be wrong.