اكتب كتابة مزدوجة إلى القديمة والجديدة، واملأ التاريخ في الخلفية (backfill)، واستخدم CDC للحاق بالذيل، وتحقّق بقراءات ظلّية (shadow reads)، ثم اقلب القراءات ذرّياً — مع مسار تراجع (rollback) في كل خطوة. لا توقِف التطبيق أبداً؛ تُشغّل قاعدتَي البيانات بالتوازي حتى تثبت الجديدة أنها مطابقة تماماً، ثم تحوّل.
البنية المعمارية
text
┌── 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)
