Why Zero-Downtime Matters (and When It Doesn't)
Most production databases outlive three generations of application code. Before you invest in zero-downtime machinery, ask whether you actually need…
A practical walk-through of the techniques that let you reshape a production database while the application keeps serving traffic. We cover when zero-downtime actually earns its complexity and when a scheduled window is the right answer, then work through the expand–contract pattern, dual-writing, and large-scale backfills with real Postgres examples. Aimed at developers who've been handed a growing schema and a promise of ninety-nine point nine.
Most production databases outlive three generations of application code. Before you invest in zero-downtime machinery, ask whether you actually need…
Expand the schema additively. Deploy code that tolerates both shapes. Backfill. Flip the reads. Contract the schema. Four phases, clear rules.
Writing to both shapes during the transition window is how you keep reads consistent without a lock. The failure modes to watch for.
A 500-million-row backfill is not "a big UPDATE". It's a job that has to run for days, pause gracefully, and resume from where it stopped.