بنية HBase: حالات الاستخدام والمكونات ونموذج البيانات

بنية HBase ومكوناتها الهامة

تتكون بنية HBase بشكل أساسي من أربعة مكونات

  • HMaster
  • خادم المنطقة
  • المناطق
  • حارس حديقة الحيوان
  • HDFS

يوجد أدناه تصميم تفصيلي لـ HBase مع المكونات:

هندسة HBase
مخطط معمارية HBase

HMaster

HMaster في HBase هو تطبيق خادم رئيسي في بنية HBase. إنه بمثابة وكيل مراقبة لمراقبة جميع مثيلات خادم المنطقة الموجودة في المجموعة ويعمل كواجهة لجميع تغييرات البيانات التعريفية. في بيئة المجموعة الموزعة، يعمل Master على NameNode. يقوم السيد بتشغيل عدة سلاسل معلومات في الخلفية.

التاليwing هي أدوار مهمة يؤديها HMaster في HBase.

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

بعض الأساليب التي كشفت عنها واجهة HMaster هي في المقام الأول أساليب موجهة نحو البيانات الوصفية.

  • الجدول (إنشاء الجدول، إزالة الجدول، تمكين، تعطيل)
  • ColumnFamily (إضافة عمود، تعديل العمود)
  • المنطقة (نقل، تعيين)

يتواصل العميل بطريقة ثنائية الاتجاه مع كل من HMaster وZooKeeper. بالنسبة لعمليات القراءة والكتابة، فإنه يتصل مباشرة بخوادم HRegion. يقوم HMaster بتعيين مناطق لخوادم المنطقة وبالتالي التحقق من الحالة الصحية لخوادم المنطقة.

في البنية بأكملها، لدينا خوادم مناطق متعددة. Hlog موجود في خوادم المنطقة التي ستقوم بتخزين جميع ملفات السجل.

خوادم منطقة HBase

عندما يتلقى HBase Region Server طلبات الكتابة والقراءة من العميل، فإنه يقوم بتعيين الطلب إلى منطقة معينة، حيث توجد عائلة الأعمدة الفعلية. ومع ذلك، يمكن للعميل الاتصال مباشرة بخوادم HRegion، ليست هناك حاجة للحصول على إذن إلزامي من HMaster للعميل فيما يتعلق بالاتصال بخوادم HRegion. يحتاج العميل إلى مساعدة HMaster عندما تكون العمليات المتعلقة ببيانات التعريف وتغييرات المخطط مطلوبة.

HRegionServer هو تطبيق خادم المنطقة. وهي مسؤولة عن خدمة وإدارة المناطق أو البيانات الموجودة في المجموعة الموزعة. تعمل خوادم المنطقة على عقد البيانات الموجودة في مجموعة Hadoop.

يستطيع HMaster الاتصال بالعديد من خوادم HRegion وتنفيذ الخطوات التاليةwing الوظائف.

  • استضافة وإدارة المناطق
  • تقسيم المناطق تلقائيا
  • التعامل مع طلبات القراءة والكتابة
  • التواصل مع العميل مباشرة

مناطق HBase

مناطق HR هي عناصر البناء الأساسية لمجموعة HBase التي تتكون من توزيع الجداول وتتكون من عائلات الأعمدة. يحتوي على مخازن متعددة، واحد لكل عائلة عمود. ويتكون بشكل أساسي من مكونين هما Memstore وHfile.

حارس حديقة الحيوان

HBase Zookeeper هو خادم مراقبة مركزي يحافظ على معلومات التكوين ويوفر المزامنة الموزعة. المزامنة الموزعة هي الوصول إلى التطبيقات الموزعة التي تعمل عبر المجموعة مع مسؤولية توفير خدمات التنسيق بين العقد. إذا أراد العميل التواصل مع المناطق، فيجب على عميل الخادم التواصل مع ZooKeeper أولاً.

وهو مشروع مفتوح المصدر، ويقدم العديد من الخدمات الهامة.

الخدمات التي تقدمها حارس حديقة الحيوان

  • يحافظ على معلومات التكوين
  • يوفر المزامنة الموزعة
  • إنشاء اتصالات العملاء مع خوادم المنطقة
  • يوفر العقد المؤقتة التي تمثل خوادم المنطقة المختلفة
  • إمكانية استخدام الخوادم الرئيسية للعقد المؤقتة لاكتشاف الخوادم المتاحة في المجموعة
  • لتتبع فشل الخادم وأقسام الشبكة

سجلت العقد التابعة الرئيسية وHBase (خوادم المنطقة) نفسها لدى ZooKeeper. يحتاج العميل إلى الوصول إلى تكوين النصاب القانوني ZK(zookeeper) للاتصال بالخوادم الرئيسية والمنطقة.

أثناء فشل العقد الموجودة في مجموعة HBase، سيطلق ZKquoram رسائل خطأ، ويبدأ في إصلاح العقد الفاشلة.

HDFS

HDFS هو توزيع Hadoop نظام الملفاتكما يوحي الاسم فهو يوفر بيئة موزعة للتخزين وهو نظام ملفات مصمم بطريقة تعمل على الأجهزة السلعية. يقوم بتخزين كل ملف في كتل متعددة وللحفاظ على التسامح مع الخطأ، يتم نسخ الكتل عبر مجموعة Hadoop.

يوفر HDFS درجة عالية من التسامح مع الأخطاء ويعمل على أجهزة سلعية رخيصة الثمن. من خلال إضافة العقد إلى المجموعة وإجراء المعالجة والتخزين باستخدام الأجهزة الرخيصة، سيعطي العميل نتائج أفضل مقارنة بالنتائج الحالية.

هنا، يتم نسخ البيانات المخزنة في كل كتلة إلى 3 عقد، وفي حالة تعطل أي عقدة، لن يكون هناك فقدان للبيانات، وسيكون لها آلية مناسبة لاستعادة النسخ الاحتياطي.

HDFS تواصل مع مكونات HBase وقم بتخزين كمية كبيرة من البيانات بطريقة موزعة.

نموذج بيانات HBase

نموذج بيانات HBase عبارة عن مجموعة من المكونات التي تتكون من الجداول والصفوف وعائلات الأعمدة والخلايا والأعمدة والإصدارات. تحتوي جداول HBase على عائلات الأعمدة والصفوف التي تحتوي على عناصر محددة كمفاتيح أساسية. يمثل العمود في جدول نموذج بيانات HBase سمات الكائنات.

يتكون نموذج بيانات HBase من following عناصر،

  • مجموعة من الجداول
  • يحتوي كل جدول على عائلات الأعمدة والصفوف
  • يجب أن يحتوي كل جدول على عنصر محدد كمفتاح أساسي.
  • يعمل مفتاح الصف كمفتاح أساسي في HBase.
  • أي وصول إلى جداول HBase يستخدم هذا المفتاح الأساسي
  • يشير كل عمود موجود في HBase إلى السمة المقابلة للكائن

حالات استخدام HBase

فولوwing هي أمثلة لحالات استخدام HBase مع شرح تفصيلي للحل الذي توفره لمختلف المشاكل التقنية

المشكلة بيان الحلول
صناعة الاتصالات وجوه متابعةwing التحديات الفنية

  • تخزين المليارات من سجلات سجل CDR (التسجيل التفصيلي للمكالمات) التي تم إنشاؤها بواسطة مجال الاتصالات
  • توفير الوصول في الوقت الحقيقي إلى سجلات CDR ومعلومات الفواتير للعملاء
  • توفير حل فعال من حيث التكلفة مقارنة بأنظمة قواعد البيانات التقليدية
يتم استخدام HBase لتخزين مليارات الصفوف من سجلات المكالمات التفصيلية. إذا تمت إضافة 20 تيرابايت من البيانات شهريًا إلى قاعدة بيانات RDBMS الحالية، فسوف يتدهور الأداء. للتعامل مع كمية كبيرة من البيانات في حالة الاستخدام هذه، يعد HBase هو الحل الأفضل. يقوم HBase بإجراء استعلام سريع ويعرض السجلات.
الصناعة المصرفية يولد الملايين من السجلات على أساس يومي. بالإضافة إلى ذلك، تحتاج الصناعة المصرفية أيضًا إلى حل تحليلي يمكنه اكتشاف الاحتيال في المعاملات المالية لتخزين ومعالجة وتحديث كميات كبيرة من البيانات وإجراء التحليلات، الحل المثالي هو - HBase المتكامل مع العديد من Hadoop ecosمكونات النظام.

وبصرف النظر عن ذلك، يمكن استخدام HBase

  • عندما تكون هناك حاجة لكتابة التطبيقات الثقيلة.
  • إجراء تحليلات السجل عبر الإنترنت وإنشاء تقارير الامتثال.

آلية التخزين في HBase

HBase هي قاعدة بيانات موجهة نحو الأعمدة ويتم تخزين البيانات في الجداول. يتم فرز الجداول حسب RowId. كما هو موضح أدناه، يحتوي HBase على RowId، وهو عبارة عن مجموعة من عائلات الأعمدة المتعددة الموجودة في الجدول.

عائلات الأعمدة الموجودة في المخطط هي أزواج قيمة المفتاح. إذا لاحظنا بالتفصيل أن كل عائلة أعمدة تحتوي على أعداد متعددة من الأعمدة. قيم الأعمدة المخزنة في ذاكرة القرص. تحتوي كل خلية في الجدول على بيانات التعريف الخاصة بها مثل الطابع الزمني والمعلومات الأخرى.

آلية التخزين في HBase
آلية التخزين في HBase

القادمة إلى HBase فولوwing هي المصطلحات الأساسية التي تمثل مخطط الجدول

  • طاولة: مجموعة من الصفوف موجودة.
  • صف: مجموعة من عائلات الأعمدة.
  • عائلة العمود: مجموعة من الأعمدة.
  • عمود: مجموعة من أزواج القيمة الرئيسية.
  • مساحة الاسم: التجميع المنطقي للجداول.
  • الموبايل : يحدد الصف {row، column، version} بالضبط تعريف الخلية في HBase.

المخازن الموجهة نحو الأعمدة مقابل المخازن الموجهة نحو الصف

تختلف وحدات التخزين الموجهة نحو الأعمدة والصفوف في آلية التخزين الخاصة بها. كما نعلم جميعًا، تقوم النماذج العلائقية التقليدية بتخزين البيانات من حيث التنسيق القائم على الصف كما هو الحال فيما يتعلق بصفوف البيانات. تقوم وحدات التخزين الموجهة نحو الأعمدة بتخزين جداول البيانات من حيث الأعمدة وعائلات الأعمدة.

التاليwing يعطي الجدول بعض الاختلافات الرئيسية بين هذين المخزنين

قاعدة بيانات موجهة نحو العمود قاعدة بيانات موجهة نحو الصف
عندما يتعلق الأمر بالمعالجة والتحليلات، نستخدم هذا النهج. مثل المعالجة التحليلية عبر الإنترنت وتطبيقاتها. عملية المعاملات عبر الإنترنت مثل المجالات المصرفية والمالية تستخدم هذا النهج.
كمية البيانات التي يمكن تخزينها في هذا النموذج ضخمة جدًا من حيث البيتابايت وهي مصممة لعدد صغير من الصفوف والأعمدة.

شرح قراءة وكتابة بيانات HBase

يمكن عرض عمليات القراءة والكتابة من العميل إلى Hfile في الرسم البياني أدناه.

HBase قراءة وكتابة البيانات

الخطوة 1) يريد العميل كتابة البيانات ويقوم بدوره بالتواصل أولاً مع خادم المناطق ثم المناطق

الخطوة 2) المناطق التي تتصل بـ memstore للتخزين المرتبطة بعائلة الأعمدة

الخطوة 3) يتم تخزين البيانات أولاً في Memstore، حيث يتم فرز البيانات وبعد ذلك، يتم نقلها إلى HFile. السبب الرئيسي لاستخدام Memstore هو تخزين البيانات في نظام الملفات الموزعة بناءً على مفتاح الصف. سيتم وضع Memstore في الذاكرة الرئيسية لخادم المنطقة بينما تتم كتابة ملفات HF في HDFS.

الخطوة 4) يريد العميل قراءة البيانات من المناطق

الخطوة 5) وفي المقابل، يمكن للعميل الوصول مباشرة إلى متجر Mem، ويمكنه طلب البيانات.

الخطوة 6) العميل يقترب من HFiles للحصول على البيانات. يتم جلب البيانات واسترجاعها من قبل العميل.

يحتفظ Memstore بتعديلات في الذاكرة على المتجر. يظهر التسلسل الهرمي للكائنات في مناطق HBase من أعلى إلى أسفل في الجدول أدناه.

طاولة جدول HBase موجود في مجموعة HBase
بلد المنشأ المناطق للجداول المعروضة
متجر يقوم بتخزين كل ColumnFamily لكل منطقة في الجدول
ممستور
  • Memstore لكل مخزن لكل منطقة للطاولة
  • يقوم بفرز البيانات قبل مسحها في HFiles
  • سيزداد أداء الكتابة والقراءة بسبب الفرز
ملف المتجر StoreFiles لكل مخزن لكل منطقة للجدول
حظر الكتل الموجودة داخل StoreFiles

HBase مقابل HDFS

يعمل HBase أعلى HDFS و Hadoop. بعض الاختلافات الرئيسية بين HDFS وHBase تتعلق بعمليات البيانات ومعالجتها.

HBASE HDFS
عمليات الكمون المنخفض عمليات الكمون العالية
يقرأ ويكتب بشكل عشوائي اكتب مرة واحدة اقرأ عدة مرات
الوصول إليها من خلال أوامر شلأو واجهة برمجة تطبيقات العميل في Java أو REST أو Avro أو Thrift يتم الوصول إليه بشكل أساسي من خلال وظائف MR (Map تقليل).
يمكن تنفيذ كل من التخزين والمعالجة انها فقط لمناطق التخزين

تستخدم بعض التطبيقات الصناعية لتكنولوجيا المعلومات النموذجية عمليات HBase مع Hadoop. تشمل التطبيقات بيانات البورصة، وعمليات البيانات المصرفية عبر الإنترنت، ومعالجة Hbase هي أفضل طريقة للحل.

نبذة عامة

  • مكونات بنية HBase: HMaster، وHRegion Server، وHRegions، وZooKeeper، وHDFS
  • HMaster في HBase هو تطبيق خادم رئيسي في بنية HBase.
  • عندما يتلقى HBase Region Server طلبات الكتابة والقراءة من العميل، فإنه يقوم بتعيين الطلب إلى منطقة معينة، حيث توجد عائلة الأعمدة الفعلية
  • مناطق HR هي عناصر البناء الأساسية لمجموعة HBase التي تتكون من توزيع الجداول وتتكون من عائلات الأعمدة.
  • HBase Zookeeper هو خادم مراقبة مركزي يحافظ على معلومات التكوين ويوفر المزامنة الموزعة.
  • يوفر HDFS درجة عالية من التسامح مع الأخطاء ويعمل على أجهزة سلعية رخيصة الثمن.
  • نموذج بيانات HBase عبارة عن مجموعة من المكونات التي تتكون من الجداول والصفوف وعائلات الأعمدة والخلايا والأعمدة والإصدارات.
  • تختلف وحدات التخزين الموجهة نحو الأعمدة والصفوف في آلية التخزين الخاصة بها.