GitHub تكشف عن بنية تخزين Git محسّنة للتطوير عالي الحجم

كشفت GitHub عن بنية تخزين Git جديدة مصممة لمعالجة آلاف عمليات الكتابة في الثانية مع الحفاظ على زمن استجابة منخفض لعمليات القراءة. تدعم هذه البنية ما يصل إلى 5000 وكيل متزامن يدفعون 7200 تحديث في الثانية إلى مستودع واحد.
أُعلن عن البنية خلال فعالية GitHub Universe، وهي تهدف إلى تسهيل التطوير الوكي لملايين المطورين. طُوّرت بالتوازي مع العمليات الجارية لـ GitHub، بما يضمن الحد الأدنى من التعطيل أثناء الانتقال.
على مدى العام الماضي، غيّر صعود الوكلاء ديناميكيات المستودعات المزدحمة على GitHub. وفي نقاشات سابقة، حددت GitHub مبدأين رئيسيين لهذه البنية: تقليل التنسيق وفصل التخزين عن موارد الحوسبة.
تشدد البنية على أن تحديثات المراجع وحدها تتطلب اتفاقاً، ما يسمح لمكونات مختلفة من بنية Git التحتية بالتوسع بشكل مستقل. سيستمر المطورون في التعامل مع Git بالطريقة نفسها، مع الحفاظ على الحمايات القائمة والاستفادة من النظام الجديد.
التوسع من أجل تطوير الوكلاء
تركز استراتيجية التوسع لدى GitHub على بُعدين: التوسع الأفقي، الذي يستوعب عدة مطورين عبر مستودعات مختلفة، والتوسع العمودي، الذي يدعم العديد من المطورين العاملين على مستودع واحد. تشهد المستودعات الحالية ذات الحركة العالية عشرات عمليات الكتابة في الثانية، لكن مع تسارع التطوير المدفوع بالوكلاء، تتوقع GitHub التحول إلى معدلات نشاط أعلى ومستمرة.
مع تزايد الطلب على التطوير المدفوع بالوكلاء، تهدف GitHub إلى تعزيز بنيتها لدعم آلاف عمليات الكتابة في الثانية وعقد كتابة متعددة. لا يحسّن هذا النهج تحمل الأخطاء فحسب، بل يقلل أيضاً من زمن الاستجابة لعمليات الـ commit.
Project Rubicon
في مايو 2026، بدأت GitHub تصميم ما تسميه «Project Rubicon»، الذي يهدف إلى تلبية متطلبات التطوير عالي الحجم. تستخدم البنية Azure Blob Storage للبيانات الدائمة وخدمة سجل منسوخ جديدة باسم Ref-CAS لإدارة المراجع.
تُوجَّه الطلبات من عملاء Git عبر Spokes، التي تدير موازنة الحمل والتوجيه مع الحفاظ على العدالة بين المستأجرين. تُوجَّه حركة كل مستودع إلى مجموعة صغيرة من النسخ الافتراضية التي تخدم طلبات القراءة والكتابة، بما يضمن زمن استجابة منخفضاً وإدارة فعالة لذاكرة التخزين المؤقت.
عندما يشهد مستودع نشاطاً متزايداً، يمكن إضافة نسخ افتراضية إضافية لإدارة الحمل. تعمل عقد الضغط (compaction) في الخلفية بشكل منفصل عن النسخ الافتراضية لتحسين تخزين البيانات دون التأثير على الأداء.
تحسين إدارة حالة المراجع
يتيح تصميم البنية إدارة فعالة لحالات المراجع، وهي أمور حاسمة للحفاظ على معدل كتابة مرتفع. تتيح خدمة Ref-CAS عمليات كتابة شرطية لا تقفل إلا المراجع التي يجري تحديثها، ما يسمح بالمعالجة المتوازية لمعظم التحديثات.
يُثبَّت كل تحديث مرجعي عبر quorum، بما يضمن تسجيل تحديث واحد فقط للمرجع في كل مرة. تتيح هذه الطريقة لـ GitHub تحقيق عشرات الآلاف من العمليات في الثانية مع تقليل التأثير على أداء القراءة.
مع استمرار GitHub في تحسين بنيتها الجديدة، تهدف إلى تعزيز الموثوقية وقابلية التوسع بشكل عام، استعداداً لمستقبل التطوير المدفوع بالوكلاء.
المصدر: GitHub Blog