பழையது மற்றும் புதியதற்கு dual-write செய்யுங்கள், பின்னணியில் history-ஐ backfill செய்யுங்கள், tail-ஐ catch up செய்ய CDC பயன்படுத்துங்கள், shadow reads உடன் verify செய்யுங்கள், பிறகு reads-ஐ atomically flip செய்யுங்கள் — ஒவ்வொரு படியிலும் ஒரு rollback path உடன். நீங்கள் ஒருபோதும் app-ஐ கீழே இறக்குவதில்லை; புதியது நிரூபிக்கத்தக்க அளவில் identical ஆகும் வரை இரண்டு databases-ஐயும் parallel-ஆக இயக்கி, பிறகு cut over செய்கிறீர்கள்.
கட்டமைப்பு
┌── 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)
