Dual-write ke lama dan baharu, backfill sejarah di latar belakang, guna CDC untuk mengejar ekor, sahkan dengan shadow read, kemudian tukar bacaan secara atomik — dengan laluan rollback pada setiap langkah. Anda tidak pernah menutup app; anda menjalankan kedua-dua database secara selari sehingga yang baharu terbukti identikal, kemudian cutover.
Seni bina
┌── write ──▶ OLD DB (source of truth) ──CDC (Debezium)──┐
App ───┤ ▼
└── write ──▶ NEW DB ◀──── backfill job (historical rows)
│
shadow reads (compare OLD vs NEW) ─▶ diff metrics ─▶ atomic cutover ─▶ NEW is truth
(flip flag; rollback = flip back)
