هندسة HBase: كل ما تحتاج إلى معرفته [2022]
نشرت: 2021-01-06تنمو البيانات المنظمة وغير المهيكلة بشكل كبير ، وقد أثبت Apache Hadoop تميزه في التعامل مع مثل هذه البيانات الضخمة. لذلك ، اكتسب Apache Hadoop الكثير من الزخم في عالم البيانات الضخمة. ومع ذلك ، هناك قيود معينة على بنية HDFS الخاصة بـ Hadoop.
ينتج HDFS عمليات بزمن انتقال عالٍ ولا يمكنه التعامل مع حجم كبير من طلبات القراءة والكتابة في وقت واحد. يتمثل أحد القيود الأخرى في أن HDFS عبارة عن بنية تتم قراءتها مرة واحدة عدة مرات ، مما يعني أنه يتعين عليها إعادة كتابة ملف بالكامل لتغيير مجموعة البيانات. أدت هذه القيود المفروضة على بنية HDFS إلى زيادة الحاجة إلى بنية HBase .
جدول المحتويات
ما هو HBase؟
HBase هي بنية تخزين بيانات موجهة نحو الأعمدة يتم تشكيلها فوق HDFS للتغلب على قيودها. إنها تستفيد من الميزات الأساسية لـ HDFS وتبني عليها لتوفير قابلية التوسع من خلال التعامل مع حجم كبير من طلبات القراءة والكتابة في الوقت الفعلي. على الرغم من أن بنية HBase هي قاعدة بيانات NoSQL ، إلا أنها تسهل عملية الحفاظ على البيانات عن طريق توزيعها بالتساوي عبر الكتلة. هذا يجعل الوصول إلى البيانات وتعديلها في نموذج بيانات HBase سريعًا. تعرف على المزيد حول HBase.
ما هي مكونات نموذج بيانات HBase؟
نظرًا لأن نموذج بيانات HBase هو قاعدة بيانات NoSQL ، يمكن للمطورين قراءة البيانات وكتابتها بسهولة عند الحاجة ، مما يجعلها أسرع من بنية HDFS. يتكون من المكونات التالية:
1. جداول HBase : هندسة HBase موجهة نحو الأعمدة. ومن ثم يتم تخزين البيانات في جداول بتنسيق مستند إلى جدول.
2. RowKey : يتم تعيين RowKey لكل مجموعة من البيانات التي يتم تسجيلها. هذا يجعل من السهل البحث عن بيانات محددة في جداول HBase.

3. الأعمدة : الأعمدة هي السمات المختلفة لمجموعة البيانات. يمكن أن يحتوي كل RowKey على أعمدة غير محدودة.
4. عائلة العمود: عائلات الأعمدة عبارة عن مجموعة من عدة أعمدة. يتيح الطلب الفردي لقراءة عائلة الأعمدة الوصول إلى جميع الأعمدة في تلك المجموعة ، مما يجعل قراءة البيانات أسرع وأسهل.
5. مؤهلات العمود: تعتبر مؤهلات العمود مثل عناوين الأعمدة أو أسماء السمات في جدول عادي.
6. الخلية : هي مجموعة صف-عمود يتم تحديدها باستخدام مفتاح الصف ومؤهلات العمود.
7. الطابع الزمني : عندما يتم تخزين البيانات في نموذج بيانات HBase ، يتم تخزينها بطابع زمني.
قراءة: مكونات نظام Hadoop البيئي
ما هي مكونات بنية HBase؟
تتألف بنية HBase من ثلاثة مكونات رئيسية ، HMaster ، وخادم المنطقة ، و ZooKeeper.
1. HMaster
تعمل HMaster على غرار اسمها. إنه السيد الذي يعين المناطق إلى خادم المنطقة (التابع). تستخدم بنية HBase عملية مشاركة تلقائية للحفاظ على البيانات. في هذه العملية ، كلما أصبح جدول HBase طويلاً للغاية ، يتم توزيعه بواسطة النظام بمساعدة HMaster. تتضمن بعض المسؤوليات النموذجية لـ HMaster ما يلي:
- السيطرة على الفشل
- إدارة خادم المنطقة ومجموعة Hadoop
- التعامل مع عمليات DDL مثل إنشاء الجداول وحذفها
- إدارة التغييرات في عمليات البيانات الوصفية
- إدارة وتعيين المناطق إلى خوادم المنطقة
- قبول الطلبات وإرسالها إلى خادم المنطقة ذات الصلة
2. خادم المنطقة
خوادم المنطقة هي العقد النهائية التي تعالج جميع طلبات المستخدم. يتم دمج العديد من المناطق في خادم منطقة واحد. تحتوي هذه المناطق على جميع الصفوف الموجودة بين المفاتيح المحددة. تعتبر معالجة طلبات المستخدم مهمة معقدة يجب تنفيذها ، وبالتالي يتم تقسيم خوادم المنطقة إلى أربعة مكونات مختلفة لجعل إدارة الطلبات سلسة.
- سجل الكتابة إلى الأمام (WAL) : يتم إرفاق WAL بكل خادم منطقة ويقوم بتخزين نوع من البيانات المؤقتة التي لم يتم الالتزام بها بعد بمحرك الأقراص.
- Block Cache : إنها ذاكرة تخزين مؤقت لطلب القراءة ؛ يتم تخزين جميع البيانات التي تمت قراءتها مؤخرًا في ذاكرة التخزين المؤقت للكتل. البيانات التي لا يتم استخدامها غالبًا يتم إزالتها تلقائيًا من المخزون عندما تكون ممتلئة.
- MemStore : هي ذاكرة تخزين مؤقت للكتابة مسؤولة عن تخزين البيانات التي لم تتم كتابتها على القرص بعد.
- HFile : يخزن HFile جميع البيانات الفعلية بعد الالتزام.
3. ZooKeeper
يعمل ZooKeeper كجسر عبر اتصال بنية HBase . وهي مسؤولة عن تتبع جميع خوادم المنطقة والمناطق الموجودة داخلها. تعد مراقبة خوادم المنطقة و HMaster النشطة والتي فشلت أيضًا جزءًا من واجبات ZooKeeper. عندما تكتشف أن منطقة الخادم قد فشلت ، فإنها تطلق HMaster لاتخاذ الإجراءات اللازمة. من ناحية أخرى ، إذا فشل HMaster نفسه ، فإنه يقوم بتشغيل HMaster غير النشط الذي يصبح نشطًا بعد التنبيه. يحتاج كل مستخدم وحتى HMaster إلى المرور عبر ZooKeeper للوصول إلى خوادم المنطقة والبيانات الموجودة داخلها. يقوم ZooKeeper بتخزين ملف .Meta ، والذي يحتوي على قائمة بجميع خوادم المنطقة. تشمل مسؤوليات ZooKeeper ما يلي:

- إقامة اتصالات عبر مجموعة Hadoop
- الحفاظ على معلومات التكوين
- تتبع فشل خادم المنطقة و HMaster
- الحفاظ على معلومات خادم المنطقة
كيف يتم التعامل مع الطلبات في بنية HBase؟
الآن بما أننا نعرف المكونات الرئيسية لبنية HBase ووظائفها ، فلنتعمق في كيفية معالجة الطلبات في جميع أنحاء الهيكل.
1. ابدأ البحث في هندسة HBase
خطوات بدء البحث هي:
- يسترد المستخدم جدول التعريف من ZooKeeper ثم يطلب موقع خادم المنطقة ذي الصلة.
- ثم سيطلب المستخدم البيانات الدقيقة من خادم المنطقة بمساعدة RowKey.
2. آلية الكتابة في هندسة HBase
خطوات الكتابة في بنية HBase هي:
- سيتعين على العميل أولاً العثور على خادم المنطقة ثم موقع البيانات لتعديله. (هذه الخطوة مخصصة فقط لتحويل البيانات وليس لكتابة معلومات حديثة)
- يبدأ طلب الكتابة الفعلي في WAL ، حيث يكتب العميل البيانات.
- ينقل WAL البيانات إلى MemStore ويرسل إقرارًا إلى المستخدم.
- عندما يمتلئ MemStore بالبيانات ، فإنه يرسل البيانات إلى HFile ، حيث يتم تخزينها.
3. قراءة آلية في HBase العمارة
لقراءة أي بيانات ، سيتعين على المستخدم أولاً الوصول إلى خادم المنطقة ذي الصلة. بمجرد معرفة خادم المنطقة ، تتضمن العملية الأخرى:

- يتم إجراء الفحص الأول في ذاكرة التخزين المؤقت للقراءة ، وهي ذاكرة التخزين المؤقت للكتل.
- موقع الفحص التالي هو MemStore ، وهو ذاكرة التخزين المؤقت للكتابة.
- إذا لم يتم العثور على البيانات في ذاكرة التخزين المؤقت للكتل أو MemStore ، فسيقوم الماسح الضوئي باسترداد البيانات من HFile.
كيف تعمل استعادة البيانات في هندسة HBase؟
تقوم بنية Hbase بتقسيم البيانات من خلال الضغط وتقسيم المنطقة لتقليل حمل البيانات في الكتلة. ومع ذلك ، إذا كان هناك تعطل وكان هناك حاجة إلى الاسترداد ، فهذه هي الطريقة التي يتم بها:
- يقوم ZooKeeper بتشغيل HMaster عند حدوث فشل في الخادم.
- يقوم HMaster بتوزيع المناطق المعطلة و WAL على خوادم المنطقة النشطة.
- تعيد خوادم المنطقة هذه تنفيذ WAL وإنشاء MemStore.
- عندما تعيد جميع خوادم المنطقة تنفيذ WAL ، يتم استرداد جميع البيانات جنبًا إلى جنب مع عائلات الأعمدة.
تسجيل الخروج: نظام Hadoop البيئي ومكوناته
الحد الأدنى
أصبحت البيانات النفط الجديد عبر مختلف الصناعات. ومن ثم هناك العديد من الفرص الوظيفية في Hadoop. يمكنك معرفة كل شيء عن Hadoop والبيانات الضخمة في upGrad .
إذا كنت مهتمًا بمعرفة المزيد عن Hbase ، البيانات الضخمة ، فراجع دبلومة PG في تخصص تطوير البرمجيات في برنامج البيانات الضخمة المصمم للمهنيين العاملين ويوفر أكثر من 7 دراسات حالة ومشاريع ، ويغطي 14 لغة وأدوات برمجة ، وأيدي عملية -في ورش العمل ، أكثر من 400 ساعة من التعلم الصارم والمساعدة في التوظيف مع الشركات الكبرى.
تعلم دورات تطوير البرمجيات عبر الإنترنت من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.