Schreibe doppelt in Alt und Neu, backfille die Historie im Hintergrund, nutze CDC, um den Rest aufzuholen, verifiziere mit Shadow Reads, dann flippe die Reads atomar - mit einem Rollback-Pfad bei jedem Schritt. Du nimmst die App nie offline; du betreibst beide Datenbanken parallel, bis die neue nachweislich identisch ist, und schaltest dann um.
Architektur
┌── 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)
