HBase Archiالمادة: حالات الاستخدام والمكونات ونموذج البيانات
⚡ ملخص ذكي
تم بناء بنية HBase من أربعة مكونات منسقة - HMaster وخوادم المنطقة وZooKeeper وHDFS - التي تخزن البيانات في نموذج موجه نحو الأعمدة، وتقسمها إلى مناطق، وتخدم عمليات القراءة والكتابة العشوائية منخفضة زمن الوصول.

أباتشي إتش بيس هي قاعدة بيانات موزعة وموجهة نحو الأعمدة من نوع NoSQL تعمل على... Hadoop ونظام ملفات هادوب الموزع (HDFS). يجمع تصميمه بين خادم رئيسي منسق وخوادم إقليمية وZooKeeper لتخزين جداول كبيرة جدًا وتقديم عمليات قراءة وكتابة عشوائية سريعة.
HBase Archiالبنية ومكوناتها المهمة
تتكون بنية HBase من المكونات الرئيسية التالية:
- HMaster
- HRegionServer
- المناطق
- حارس حديقة الحيوان
- HDFS
فيما يلي بنية مفصلة لـ HBase مع مكوناتها، كما هو موضح في الرسم التخطيطي.
HMaster
يُعدّ HMaster في HBase تطبيقًا لخادم رئيسي ضمن بنية HBase. يعمل كعامل مراقبة لرصد جميع مثيلات خادم المنطقة الموجودة في المجموعة، كما يعمل كواجهة لجميع تغييرات البيانات الوصفية. في بيئة مجموعة موزعة، يعمل الخادم الرئيسي على NameNode، ويُشغّل عدة عمليات في الخلفية.
فيما يلي الأدوار المهمة التي يؤديها HMaster في HBase:
- يلعب دورًا حيويًا من حيث الأداء وصيانة العقد في المجموعة.
- يوفر HMaster الأداء الإداري ويوزع الخدمات على خوادم المنطقة المختلفة.
- يقوم HMaster بتعيين مناطق لخوادم المنطقة.
- يتحكم HMaster في موازنة الأحمال والتحويل التلقائي للتعامل مع الحمل على العقد الموجودة في المجموعة.
- عندما يرغب العميل في تغيير أي مخطط أو أي عملية بيانات وصفية، فإن HMaster يتحمل مسؤولية هذه العمليات.
بعض الطرق التي توفرها واجهة HMaster هي في الأساس طرق موجهة نحو البيانات الوصفية:
- الجدول (إنشاء الجدول، إزالة الجدول، تمكين، تعطيل)
- ColumnFamily (إضافة عمود، تعديل العمود)
- المنطقة (نقل، تعيين)
يتواصل العميل بشكل ثنائي الاتجاه مع كل من HMaster وZooKeeper. ولعمليات القراءة والكتابة، يتصل مباشرةً بخوادم HRegion. يقوم HMaster بتخصيص المناطق لخوادم المناطق، ويتحقق بدوره من حالة سلامة هذه الخوادم.
في البنية الكاملة، لدينا خوادم إقليمية متعددة. يوجد سجل HLog في الخوادم الإقليمية، والذي يخزن جميع ملفات السجل.
خوادم منطقة HBase
عندما يتلقى خادم منطقة HBase طلبات كتابة وقراءة من العميل، فإنه يُخصص الطلب لمنطقة محددة، حيث توجد عائلة الأعمدة الفعلية. يستطيع العميل الاتصال مباشرةً بخوادم HRegion؛ فلا حاجة إلى إذن HMaster إلزامي للتواصل معها. يحتاج العميل إلى مساعدة HMaster فقط عند الحاجة إلى عمليات متعلقة بتغييرات البيانات الوصفية والمخطط.
يُعدّ HRegionServer تطبيق خادم المناطق. وهو مسؤول عن خدمة وإدارة المناطق، أو البيانات الموجودة في مجموعة موزعة. تعمل خوادم المناطق على عُقد البيانات الموجودة في مجموعة Hadoop.
يستطيع برنامج HMaster الاتصال بالعديد من خوادم HRegion ويؤدي الوظائف التالية:
- استضافة وإدارة المناطق
- تقسيم المناطق تلقائيا
- معالجة طلبات القراءة والكتابة
- التواصل مع العميل مباشرة
مناطق HBase
تُعدّ مناطق H (HRegions) العناصر الأساسية لبناء مجموعة HBase. وهي تتألف من توزيع الجداول، وتتكون بدورها من عائلات الأعمدة. تحتوي المنطقة على عدة مخازن، مخزن لكل عائلة أعمدة. وتتكون بشكل رئيسي من عنصرين: مخزن الذاكرة (MemStore) وملف H (HFile).
حارس حديقة الحيوان
HBase حارس حديقة الحيوان هو خادم مراقبة مركزي يحتفظ بمعلومات التكوين ويوفر مزامنة موزعة. تعمل المزامنة الموزعة على تنسيق التطبيقات الموزعة التي تعمل عبر المجموعة، مما يوفر خدمات التنسيق بين العقد. إذا أراد العميل التواصل مع المناطق، فعليه أولاً الاتصال بـ ZooKeeper.
إنه مشروع مفتوح المصدر، ويقدم العديد من الخدمات المهمة.
الخدمات التي يقدمها ZooKeeper:
- يحتفظ بمعلومات التكوين
- يوفر المزامنة الموزعة
- يُنشئ اتصال العميل مع خوادم المنطقة
- يوفر عقدًا مؤقتة تمثل خوادم مناطق مختلفة.
- يسمح هذا للخادم الرئيسي باستخدام هذه العقد المؤقتة لاكتشاف الخوادم المتاحة في المجموعة.
- Tracفشل خادم ks وانقطاعات الشبكة
تقوم عقدة الخادم الرئيسي وعقدة خادم HBase التابعة (خوادم المنطقة) بتسجيل نفسها لدى ZooKeeper. يحتاج العميل إلى الوصول إلى إعدادات النصاب القانوني لـ ZooKeeper (ZK) للاتصال بالخادم الرئيسي وخوادم المنطقة.
أثناء تعطل العقد الموجودة في مجموعة HBase، يقوم نصاب ZooKeeper بتشغيل رسائل الخطأ ويبدأ في إصلاح العقد المعطلة.
HDFS
HDFS هو نظام Hadoop الموزع نظام الملفاتكما يوحي الاسم، يوفر هذا النظام بيئة تخزين موزعة، وهو نظام ملفات مصمم للعمل على أجهزة قياسية. يخزن كل ملف في عدة كتل، وللحفاظ على تحمل الأعطال، تُنسخ هذه الكتل عبر مجموعة Hadoop.
يوفر نظام ملفات Hadoop الموزع (HDFS) درجة عالية من تحمل الأعطال ويعمل على أجهزة رخيصة الثمن. من خلال إضافة عُقد إلى المجموعة وإجراء عمليات المعالجة والتخزين باستخدام هذه الأجهزة، يحصل العميل على نتائج أفضل مقارنةً بالإعداد الحالي.
هنا، يتم نسخ البيانات المخزنة في كل كتلة عبر 3 عقد، لذلك إذا تعطلت أي عقدة فلن يكون هناك فقدان للبيانات؛ فهي تحتوي على آلية نسخ احتياطي واستعادة مناسبة.
يتصل نظام ملفات HDFS بمكونات HBase ويخزن كمية كبيرة من البيانات بطريقة موزعة.
نموذج بيانات HBase
نموذج بيانات HBase عبارة عن مجموعة من المكونات تتألف من الجداول والصفوف ومجموعات الأعمدة والخلايا والأعمدة والإصدارات. تحتوي جداول HBase على مجموعات أعمدة وصفوف، مع تعريف العناصر كمفاتيح أساسية. يمثل العمود في جدول نموذج بيانات HBase سمة من سمات الكائنات.
يتكون نموذج بيانات HBase من العناصر التالية:
- مجموعة من الجداول
- يحتوي كل جدول على عائلات الأعمدة والصفوف
- يجب أن يحتوي كل جدول على عنصر مُعرَّف كمفتاح أساسي.
- يعمل مفتاح الصف كمفتاح أساسي في HBase.
- أي عملية وصول إلى جداول HBase تستخدم هذا المفتاح الأساسي.
- يمثل كل عمود موجود في HBase سمة تتوافق مع كائن.
حالات استخدام HBase
فيما يلي أمثلة على حالات استخدام HBase مع شرح مفصل للحل الذي يقدمه HBase لمختلف المشاكل التقنية.
| المشكلة بيان | الحلول |
| يواجه قطاع الاتصالات التحديات التقنية التالية: تخزين مليارات سجلات تفاصيل المكالمات (CDR) التي يتم إنشاؤها بواسطة مجال الاتصالات؛ وتوفير الوصول في الوقت الفعلي إلى سجلات تفاصيل المكالمات ومعلومات الفوترة للعملاء؛ وتوفير حل فعال من حيث التكلفة مقارنة بأنظمة قواعد البيانات التقليدية. | يتم استخدام HBase لتخزين مليارات الصفوف من سجلات المكالمات التفصيلية. إذا تمت إضافة 20 تيرابايت من البيانات شهريًا إلى قاعدة بيانات RDBMS الحالية، فسوف يتدهور الأداء. للتعامل مع كمية كبيرة من البيانات في حالة الاستخدام هذه، يعد HBase هو الحل الأفضل. يقوم HBase بإجراء استعلامات سريعة وعرض السجلات. |
| يُنتج القطاع المصرفي ملايين السجلات يومياً. إضافةً إلى ذلك، يحتاج هذا القطاع إلى حلول تحليلية قادرة على كشف الاحتيال في المعاملات المالية. | لتخزين ومعالجة وتحديث كميات هائلة من البيانات ولإجراء التحليلات، فإن الحل الأمثل هو دمج HBase مع العديد من مكونات نظام Hadoop البيئي. |
وبصرف النظر عن ذلك، يمكن استخدام HBase:
- كلما دعت الحاجة إلى تطبيقات تتطلب عمليات كتابة مكثفة.
- لإجراء تحليلات السجلات عبر الإنترنت وإنشاء تقارير الامتثال.
آلية التخزين في HBase
HBase هي قاعدة بيانات عمودية، وتُخزَّن البيانات في جداول. تُرتَّب الجداول حسب RowId. كما هو موضح أدناه، تحتوي HBase على RowId، وهو عبارة عن مجموعة من عائلات الأعمدة الموجودة في الجدول.
تتكون عائلات الأعمدة الموجودة في المخطط من أزواج مفتاح-قيمة. وبالتدقيق، نجد أن كل عائلة أعمدة تحتوي على عدة أعمدة. تُخزَّن قيم الأعمدة في ذاكرة القرص. ولكل خلية في الجدول بياناتها الوصفية الخاصة، مثل الطابع الزمني ومعلومات أخرى.
يظهر أدناه تخطيط التخزين الموجه بالأعمدة، مع مفاتيح الصفوف وعائلات الأعمدة والخلايا.
فيما يلي المصطلحات الرئيسية التي تمثل مخطط جدول HBase:
- الجدول: مجموعة الصفوف الموجودة.
- الصف: مجموعة من عائلات الأعمدة.
- عائلة الأعمدة: مجموعة من الأعمدة.
- العمود: مجموعة من أزواج المفاتيح والقيم.
- مساحة الاسم: مجموعة منطقيةping من الجداول.
- الخلية: مجموعة {الصف، العمود، الإصدار} التي تحدد تعريف الخلية بدقة في HBase.
المخازن الموجهة نحو الأعمدة مقابل المخازن الموجهة نحو الصف
تختلف أنظمة التخزين العمودية عن أنظمة التخزين الصفية في آلية التخزين. وكما هو معروف، تخزن النماذج العلائقية التقليدية البيانات بتنسيق قائم على الصفوف، أي على شكل صفوف من البيانات. أما أنظمة التخزين العمودية فتخزن جداول البيانات على شكل أعمدة ومجموعات أعمدة.
يوضح الجدول التالي بعض الاختلافات الرئيسية بين هذين المخزنين.
| قاعدة بيانات موجهة نحو العمود | قاعدة بيانات موجهة نحو الصفوف |
| يُستخدم عندما يتعلق الأمر بالمعالجة والتحليل، مثل المعالجة التحليلية عبر الإنترنت وتطبيقاتها. | تستخدم معالجة المعاملات عبر الإنترنت، مثل المجالات المصرفية والمالية، هذا النهج. |
| إن كمية البيانات التي يمكن تخزينها في هذا النموذج كبيرة جدًا، من حيث البيتابايت. | وهي مصممة لعدد صغير من الصفوف والأعمدة. |
شرح قراءة وكتابة بيانات HBase
يوضح الرسم التخطيطي أدناه عمليات القراءة والكتابة من العميل إلى ملف HFile.
الخطوة 1) يريد العميل كتابة البيانات، وبالتالي يتواصل أولاً مع خادم المنطقة ثم مع المناطق.
الخطوة 2) تتصل المنطقة بـ MemStore لتخزين البيانات المرتبطة بمجموعة الأعمدة.
الخطوة الثالثة: أولاً، تُخزَّن البيانات في ذاكرة التخزين المؤقت (MemStore)، حيث تُرتَّب، ثم تُنقل إلى ملف HFile. والسبب الرئيسي لاستخدام ذاكرة التخزين المؤقت هو تخزين البيانات في نظام ملفات موزَّع يعتمد على مفتاح الصف. تُوضع ذاكرة التخزين المؤقت في الذاكرة الرئيسية لخادم المنطقة، بينما تُكتب ملفات HFile في نظام ملفات Hadoop الموزع (HDFS).
الخطوة الرابعة) يريد العميل قراءة البيانات من المناطق.
الخطوة 5) وبدوره، يمكن للعميل الوصول مباشرة إلى MemStore ويمكنه طلب البيانات.
الخطوة السادسة) يتصل العميل بملفات HFiles للحصول على البيانات. يقوم العميل بجلب البيانات واسترجاعها.
يحتفظ مخزن الذاكرة (MemStore) بالتعديلات التي تُجرى على المخزن في الذاكرة. يوضح الجدول أدناه التسلسل الهرمي للكائنات في مناطق HBase، من الأعلى إلى الأسفل.
| طاولات | جدول HBase موجود في مجموعة HBase |
| المنطقة | المناطق للجداول المعروضة |
| المتجر | يخزن واحداً لكل عائلة أعمدة لكل منطقة في الجدول |
| ميمستور | يُستخدم MemStore لكل مخزن بيانات في كل منطقة من مناطق الجدول. يقوم هذا النظام بفرز البيانات قبل إرسالها إلى HFiles. ويؤدي الفرز إلى تحسين أداء الكتابة والقراءة. |
| ملف المتجر | StoreFiles لكل مخزن لكل منطقة للجدول |
| حظر | الكتل الموجودة داخل StoreFiles |
HBase مقابل HDFS
يعمل HBase على نظام ملفات Hadoop الموزع (HDFS) و Hadoop. وتتمثل بعض الاختلافات الرئيسية بين HDFS و HBase في عمليات معالجة البيانات.
| HBase | HDFS |
| عمليات ذات زمن انتقال منخفض | عمليات ذات زمن انتقال مرتفع |
| يقرأ ويكتب بشكل عشوائي | اكتب مرة واحدة، واقرأ مرات عديدة |
| الوصول إليها من خلال أوامر شلواجهة برمجة تطبيقات العميل في Java، REST، Avro، أو Thrift | يتم الوصول إليها بشكل أساسي من خلال MapReduce (MR) وظائف |
| يمكن تنفيذ كل من التخزين والمعالجة | مخصص فقط لمناطق التخزين |
تستخدم بعض تطبيقات تكنولوجيا المعلومات الصناعية النموذجية عمليات HBase جنبًا إلى جنب مع Hadoop. تشمل هذه التطبيقات بيانات سوق الأوراق المالية وبيانات الخدمات المصرفية عبر الإنترنت، حيث يُعد HBase الحل الأمثل. بمجرد أن تصبح مجموعتك جاهزة، يمكنك قراءة وكتابة البيانات في HBase or قم بتثبيت HBase على عقدة جديدة.



