هندسة الأداء العالي 1 دقائق قراءة • Oct 24, 2026 • 31 views

معمارية قواعد البيانات: استراتيجيات التوسع والترحيل بدون توقف (Zero-Downtime)

🌐 متاح أيضاً باللغة: English
Read in English →
Ab
Abdallah Samy
Principal Systems Craftsperson • ErthDev Studio
كيف تنفذ ترقيات وتعديلات هيكلية ضخمة على جداول ضخمة تضم عشرات الملايين من الصفوف دون انقطاع خدمة واحدة أو قفل الاستعلامات؟ دليل نمط Expand and Contract.

تحدي قفل الجداول في بيئات الإنتاج الحية

تشغيل أمر مباشر مثل ALTER TABLE على جدول نشط يضم ملايين السجلات قد يؤدي إلى قفل الجدول بالكامل لدقائق أو ساعات، مما يتسبب في توقف فوري للواجهات واختناق مجمع الاتصالات (Connection Pool).

مراحل نمط التوسع والانكماش (Expand and Contract Pattern)

لضمان استمرارية الخدمة بنسبة 100%، نقسم كل تغيير هيكلي جذري إلى أربع خطوات مستقلة متتابعة:

  1. التوسع (Expand): إضافة العمود الجديد كحقل يقبل القيم الفارغة (Nullable) دون المساس بالعمود القديم، وتطبيق التعديل في ثوانٍ معدودة.
  2. الكتابة المزدوجة (Dual-Writing): تحديث شيفرة التطبيق لتكتب البيانات في العمودين القديم والجديد في آنٍ واحد.
  3. الترحيل التدريجي بالخلفية (Backfill): تشغيل مهمة خلفية مجدولة تنقل البيانات التاريخية في دفعات صغيرة (Batches) لا تثقل خادم قاعدة البيانات.
  4. الانكماش (Contract): تحويل القراءة بالكامل إلى الحقل الجديد، ثم إزالة العمود القديم بأمان بعد التأكد التام من استقرار الخدمة.
"في الأنظمة عالية الكثافة، المعمارية الموثوقة تعامل ترحيل البيانات كعملية هندسية تدريجية وليست كحدث لحظي مفاجئ."
مشاركة المقال
Ab

Abdallah Samy

Senior Software Architects & Craftspeople

Dedicated software craftspeople writing clean architecture, distributed systems, and humane software engineered to endure decades.

مقالات ذات صلة بالمعمارية

عرض كافة المقالات →
Oct 31, 2026 2 دقائق قراءة

كيف تخفض تكاليف تطوير البرمجيات بنسبة 40% دون التنازل عن الجودة والأمان؟

استراتيجيات هندسية حقيقية لتقليص نفقات البرمجة: التحديد الصارم لنطاق المنتج الأولي (MVP)، تفادي إعادة اختراع العجلة، والاعتماد على الأتمتة لمنع الأخطاء الباهظة.

Oct 31, 2026 3 دقائق قراءة

دليل غير التقنيين لاختيار الحزمة البرمجية (Tech Stack): كيف تتخذ قرارات تقنية ذكية تخدم أهداف العمل؟

لا تقع في فخ الموضات البرمجية الزائفة. كيف تختار بين النظم الموحدة والخدمات المصغرة، وما هي المعايير الحقيقية لقياس تكلفة الملكية الشاملة (TCO) وسهولة الصيانة والتوظيف؟