مِخبارMIKHBAR
الويب

كيف نجحت Cloudflare في توسيع قاعدة بيانات D1 لدعم الملايين

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

كيف نجحت Cloudflare في توسيع قاعدة بيانات D1 لدعم الملايين

تطور النماذج المعمارية والتحول نحو القواعد الصغيرة

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

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

كيف نجحت Cloudflare في توسيع قاعدة بيانات D1 لدعم الملايين
صورة مرتبطة بالخبر من Cloudflare Blog · المصدر: Cloudflare Blog

التحدي الهندسي لطبقة التحكم واستراتيجية التوسع

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

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

كيف نجحت Cloudflare في توسيع قاعدة بيانات D1 لدعم الملايين
صورة مرتبطة بالخبر من Cloudflare Blog · المصدر: Cloudflare Blog

المكونات الأساسية وتوزيع المهام بين المستويات

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

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

كيف نجحت Cloudflare في توسيع قاعدة بيانات D1 لدعم الملايين
صورة مرتبطة بالخبر من Cloudflare Blog · المصدر: Cloudflare Blog

المبادئ التوجيهية لبناء المنصات القابلة للتوسع

شاركت الشركة مجموعة من المبادئ التوجيهية المستفادة من عملية التطوير لمساعدة أي مطور يبني أنظمته فوق المنصة. تتضمن هذه المبادئ تصميم العمليات مع وضع احتمالات الفشل وقابلية إعادة التنفيذ في الحسبان، لضمان تصحيح النظام لنفسه واستمراره في العمل عند وقوع الأعطال.

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

كيف نجحت Cloudflare في توسيع قاعدة بيانات D1 لدعم الملايين
صورة مرتبطة بالخبر من Cloudflare Blog · المصدر: Cloudflare Blog

المصادر

  • Cloudflare BlogUnder the hood, off the hot path: how D1 scales to millions of databases

تابع التسلسل الزمني

تغطية الكيانات المرتبطة