etcd هو مخزن مفتوح المصدر موزع قائم على المفتاح-القيمة، يُستخدم لحفظ المعلومات الهامة التي تحتاجها الأنظمة الموزعة للاستمرار في العمل وإدارتها. وعلى وجه الخصوص، فهو يدير بيانات التكوين وبيانات الحالة والبيانات الوصفية لمنصة Kubernetes، وهي منصة تنسيق الحاويات الشهيرة.
مثل كل أحمال التشغيل الموزعة، فإن أحمال التشغيل الموزعة في حاويات لها متطلبات إدارة معقدة تصبح أكثر تعقيدًا مع توسع حمل التشغيل. تعمل Kubernetes على تبسيط عملية إدارة أحمال التشغيل هذه من خلال تنسيق المهام مثل التهيئة والنشر واكتشاف الخدمة وموازنة الحمل وجدولة المهام ومراقبة السلامة عبر كل المجموعات التي يمكن تشغيلها على أجهزة متعددة في مواقع متعددة.
ولكن لتحقيق هذا التنسيق، تحتاج Kubernetes إلى مخزن بيانات يوفر مصدرًا واحدًا ومتسقًا للحقيقة حول حالة النظام - كل مجموعاتها وحاوياتها ومثيلات التطبيقات داخلها - في أي وقت معين. etcd هو مخزن البيانات المستخدم لإنشاء هذه النسخة من الحقيقة والحفاظ عليها.
تؤدي etcd دورًا مماثلاً لمنصة Cloud Foundry - المنصة كخدمة (PaaS) متعددة السحابة المفتوحة المصدر - وهو خيار قابل للتطبيق لتنسيق النظام والبيانات الوصفية المهمة عبر مجموعات أي تطبيق موزع. يأتي اسم "etcd" من اصطلاح التسمية داخل بنية دليل Linux: في UNIX، توجد كل ملفات تكوين النظام لنظام واحد في مجلد يسمى "/etc;"؛ ويرمز الحرف "d" إلى "distributed (الموزعة)".
ليس بالأمر الهين أن تكون بمثابة أساس البيانات التي تحافظ على تشغيل حمل التشغيل الموزع. لكن etcd مبني لهذه المهمة، فهو مصمم من الألف إلى الياء ليتمتع بالخصائص التالية:
لاحظ أنه نظرًا لأن أداء etcd يعتمد اعتمادًا كبيرًا على سرعة قرص التخزين، يوصى بشدة باستخدام محركات أقراص الحالة الصلبة (SSDs) في بيئات etcd.
بُني etcd على خوارزمية توافق Raft لضمان اتساق مخزن البيانات عبر كل العقد في مجموعة - وهو أمر أساسي لنظام موزع مُتحمّل للأعطال.
تحقق خوارزمية Raft هذا الاتساق عبر عقدة قائدة منتخبة تدير النسخ المتماثل للعقد الأخرى في المجموعة التي تسمى التابعين. يقبل القائد الطلبات من العملاء، ثم يُرسلها إلى العقد التابعة. وبمجرد أن يتأكد القائد من أن غالبية العقد التابعة قد خزنت كل طلب جديد كإدخال سجل، فإنه يطبق الإدخال على آلة الحالة المحلية الخاصة به ويعيد نتيجة هذا التنفيذ - "كتابة" - إلى العميل. إذا تعطل التابعون أو فُقدت حزم الشبكة، فسيُعيد القائد المحاولة حتى تُخزن كل العقد التابعة كل إدخالات السجل بشكل متسق.
إذا فشلت عقدة تابعة في تلقي رسالة من القائد خلال فترة زمنية محددة، فسيتم إجراء انتخابات لاختيار قائد جديد. يعلن التابع عن نفسه كمرشح، ويصوت المتابعون الآخرون له أو لأي عقدة أخرى بناءً على توافرها. وبمجرد انتخاب القائد الجديد، يبدأ في إدارة النسخ المتماثل، وتكرار العملية نفسها. تمكّن هذه العملية جميع عُقد etcd من الاحتفاظ بنسخ متوفرة بشكل كبير ومتسقة ومتكررة باستمرار من مخزن البيانات.
تم تضمين etcd ضمن مكونات Kubernetes الأساسية ويعمل كمخزن أساسي للقيمة الرئيسية لإنشاء مجموعة Kubernetes فعالة ومتسامحة مع الأخطاء. يخزن خادم Kubernetes API بيانات حالة كل مجموعة في etcd. تستخدم Kubernetes وظيفة «watch» الخاصة بقاعدة بيانات etcd لمراقبة هذه البيانات وإعادة تكوين نفسها عند حدوث تغييرات. حيث تقوم وظيفة «watch» بتخزين القيم التي تمثل الحالة الفعلية والمثالية للمجموعة ويمكنها بدء الاستجابة عند حدوق تغيير.
للحصول على نظرة عامة رفيعة المستوى حول كيفية إدارة Kubernetes للمجموعات والخدمات والعقدة العاملة، يُرجى مشاهدة الفيديو "شرح Kubernetes":
تم إنشاء قاعدة بيانات ETCD بواسطة الفريق المسؤول عن تصميم CoreOS Linux، وهو نظام تشغيل حاوية واسع الاستخدام يمكن تشغيله وإدارته بكفاءة على نطاق واسع. فقد صمموا في الأصل قاعدة بيانات ETCD على نظام Raft لتنسيق نسخ متعددة من حاوية Linux في وقت واحد، وذلك لضمان عدم انقطاع العمل.
في ديسمبر 2018، تبرع الفريق بقاعدة بيانات ETCD لصالح مؤسسة Cloud Native Computing Foundation (CNCF)، وهي مؤسسة محايدة غير ربحية تحافظ على مصدر الرمز الخاصة بقاعدة بيانات ETCD، والنطاقات، والخدمات المستضافة، والبنية التحتية السحابية، وغيرها من أصول المشروع كموارد مفتوحة المصدر لمجتمع التطوير السحابي القائم على الحاويات. تم دمج CoreOS مع Red Hat.
تم تطوير قواعد بيانات أخرى لإدارة معلومات الإحداثيات بين مجموعات التطبيقات الموزعة. النوعان الأكثر شيوعًا مقارنةً بقاعدة بيانات ETCD هما ZooKeeper وConsul.
تم إنشاء ZooKeeper في الأصل لتنسيق بيانات التكوين والبيانات الوصفية عبر مجموعات Apache Hadoop. (Apache Hadoop هو إطار عمل مفتوح المصدر، أو مجموعة من التطبيقات، لتخزين كميات كبيرة من البيانات ومعالجتها على مجموعات من الأجهزة التجارية.) ZooKeeper أقدم من قاعدة بيانات ETCD، وقد استفاد تصميم قاعدة بيانات ETCD من التعامل مع ZooKeeper.
ونتيجة لذلك، تتمتع قاعدة بيانات ETCD بقدرات مهمة التي لا تتمتع بها ZooKeeper. على سبيل المثال، على عكس ZooKeeper، يمكن لقاعدة بيانات ETCD القيام بما يلي:
Consul هي خدمة لشبكات الأنظمة الموزعة، توجد قدراتها في المنتصف بين قدرات قاعدة بيانات ETCD وخدمة Istio لـ Kubernetes. مثلها مثل قاعدة بيانات ETCD، تتضمن Consul مخزن مفتاح-قيمة موزعًا استنادًا إلى خوارزمية Raft وتدعم واجهة برمجة تطبيقات HTTP/JSON. وكلاهما يوفر تكوينًا ديناميكيًا لعضوية المجموعة، لكن Consul لا تتحكم بالفعالية نفسها في الإصدارات المتزامنة المتعددة لبيانات التكوين، كما أن الحد الأقصى لحجم قاعدة البيانات التي سيعمل معها بشكل موثوق أصغر.
مثلها مثل قاعدة بيانات ETCD، فإن Redis هي أداة مفتوحة المصدر، بيد أن وظائفهما الأساسية مختلفة.
Redis هو مخزن بيانات في الذاكرة ويمكن أن يعمل كقاعدة بيانات أو ذاكرة تخزين مؤقت أو وسيط رسائل. يدعم Redis مجموعة متنوعة من أنواع البيانات والهياكل أكثر مقارنة بقاعدة بيانات ETCD، ويتميز بأداء قراءة/كتابة أسرع بكثير.
ومع ذلك لدى قاعدة بيانات ETCD قدرة فائقة على تحمّل الأخطاء وقدرات أقوى على استمرار توافر البيانات، والأهم من ذلك أن قاعدة بيانات ETCD تُبقي جميع البيانات المخزنة على القرص، ما يعني التضحية بالسرعة مقابل موثوقية أكبر واتساق مضمون. ولهذه الأسباب، فإن Redis أكثر ملاءمة للعمل كنظام تخزين مؤقت للذاكرة الموزعة من أجل تخزين معلومات تكوين النظام وتوزيعها.
تمكَّن من تبسيط الوصول إلى البيانات وأتمتة إدارة البيانات. اكتشف قوة دمج استراتيجية مستودع بحيرة البيانات في بنية بياناتك، بما في ذلك تحسين التكاليف لأعباء العمل وتوسيع نطاق الذكاء الاصطناعي والتحليلات لديك، باستخدام جميع بياناتك وفي أي مكان.
استكشف دليل قائد البيانات لإنشاء مؤسسة قائمة على البيانات وتعزيز ميزة الأعمال.
قم بالوصول إلى دليلنا لمعرفة كيفية استخدام قواعد البيانات المناسبة للتطبيقات والتحليلات و الذكاء الاصطناعي التوليدي.
تعرَّف على مدى إسهام نهج مستودع بحيرة البيانات المفتوحة في تقديم بيانات موثوق بها وتنفيذ مشاريع التحليلات والذكاء الاصطناعي بشكل أسرع.
احصل على رؤى فريدة حول تطور مشهد الحلول في مجال التحليلات وذكاء الأعمال (ABI)، مع تسليط الضوء على النتائج الرئيسية، والافتراضات، والتوصيات لقادة البيانات والتحليلات.
تعرَّف على أهمية الذكاء الاصطناعي المدعوم بالبيانات ودمج البيانات في تحضير البيانات المنظمة وغير المنظمة وتسريع نتائج الذكاء الاصطناعي.
استخدم حلول قاعدة بيانات IBM لتلبية احتياجات أحمال التشغيل المتنوعة عبر السحابة الهجينة.
اكتشف، IBM Db2، وهي قاعدة بيانات علائقية توفر مستوى عالٍ من الأداء وقابلية التوسع والموثوقية لتخزين وإدارة البيانات المنظمة. وتتوفر كنظام SaaS على IBM Cloud أو للاستضافة الذاتية.
استفِد من قيمة بيانات المؤسسة مع IBM Consulting لبناء مؤسسة تعتمد على الرؤى لتحقيق ميزة تنافسية في الأعمال.