كيف نجحت Cloudflare في توسيع قاعدة بيانات D1 لدعم الملايين
تستعرض منصة Cloudflare الآليات الهندسية والتحسينات التي مكنت قاعدة بياناتها المدارة D1 من التوسع لدعم ملايين قواعد البيانات النشطة عبر الحافة.

تطور النماذج المعمارية والتحول نحو القواعد الصغيرة
تعتمد بنيات قواعد البيانات التقليدية غالباً على مجموعات بيانات ضخمة ومحدودة لكل تطبيق مع حلول لجمع الاتصالات. غير أن منصات التطوير المساعدة بالذكاء الاصطناعي وتطبيقات البرمجة الحديثة غيرت هذا النموذج بشكل جذري، دافعة نحو الاعتماد على قواعد بيانات متعددة وصغيرة، تخصيصاً لكل مستخدم أو بيئة عمل أو مستأجر. ويمكن الرجوع إلى Cloudflare Blog للاطلاع على التفاصيل الأصلية للمصدر.
يتماشى هذا النموذج تماماً مع قاعدة البيانات المدارة بدون سرفرات من Cloudflare والمعتمدة على نظام SQLite. تشير الأرقام الصادرة عن المدونة الرسمية إلى أن عدد قواعد البيانات في D1 قد تجاوز 5.5 مليون قاعدة، مسجلة نمواً هائلاً خلال العامين الماضيين، مما استدعى إعادة هندسة طبقة التحكم. ويمكن الرجوع إلى Workers KV للاطلاع على التفاصيل الأصلية للمصدر.

التحدي الهندسي لطبقة التحكم واستراتيجية التوسع
تمثل التحدي الرئيسي في كيفية توسيع طبقة التحكم لخدمة ملايين قواعد البيانات دون إبطاء عمليات الاستعلام عبر تمريرها عبر نقاط اختناقات مركزية. ولهذا الغرض، نفذت الشركة العديد من التعديلات المعمارية لدعم المنصات التي تنشئ ملايين قواعد البيانات، مع وجود مئات الآلاف منها بحالة نشطة في أي وقت.
أجرت الفرق الهندسية اختبارات تحميل دورية مقارنة بالأهداف المتوقعة للنمو لتوجيه جهود التحسين نحو الأجزاء الأكثر حرصاً في النظام. تخدم التطبيقات المبنية على منصة المطورين مجموعة واسعة من الاستخدامات بدءاً من التطبيقات الشاملة وصولاً إلى بوابات المستخدم الفردي والمنصات متعددة المستأجرين.

المكونات الأساسية وتوزيع المهام بين المستويات
تعتمد كل قاعدة بيانات في D1 من الناحية التقنية على كائن متين واحد من نوع SQLite، مما يسهل عملية إنتاج الملايين منها بسلاسة. ومن ناحية أخرى، تمر جميع طلبات واجهة برمجة التطبيقات عبر البوابة الطرفية لـ Cloudflare لتتم معالجتها بواسطة العمال المخصصين.
تعتمد عمليات واجهة برمجة تطبيقات الإنشاء والتعديل والحذف على أدوات تسريع قواعد البيانات المركزية، بينما يمكن للمستخدمين ربط قواعد البيانات بتطبيقاتهم البرمجية لضمان تمرير الطلبات مباشرة إلى الكائنات المتينة المعنية وإرجاع الردود بكفاءة عالية وسرعة فائقة.

المبادئ التوجيهية لبناء المنصات القابلة للتوسع
شاركت الشركة مجموعة من المبادئ التوجيهية المستفادة من عملية التطوير لمساعدة أي مطور يبني أنظمته فوق المنصة. تتضمن هذه المبادئ تصميم العمليات مع وضع احتمالات الفشل وقابلية إعادة التنفيذ في الحسبان، لضمان تصحيح النظام لنفسه واستمراره في العمل عند وقوع الأعطال.
كما يُنصح بتجنب المكونات المركزية أحادية المنطقة ضمن المسارات الحرجة لعمليات البيانات، والاعتماد على مخازن القيم والمفاتيح الموزعة عالمياً مثل الخدمات المتاحة للبيانات الوحرجة، فضلاً عن تحسين آليات الاتصال والاستعلام باستخدام النسخ المتماثلة للقراءة أينما وجد ذلك.

المصادر
- Cloudflare BlogUnder the hood, off the hot path: how D1 scales to millions of databases
تابع التسلسل الزمني





