HBase आर्किटेक्चर, घटक, डेटा मॉडल और उपयोग मामले

विषय - सूची:

Anonim

HBase में भंडारण तंत्र

HBase एक स्तंभ-उन्मुख डेटाबेस है और डेटा तालिकाओं में संग्रहीत किया जाता है। तालिकाओं को रोइड द्वारा क्रमबद्ध किया जाता है। जैसा कि नीचे दिखाया गया है, HBase में RowId है, जो कई स्तंभ परिवारों का संग्रह है जो तालिका में मौजूद हैं।

स्कीमा में मौजूद स्तंभ परिवार कुंजी-मूल्य जोड़े हैं। यदि हम प्रत्येक स्तंभ परिवार पर विस्तार से अवलोकन करते हैं, जिसमें कई संख्या में कॉलम हैं। स्तंभ मान डिस्क मेमोरी में संग्रहीत होते हैं। तालिका की प्रत्येक कोशिका का अपना मेटाडेटा है जैसे टाइमस्टैम्प और अन्य जानकारी।

HBase में भंडारण तंत्र

HBase पर आने से तालिका स्कीमा का प्रतिनिधित्व करने वाले प्रमुख शब्द हैं

  • तालिका : मौजूद पंक्तियों का संग्रह।
  • पंक्ति : स्तंभ परिवारों का संग्रह।
  • कॉलम परिवार : स्तंभों का संग्रह।
  • कॉलम : कुंजी-मूल्य जोड़े का संग्रह।
  • Namespace : तालिकाओं का तार्किक समूहन।
  • सेल : A {पंक्ति, कॉलम, संस्करण} tuple वास्तव में HBase में एक सेल परिभाषा निर्दिष्ट करता है।

इस ट्यूटोरियल में - आप सीखेंगे,

  • HBase में भंडारण तंत्र
  • HBase डेटा मॉडल
  • HBase आर्किटेक्चर और इसके महत्वपूर्ण घटक
  • HBase पढ़ें और लिखें डेटा समझाया गया
  • HBase उपयोग मामले
  • HBASE बनाम HDFS

कॉलम-ओरिएंटेड बनाम रो-ओरिएंटेड स्टोरेज

कॉलम और रो-ओरिएंटेड स्टोरेज उनके स्टोरेज मैकेनिज्म में भिन्न होते हैं। जैसा कि हम सभी जानते हैं कि पारंपरिक संबंधपरक मॉडल डेटा को पंक्ति-आधारित प्रारूप के संदर्भ में संग्रहीत करते हैं, जैसे डेटा की पंक्तियों के संदर्भ में। कॉलम और कॉलम परिवारों के संदर्भ में कॉलम-ओरिएंटेड स्टोरेज डेटा टेबल को स्टोर करते हैं।

निम्न तालिका इन दो भंडारण के बीच कुछ प्रमुख अंतर देती है

स्तंभ-उन्मुख डेटाबेस पंक्ति उन्मुख डेटाबेस
  • जब स्थिति प्रक्रिया और विश्लेषण की आती है तो हम इस दृष्टिकोण का उपयोग करते हैं। जैसे ऑनलाइन एनालिटिकल प्रोसेसिंग और यह एप्लीकेशन है।
  • ऑनलाइन लेनदेन प्रक्रिया जैसे कि बैंकिंग और वित्त डोमेन इस दृष्टिकोण का उपयोग करते हैं।
  • डेटा की मात्रा जो इस मॉडल में संग्रहीत करने में सक्षम है, पेटाबाइट्स के संदर्भ में बहुत विशाल है
  • यह छोटी संख्या में पंक्तियों और स्तंभों के लिए डिज़ाइन किया गया है।

HBase डेटा मॉडल

HBase डेटा मॉडल उन घटकों का एक समूह है जिसमें टेबल्स, रोव्स, कॉलम परिवारों, सेल, कॉलम और संस्करण शामिल हैं। HBase टेबल में प्राथमिक कुंजी के रूप में परिभाषित तत्वों के साथ कॉलम परिवार और पंक्तियाँ होती हैं। HBase डेटा मॉडल तालिका में एक कॉलम ऑब्जेक्ट्स की विशेषताओं का प्रतिनिधित्व करता है।

HBase डेटा मॉडल में निम्नलिखित तत्व होते हैं,

  • तालिकाओं का सेट
  • स्तंभ परिवारों और पंक्तियों के साथ प्रत्येक तालिका
  • प्रत्येक तालिका में प्राथमिक कुंजी के रूप में परिभाषित एक तत्व होना चाहिए।
  • रो कुंजी HBase में प्राथमिक कुंजी के रूप में कार्य करता है।
  • HBase तालिकाओं की किसी भी पहुँच इस प्राथमिक कुंजी का उपयोग करती है
  • HBase में मौजूद प्रत्येक कॉलम ऑब्जेक्ट के अनुरूप विशेषता को दर्शाता है

HBase आर्किटेक्चर और इसके महत्वपूर्ण घटक

नीचे घटकों के साथ HBase का एक विस्तृत वास्तुशिल्प है:

HBase आर्किटेक्चर डायग्राम

HBase वास्तुकला में मुख्य रूप से चार घटक होते हैं

  • HMaster
  • HRegionserver
  • HRegions
  • चिड़ियाघर संचालक
  • HDFS

HMaster:

HBase में HMaster HBase आर्किटेक्चर में एक मास्टर सर्वर का कार्यान्वयन है। यह क्लस्टर में मौजूद सभी क्षेत्र सर्वर उदाहरणों की निगरानी के लिए एक निगरानी एजेंट के रूप में कार्य करता है और सभी मेटाडेटा परिवर्तनों के लिए एक इंटरफ़ेस के रूप में कार्य करता है। वितरित क्लस्टर परिवेश में, मास्टर NameNode पर चलता है। मास्टर कई पृष्ठभूमि सूत्र चलाता है।

HBase में HMaster द्वारा निभाई गई महत्वपूर्ण भूमिकाएँ निम्नलिखित हैं।

  • प्रदर्शन और क्लस्टर में नोड्स बनाए रखने के मामले में एक महत्वपूर्ण भूमिका निभाता है।
  • HMaster अलग-अलग क्षेत्र के सर्वर को व्यवस्थापक प्रदर्शन और सेवाएँ वितरित करता है।
  • HMaster क्षेत्र सर्वरों को क्षेत्र प्रदान करता है।
  • HMaster में लोड संतुलन को नियंत्रित करने और क्लस्टर में मौजूद नोड्स पर लोड को विफल करने जैसी विशेषताएं हैं।
  • जब कोई ग्राहक किसी भी स्कीमा को बदलना चाहता है और किसी मेटाडेटा ऑपरेशन को बदलना चाहता है, तो HMaster इन ऑपरेशनों की जिम्मेदारी लेता है।

HMaster इंटरफ़ेस द्वारा उजागर किए गए कुछ तरीके मुख्य रूप से मेटाडेटा उन्मुख तरीके हैं।

  • तालिका (बनाने योग्य, हटाने योग्य, सक्षम, अक्षम)
  • ColumnFamily (स्तंभ जोड़ें, स्तंभ को संशोधित करें)
  • क्षेत्र (चाल, असाइन करें)

ग्राहक दोनों HMaster और ZooKeeper के साथ द्वि-दिशात्मक तरीके से संचार करता है। पढ़ने और लिखने के संचालन के लिए, यह सीधे HRegion सर्वर के साथ संपर्क करता है। HMaster क्षेत्र सर्वरों के लिए क्षेत्रों को असाइन करता है और बदले में, क्षेत्र सर्वरों की स्वास्थ्य स्थिति की जांच करता है।

संपूर्ण आर्किटेक्चर में, हमारे पास कई क्षेत्र सर्वर हैं। क्षेत्र सर्वर में मौजूद हैलॉग जो सभी लॉग फ़ाइलों को संग्रहीत करने जा रहे हैं।

HBase क्षेत्र सर्वर:

जब HBase रीजन सर्वर क्लाइंट से रिक्वेस्ट लिखता और पढ़ता है, तो वह रिक्वेस्ट को एक विशिष्ट रीजन में असाइन करता है, जहां वास्तविक कॉलम फैमिली रहती है। हालाँकि, क्लाइंट सीधे HRegion सर्वर से संपर्क कर सकता है, HRegion सर्वर के साथ संचार के बारे में ग्राहक को HMaster अनिवार्य अनुमति की कोई आवश्यकता नहीं है। जब मेटाडेटा और स्कीमा परिवर्तन से संबंधित कार्यों की आवश्यकता होती है तो क्लाइंट को HMaster सहायता की आवश्यकता होती है।

HRegionServer क्षेत्र सर्वर कार्यान्वयन है। यह उन क्षेत्रों या डेटा की सेवा और प्रबंधन के लिए ज़िम्मेदार है जो एक वितरित क्लस्टर में मौजूद है। इस क्षेत्र के सर्वर Hadoop क्लस्टर में मौजूद Data Nodes पर चलते हैं।

HMaster कई HRegion सर्वर के संपर्क में आ सकता है और निम्नलिखित कार्य करता है।

  • होस्टिंग और प्रबंध क्षेत्र
  • विभाजन क्षेत्रों को स्वचालित रूप से
  • पढ़ने और लिखने के अनुरोधों को संभालना
  • ग्राहक के साथ सीधे संवाद

HBase क्षेत्र:

HRegions HBase क्लस्टर के मूल भवन तत्व हैं जिनमें तालिकाओं का वितरण होता है और इसमें कॉलम परिवार शामिल होते हैं। इसमें कई स्टोर हैं, जो प्रत्येक कॉलम परिवार के लिए हैं। इसमें मुख्य रूप से दो घटक होते हैं, जो मेम्स्टोर और Hfile हैं।

चिड़ियाघर कीपर:

HBase Zookeeper एक केंद्रीकृत निगरानी सर्वर है जो कॉन्फ़िगरेशन जानकारी को बनाए रखता है और वितरित सिंक्रनाइज़ेशन प्रदान करता है। वितरित सिंक्रनाइज़ेशन नोड्स के बीच समन्वय सेवाएं प्रदान करने की जिम्मेदारी के साथ क्लस्टर भर में वितरित वितरित अनुप्रयोगों तक पहुंचने के लिए है। यदि क्लाइंट क्षेत्रों के साथ संवाद करना चाहता है, तो सर्वर के क्लाइंट को पहले चिड़ियाघरकीपर से संपर्क करना होगा।

यह एक ओपन सोर्स प्रोजेक्ट है, और यह कई महत्वपूर्ण सेवाएं प्रदान करता है।

ZooKeeper द्वारा प्रदान की गई सेवाएं

  • कॉन्फ़िगरेशन जानकारी बनाए रखता है
  • वितरित सिंक्रनाइज़ेशन प्रदान करता है
  • क्षेत्र सर्वर के साथ ग्राहक संचार स्थापना
  • अल्पकालिक नोड प्रदान करता है जिसके लिए विभिन्न क्षेत्र सर्वरों का प्रतिनिधित्व करते हैं
  • क्लस्टर में उपलब्ध सर्वरों की खोज के लिए अल्पकालिक नोड्स के मास्टर सर्वर प्रयोज्य
  • सर्वर विफलता और नेटवर्क विभाजन को ट्रैक करने के लिए

मास्टर और HBase दास नोड्स (क्षेत्र सर्वर) ने खुद को चिड़ियाघरकीपर के साथ पंजीकृत किया। मास्टर और क्षेत्र सर्वर से जुड़ने के लिए क्लाइंट को ZK (zookeeper) कोरम कॉन्फ़िगरेशन की आवश्यकता होती है।

HBase क्लस्टर में मौजूद नोड्स की विफलता के दौरान, ZKquoram त्रुटि संदेशों को ट्रिगर करेगा, और यह विफल नोड्स की मरम्मत करना शुरू कर देता है।

HDFS:

HDFS एक Hadoop वितरित फ़ाइल सिस्टम है, जैसा कि नाम से पता चलता है कि यह भंडारण के लिए एक वितरित वातावरण प्रदान करता है और यह कमोडिटी हार्डवेयर पर चलने के लिए एक तरह से डिज़ाइन की गई फ़ाइल सिस्टम है। यह प्रत्येक फ़ाइल को कई ब्लॉकों में संग्रहीत करता है और दोष सहिष्णुता बनाए रखने के लिए, ब्लॉक को एक Hadoop क्लस्टर में दोहराया जाता है।

एचडीएफएस उच्च स्तर की गलती -tolerance प्रदान करता है और सस्ते कमोडिटी हार्डवेयर पर चलता है। क्लस्टर में नोड्स जोड़कर और सस्ते कमोडिटी हार्डवेयर का उपयोग करके प्रसंस्करण और भंडारण करना, यह मौजूदा वाले की तुलना में क्लाइंट को बेहतर परिणाम देगा।

यहां, प्रत्येक ब्लॉक में संग्रहीत डेटा किसी भी स्थिति में 3 नोड्स में प्रतिकृति करता है जब कोई भी नोड नीचे जाता है तो डेटा का कोई नुकसान नहीं होगा, इसमें एक उचित बैकअप पुनर्प्राप्ति तंत्र होगा।

HDFS HBase घटकों के साथ संपर्क में आता है और वितरित मात्रा में बड़ी मात्रा में डेटा संग्रहीत करता है।

HBase पढ़ें और लिखें डेटा समझाया गया

क्लाइंट से Hfile में पढ़ने और लिखने के संचालन को नीचे आरेख में दिखाया जा सकता है।

चरण 1) ग्राहक डेटा लिखना चाहता है और बदले में पहले क्षेत्र सर्वर और फिर क्षेत्रों के साथ संचार करता है

चरण 2) स्तंभ परिवार के साथ जुड़े भंडारण के लिए क्षेत्र से संपर्क करने वाले क्षेत्र

चरण 3) पहला डेटा मेमस्टोर में संग्रहीत किया जाता है, जहां डेटा को सॉर्ट किया जाता है और उसके बाद, यह HFile में फ्लश होता है। Memstore का उपयोग करने का मुख्य कारण पंक्ति कुंजी के आधार पर एक वितरित फ़ाइल सिस्टम में डेटा संग्रहीत करना है। मेमोरोर को क्षेत्र सर्वर मुख्य मेमोरी में रखा जाएगा जबकि एचएफआईएल एचडीएफएस में लिखे गए हैं।

चरण 4) ग्राहक रीजन के डेटा को पढ़ना चाहता है

चरण 5) बदले में क्लाइंट के पास मेम स्टोर तक सीधी पहुंच हो सकती है, और यह डेटा के लिए अनुरोध कर सकता है।

चरण 6) ग्राहक डेटा प्राप्त करने के लिए HFiles से संपर्क करते हैं। ग्राहक द्वारा डेटा प्राप्त और प्राप्त किया जाता है।

मेमोरोर स्टोर में इन-मेमोरी संशोधनों को रखता है। HBase क्षेत्र में वस्तुओं के पदानुक्रम को नीचे दी गई तालिका में ऊपर से नीचे तक दिखाया गया है।

टेबल HBase क्लस्टर में मौजूद HBase टेबल
क्षेत्र प्रस्तुत तालिकाओं के लिए HRegions
दुकान यह तालिका के लिए प्रत्येक क्षेत्र के लिए प्रति कॉलम कॉलम रखता है
संस्मरण
  • तालिका के लिए प्रत्येक क्षेत्र के लिए प्रत्येक स्टोर के लिए मेमोस्टोर
  • यह HFiles में फ्लश करने से पहले डेटा को सॉर्ट करता है
  • छँटाई के कारण लिखना और पढ़ना प्रदर्शन बढ़ेगा
स्टोरफाइल टेबल के लिए प्रत्येक क्षेत्र के लिए प्रत्येक स्टोर के लिए स्टोरफाइल्स
खंड मैथा StoreFiles के अंदर मौजूद ब्लॉक

HBase उपयोग मामले

विभिन्न तकनीकी समस्याओं को हल करने के लिए विस्तृत विवरण के साथ HBase उपयोग मामलों के उदाहरण निम्नलिखित हैं

समस्या का विवरण उपाय
दूरसंचार उद्योग तकनीकी चुनौतियों का सामना कर रहा है
  • टेलीकॉम डोमेन द्वारा उत्पन्न सीडीआर (कॉल विस्तृत रिकॉर्डिंग) लॉग रिकॉर्ड के अरबों
  • सीडीआर लॉग और ग्राहकों की बिलिंग जानकारी के लिए वास्तविक समय तक पहुंच प्रदान करना
  • पारंपरिक डेटाबेस सिस्टम की तुलना में लागत प्रभावी समाधान प्रदान करें
HBase का उपयोग विस्तृत कॉल रिकॉर्ड की अरबों पंक्तियों को संग्रहीत करने के लिए किया जाता है। यदि मौजूदा RDBMS डेटाबेस में प्रति माह 20TB डेटा जोड़ा जाता है, तो प्रदर्शन बिगड़ जाएगा। इस उपयोग के मामले में बड़ी मात्रा में डेटा को संभालने के लिए, HBase सबसे अच्छा समाधान है। HBase तेजी से क्वेरी करता है और रिकॉर्ड प्रदर्शित करता है।
बैंकिंग उद्योग एक दैनिक आधार पर रिकॉर्ड के लाखों उत्पन्न करता है। इसके अलावा, बैंकिंग उद्योग को एक एनालिटिक्स समाधान की भी आवश्यकता है जो पैसे के लेनदेन में धोखाधड़ी का पता लगा सके डेटा के विशाल संस्करणों को संग्रहीत, संसाधित और अपडेट करने और विश्लेषण करने के लिए, एक आदर्श समाधान है - HBase कई Hadoop पारिस्थितिकी तंत्र घटकों के साथ एकीकृत।

इसके अलावा, HBase का उपयोग किया जा सकता है

  • जब भी भारी आवेदन लिखने की आवश्यकता होती है।
  • ऑनलाइन लॉग एनालिटिक्स प्रदर्शन करना और अनुपालन रिपोर्ट तैयार करना।

HBase बनाम HDFS

HBase HDFS और Hadoop के शीर्ष पर चलता है। HDFS और HBase के बीच कुछ प्रमुख अंतर डेटा संचालन और प्रसंस्करण के संदर्भ में हैं।

HBASE

HDFS

  • कम विलंबता संचालन
  • उच्च विलंबता संचालन
  • रैंडम पढ़ता और लिखता है
  • एक बार लिखें कई बार पढ़ें
  • जावा, रीस्ट, एवरो या थ्रिफ्ट में शेल कमांड, क्लाइंट एपीआई के माध्यम से पहुँचा
  • एमआर (मैप रिड्यूस) नौकरियों के माध्यम से मुख्य रूप से पहुँचा
  • भंडारण और प्रक्रिया दोनों का प्रदर्शन किया जा सकता है
  • यह केवल भंडारण क्षेत्रों के लिए है

कुछ विशिष्ट आईटी औद्योगिक अनुप्रयोग Hadoop के साथ HBase संचालन का उपयोग करते हैं। एप्लिकेशन में स्टॉक एक्सचेंज डेटा, ऑनलाइन बैंकिंग डेटा ऑपरेशंस, और प्रसंस्करण Hbase सबसे उपयुक्त समाधान विधि शामिल हैं।

सारांश

Hbase NoSql स्तंभ-उन्मुख वितरित डेटाबेस में से एक है जो अपाचे नींव में उपलब्ध है। HBase Hadoop या Hive के बजाय कम रिकॉर्ड प्राप्त करने के लिए अधिक प्रदर्शन देता है। किसी भी इनपुट वैल्यू की खोज करना बहुत आसान है क्योंकि यह इंडेक्सिंग, लेनदेन और अपडेट का समर्थन करता है।

हम Haseop इकोसिस्टम के साथ एकीकृत Hbase का उपयोग करके ऑनलाइन वास्तविक समय विश्लेषण कर सकते हैं। इसमें डेटासेट या तालिकाओं के लिए एक स्वचालित और कॉन्फ़िगर करने योग्य शार्पिंग है और MapReduce कार्य करने के लिए आरामदायक API प्रदान करता है।