OLD STORENEW STORE
Old record Consistent in new Stale in new Conflict just occurred
⚠ Couldn't load the 3D engineThree.js failed to load from the CDN. Check your connection and reload.

Zero-Downtime Data Migration: Dual-Write & Backfill Lab

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.