Double-écrivez vers l'ancienne et la nouvelle, backfillez l'historique en arrière-plan, utilisez le CDC pour rattraper la fin, vérifiez avec des shadow reads, puis basculez les lectures atomiquement — avec un chemin de rollback à chaque étape. Vous ne coupez jamais l'application ; vous faites tourner les deux bases de données en parallèle jusqu'à ce que la nouvelle soit prouvée identique, puis vous basculez.
Architecture
┌── 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)
