قاعدة البيانات
قاعدة التعليمات البرمجية (أو قاعدة التعليمات البرمجية ) هي مجموعة من التعليمات البرمجية المصدرية التي يتم صيانتها كوحدة واحدة. وعادةً ما تُستخدم لبناء مكون برمجي واحد أو أكثر، بما في ذلك التطبيقات والمكتبات .
غالبًا ما تُخزَّن قاعدة الشفرة في مستودع تحكم المصدر لنظام التحكم في الإصدارات . قد يحتوي المستودع على ملفات مُولَّدة أثناء عملية البناء (وهي بالتالي ليست شفرة مصدرية)، ولكن عادةً ما تُستثنى هذه الملفات من المستودع، وبالتالي من قاعدة الشفرة. قد يحتوي المستودع على ملفات بيانات (مثل ملفات التكوين) اللازمة لبناء أو تشغيل البرنامج الناتج. مع ذلك، فإن التحكم في الإصدارات ليس شرطًا أساسيًا لقاعدة الشفرة. حتى نواة لينكس ظلت تُدار بدون تحكم في الإصدارات لسنوات عديدة. [ 1 ]
عند تطوير مكونات متعددة، يتم الاختيار إما بين الاحتفاظ بقاعدة بيانات منفصلة ومتميزة لكل مكون، أو دمج قواعد البيانات، ربما في قاعدة بيانات واحدة.قاعدة بيانات برمجية متجانسة . مع قاعدة بيانات برمجية متجانسة، غالبًا ما تكون التغييرات على مكونات متعددة (مثل إعادة هيكلتها ) أسهل وأكثر موثوقية. لكن هذا يتطلب مستودعًا أكبر، ويسهل تراكم الديون التقنية على نطاق واسع .أما مع قواعد البيانات البرمجية المنفصلة، فيكون كل مستودع أصغر حجمًا وأسهل إدارة. يفرض هذا الهيكل فصلًا منطقيًا بين المكونات، ولكنه قد يتطلب مزيدًا من التكامل بين قواعد البيانات البرمجية أثناء البناء والتشغيل، ويعقد التغييرات التي تشمل مكونات متعددة. [ 2 ] [ 3 ] [ 4 ]
أمثلة
تتضمن بعض قواعد البيانات الكبيرة بشكل ملحوظ ما يلي:
- جوجل : متجانس، مليار ملف، 9 ملايين ملف شفرة مصدرية، ملياري سطر من الشفرة المصدرية، 35 مليون عملية إيداع إجمالاً، 86 تيرابايت من الحجم الإجمالي (يناير 2015) [ 5 ]
- فيسبوك : متجانس، 8 جيجابايت (مستودع 54 جيجابايت بما في ذلك السجل، 2014)، [ 6 ] مئات الآلاف من الملفات (2014) [ 3 ]
- نواة لينكس : موزعة، [ 7 ] أكثر من 15 مليون سطر من التعليمات البرمجية ( حتى عام 2013)(ونواة النظام 3.10)
انظر أيضاً
مراجع
- ↑ "تاريخ موجز لـ Git" . git-scm.com . تم الاطلاع عليه بتاريخ 21 أكتوبر 2014 .
- ↑ ج. ديفيد مورغنثالر؛ ميشا غريدنيف؛ رالوكا ساوتشيوك وسانجاي بهانسالي (2012). "البحث عن ديون البناء: تجارب إدارة الديون التقنية في جوجل" . وقائع ورشة العمل الدولية الثالثة حول إدارة الديون التقنية . معهد مهندسي الكهرباء والإلكترونيات. الصفحات 1-6 . doi : 10.1109/MTD.2012.6225994 .
- 1 2 "توسيع نطاق استخدام Mercurial في فيسبوك" . كود فيسبوك . 2014-01-07 . تم الاطلاع عليه بتاريخ 29 أبريل 2016 .
- ↑ "Git - سير العمل الموزع" . git-scm.com . تم الاطلاع عليه بتاريخ 29 أبريل 2016 .
- ↑ بوتفين، راشيل؛ ليفنبرغ، جوش (24 يونيو 2016). "لماذا تخزن جوجل مليارات الأسطر من التعليمات البرمجية في مستودع واحد؟" . مجلة اتصالات رابطة الحوسبة الآلية . 59 (7): 78-87 . doi : 10.1145/2854146 .
- ↑ @feross (24 أبريل 2014). "مستودع جيت الخاص بفيسبوك يبلغ حجمه 54 جيجابايت" ( تغريدة ) . تم الاطلاع عليه في 29 أبريل 2016 - عبر تويتر .
- ↑ سبراول، لي؛ مون، جاي يون (5 نوفمبر 2000). "جوهر العمل الموزع: حالة نواة لينكس - مون - فيرست مونداي" . فيرست مونداي . 5 (11) . تاريخ الاسترجاع: 29 أبريل 2016 .
- شفرة المصدر
- التحكم في الإصدار
