Skip to main content

السؤال

يوفّر ClickHouse Keeper نظام التنسيق لتكرار البيانات وتنفيذ استعلامات DDL الموزعة. ويتوافق ClickHouse Keeper مع ZooKeeper، لكن قد لا يكون من الواضح لماذا ينبغي استخدام ClickHouse Keeper بدلًا من ZooKeeper. تستعرض هذه المقالة بعض مزايا ClickHouse Keeper.

الإجابة

تستخدم ClickHouse Cloud clickhouse-keeper على نطاق واسع عبر آلاف الخدمات في بيئة متعددة المستأجرين. لقد صممنا Keeper وطوّرناه لكي نستغني عن اعتمادنا على تنفيذ ZooKeeper المستند إلى Java. يعالج ClickHouse Keeper العديد من العيوب المعروفة في ZooKeeper، ويقدّم أيضًا تحسينات إضافية، منها:
  • تستهلك اللقطات والسجلات مساحة أقل بكثير على القرص بفضل الضغط الأفضل
  • لا يوجد حد افتراضي لحجم الحزمة وبيانات العقدة (بينما يبلغ 1 MB في ZooKeeper)
  • لا توجد مشكلة تجاوز سعة zxid (إذ يفرض ذلك إعادة التشغيل كل 2B معاملة في ZooKeeper)
  • تعافٍ أسرع بعد انقسامات الشبكة بفضل استخدام بروتوكول توافق موزّع أفضل
  • يستهلك ذاكرة أقل لنفس حجم البيانات
  • إعداده أسهل، ولا يتطلب تحديد حجم heap الخاص بـ JVM أو استخدام آلية garbage collection مخصصة
  • تتيح بعض الأوامر المخصصة في البروتوكول تنفيذ عمليات أسرع في جداول ReplicatedMergeTree
  • تغطية أوسع باختبارات Jepsen
بالإضافة إلى ذلك، لاحظ ClickHouse Support انخفاضًا كبيرًا في مشكلات العنقود لدى الجهات التي تستخدم clickhouse-keeper بدلًا من ZooKeeper. اطّلع على صفحة توثيق Keeper لمزيد من التفاصيل حول كيفية تهيئة ClickHouse Keeper وتشغيله.
آخر تعديل في ٣ يوليو ٢٠٢٦