Zero-Downtime Data Migration: Dual-Write & Backfill Lab
Interactive expand-contract database migration simulator: watch dual-writes, a live backfill job and two competing consistency strategies (optimistic CAS vs blind overwrite) migrate 160 records from an old store to a new one, with a real race-condition data-loss bug you can trigger and see.
Mobile and web backends rarely migrate a database in one atomic step — instead they run the "expand–contract" pattern: add the new store, dual-write to both, backfill the history, verify, then cut over. This simulator renders 160 live records as two grids of instanced cubes — an old store and a new one — and runs a real backfill worker between them while simulated traffic keeps writing. Switch between an optimistic compare-and-swap backfill strategy, which self-heals by retrying any record a write raced against, and a naive blind-overwrite strategy, which silently loses the newer value and flashes a real conflict. Tune the write rate and backfill rate to open or close the race window and watch the consistency-lag and conflict counters respond live.
Interactive expand-contract database migration simulator: watch dual-writes and a live backfill job move 160 records from an old store to a new one, then compare an optimistic CAS strategy against a naive blind-overwrite strategy that silently loses data in a race condition.
3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install