Κάντε dual-write σε παλιά και νέα, backfill την ιστορία στο παρασκήνιο, χρησιμοποιήστε CDC για να προλάβετε την ουρά, verify με shadow reads, μετά γυρίστε τα reads ατομικά — με ένα rollback path σε κάθε βήμα. Ποτέ δεν κατεβάζετε την app· τρέχετε και τις δύο βάσεις παράλληλα μέχρι η νέα να είναι αποδεδειγμένα πανομοιότυπη, μετά κάνετε cutover.
Αρχιτεκτονική
┌── 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)
