مزايا HBase وعيوبه واختناق الأداء

تتميز بنية HBase دائمًا بـ "نقطة فشل واحدة"، ولا توجد آلية معالجة استثناءات مرتبطة بها.

وهنا، سوف نتعرف على ما هي إيجابيات وسلبيات HBase واختناقات الأداء:

اختناقات الأداء في HBase

  • في أي بيئة إنتاج، يعمل HBase مع مجموعة تضم أكثر من 5000 عقدة، ويعمل Hmaster فقط كرئيس لجميع خوادم المنطقة التابعة. إذا تعطل Hmaster، فلا يمكن استعادته إلا بعد وقت طويل. على الرغم من أن العميل قادر على الاتصال بخادم المنطقة. من الممكن وجود سيد آخر ولكن سيكون واحدًا فقط نشطًا. سيستغرق تنشيط Hmaster الثاني وقتًا طويلاً في حالة تعطل Hmaster الرئيسي. لذلك، Hmaster هو عنق الزجاجة في الأداء.
  • في HBase، لا يمكننا تنفيذ أي عمليات ربط للبيانات وعمليات الانضمام، بالطبع يمكننا تنفيذ عمليات الانضمام باستخدام مابريديوس، الأمر الذي سيستغرق الكثير من الوقت في التصميم والتطوير. يصعب تنفيذ عمليات ربط الجداول في HBase. في بعض حالات الاستخدام، من المستحيل إنشاء عمليات ربط تتعلق بالجداول الموجودة في HBase
  • سيتطلب HBase تصميمًا جديدًا عندما نريد ترحيل البيانات من مصادر RDBMS الخارجية إلى خوادم HBase. ومع ذلك، فإن هذه العملية تستغرق الكثير من الوقت.
  • HBase صعب حقًا للاستعلام. قد نضطر إلى دمج HBase مع البعض SQL طبقات مثل أباتشي phoenix حيث يمكننا كتابة استعلامات لتشغيل البيانات في HBase. من الجيد حقًا أن يكون لديك Apache Phoenix أعلى HBase.
  • عيب آخر في HBase هو أنه لا يمكننا الحصول على أكثر من فهرسة واحدة في الجدول، حيث يعمل عمود مفتاح الصف فقط كمفتاح أساسي. لذلك يكون الأداء بطيئا عندما نرغب في البحث في أكثر من حقل أو غير مفتاح الصف. يمكننا التغلب على هذه المشكلة عن طريق كتابة كود MapReduce والتكامل معه أباتشي سولر ومع أباتشي فينيكس.
  • تحسينات بطيئة في الأمان للمستخدمين المختلفين للوصول إلى البيانات من HBase.
  • لا يدعم HBase المفاتيح الجزئية بشكل كامل
  • يسمح HBase بفرز افتراضي واحد فقط لكل جدول
  • من الصعب جدًا تخزين حجم كبير من الملفات الثنائية في HBase
  • سيؤدي تخزين HBase إلى الحد من الاستعلامات والفرز في الوقت الفعلي
  • البحث عن المفاتيح والبحث عن النطاق فيما يتعلق بالبحث في محتويات الجدول باستخدام القيم الأساسية، سيحد من الاستعلامات التي يتم تنفيذها في الوقت الفعلي
  • الفهرسة الافتراضية غير موجودة في HBase. يتعين على المبرمجين تحديد عدة أسطر من التعليمات البرمجية أو البرنامج النصي لأداء وظيفة الفهرسة في HBase
  • باهظة الثمن من حيث متطلبات الأجهزة وتخصيص كتل الذاكرة.
    • يجب تثبيت المزيد من الخوادم لبيئات المجموعة الموزعة (مثل كل خادم لـ NameNode وDataNodes و حارس حديقة الحيوانوخوادم المنطقة)
    • الأداء الحكيم يتطلب أجهزة ذات ذاكرة عالية
    • التكلفة والصيانة أعلى أيضًا

ميزة HBase والقيود واختناق الأداء

مزايا HBase

هنا، سوف نتعلم ما هي إيجابيات وفوائد HBase:

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

عيوب HBase

فيما يلي السلبيات/القيود المهمة لـ HBase:

  • لا يمكننا أن نتوقع استخدام HBase بالكامل كبديل للنماذج التقليدية. لا يمكن أن تدعم HBase بعض ميزات النماذج التقليدية
  • لا يمكن لـ HBase أداء وظائف مثل SQL. لا يدعم بنية SQL، لذلك لا يحتوي على أي مُحسِّن للاستعلام
  • HBase يستهلك الكثير من وحدة المعالجة المركزية (CPU) والذاكرة مع وصول متسلسل كبير للمدخلات أو المخرجات، في حين أن وظائف Map Reduce هي في المقام الأول مدخلات أو مخرجات مرتبطة بالذاكرة الثابتة. سيؤدي دمج HBase مع وظائف Map-reduce إلى فترات استجابة غير متوقعة
  • HBase متكامل مع الخنزير و خلية النحل وظائف تؤدي إلى بعض مشاكل الذاكرة الوقت على المجموعة
  • في بيئة مجموعة مشتركة، يتطلب الإعداد عددًا أقل من فتحات المهام لكل عقدة لتخصيص متطلبات وحدة المعالجة المركزية HBase