एचबेस Archiटेक्चर: उपयोग के मामले, घटक और डेटा मॉडल
एचबेस Archiटेकचर और इसके महत्वपूर्ण घटक
HBase आर्किटेक्चर में मुख्य रूप से चार घटक शामिल हैं
- एचएमस्टर
- एचरीजनसर्वर
- एचक्षेत्र
- Zookeeper
- एचडीएफएस
नीचे घटकों के साथ HBase की विस्तृत वास्तुकला दी गई है:

एचएमस्टर
एचएमस्टर HBase में HBase आर्किटेक्चर में मास्टर सर्वर का कार्यान्वयन है। यह क्लस्टर में मौजूद सभी रीजन सर्वर इंस्टेंस की निगरानी करने के लिए एक मॉनिटरिंग एजेंट के रूप में कार्य करता है और सभी मेटाडेटा परिवर्तनों के लिए एक इंटरफ़ेस के रूप में कार्य करता है। वितरित क्लस्टर वातावरण में, मास्टर नेमनोड पर चलता है। मास्टर कई बैकग्राउंड थ्रेड चलाता है।
HBase में HMaster द्वारा निभाई जाने वाली महत्वपूर्ण भूमिकाएँ निम्नलिखित हैं।
- क्लस्टर में नोड्स के प्रदर्शन और रखरखाव के संदर्भ में महत्वपूर्ण भूमिका निभाता है।
- HMaster व्यवस्थापकीय कार्य निष्पादन प्रदान करता है और विभिन्न क्षेत्र सर्वरों को सेवाएं वितरित करता है।
- HMaster क्षेत्र सर्वरों को क्षेत्र निर्दिष्ट करता है।
- एचमास्टर में क्लस्टर में मौजूद नोड्स पर लोड को संभालने के लिए लोड संतुलन और फेलओवर को नियंत्रित करने जैसी विशेषताएं हैं।
- जब कोई क्लाइंट किसी स्कीमा को बदलना चाहता है और किसी डेटा ऑपरेशन को बदलना चाहता है, तो इन ऑपरेशनों की जिम्मेदारी एचमास्टर लेता है।
एचमास्टर इंटरफ़ेस द्वारा उजागर की गई कुछ विधियाँ मुख्य रूप से डेटा उन्मुख विधियाँ हैं।
- तालिका (createTable, removeTable, सक्षम, अक्षम)
- कॉलमफ़ैमिली (कॉलम जोड़ें, कॉलम संशोधित करें)
- क्षेत्र (स्थानांतरित करें, असाइन करें)
क्लाइंट HMaster और ZooKeeper दोनों के साथ द्वि-दिशात्मक तरीके से संचार करता है। पढ़ने और लिखने के संचालन के लिए, यह सीधे HRegion सर्वर से संपर्क करता है। HMaster क्षेत्र सर्वर को क्षेत्र आवंटित करता है और बदले में, क्षेत्र सर्वर की स्वास्थ्य स्थिति की जाँच करता है।
संपूर्ण आर्किटेक्चर में, हमारे पास कई क्षेत्र सर्वर हैं। Hlog क्षेत्र सर्वर में मौजूद है जो सभी लॉग फ़ाइलों को संग्रहीत करने जा रहा है।
HBase क्षेत्र सर्वर
जब HBase क्षेत्र सर्वर क्लाइंट से लिखने और पढ़ने के अनुरोध प्राप्त करता है, तो यह अनुरोध को एक विशिष्ट क्षेत्र को सौंपता है, जहाँ वास्तविक कॉलम परिवार रहता है। हालाँकि, क्लाइंट सीधे HRegion सर्वर से संपर्क कर सकता है, HRegion सर्वर के साथ संचार के संबंध में क्लाइंट को HMaster अनिवार्य अनुमति की आवश्यकता नहीं है। जब मेटाडेटा और स्कीमा परिवर्तन से संबंधित संचालन की आवश्यकता होती है, तो क्लाइंट को HMaster सहायता की आवश्यकता होती है।
HRegionServer रीजन सर्वर कार्यान्वयन है। यह वितरित क्लस्टर में मौजूद क्षेत्रों या डेटा की सेवा और प्रबंधन के लिए जिम्मेदार है। रीजन सर्वर Hadoop क्लस्टर में मौजूद डेटा नोड्स पर चलते हैं।
HMaster अनेक HRegion सर्वरों से संपर्क कर सकता है तथा निम्नलिखित कार्य करता है।
- क्षेत्रों की मेजबानी और प्रबंधन
- क्षेत्रों का स्वचालित रूप से विभाजन
- पढ़ने और लिखने के अनुरोधों को संभालना
- ग्राहक से सीधे संवाद करना
HBase क्षेत्र
HRegions HBase क्लस्टर के मूल निर्माण तत्व हैं जिसमें तालिकाओं का वितरण शामिल है और कॉलम परिवारों से मिलकर बना है। इसमें कई स्टोर होते हैं, प्रत्येक कॉलम परिवार के लिए एक। इसमें मुख्य रूप से दो घटक होते हैं, जो मेमस्टोर और एचफाइल हैं।
चिड़ियाघर संचालक
HBase Zookeeper एक केंद्रीकृत निगरानी सर्वर है जो कॉन्फ़िगरेशन जानकारी बनाए रखता है और वितरित सिंक्रनाइज़ेशन प्रदान करता है। वितरित सिंक्रनाइज़ेशन का अर्थ है क्लस्टर में चल रहे वितरित अनुप्रयोगों तक पहुँचना, जिसका उत्तरदायित्व नोड्स के बीच समन्वय सेवाएँ प्रदान करना है। यदि क्लाइंट क्षेत्रों के साथ संचार करना चाहता है, तो सर्वर के क्लाइंट को पहले ZooKeeper से संपर्क करना होगा।
यह एक ओपन सोर्स परियोजना है और यह कई महत्वपूर्ण सेवाएं प्रदान करती है।
द्वारा प्रदान की गई सेवाएं चिड़ियाघर संचालक
- कॉन्फ़िगरेशन जानकारी बनाए रखता है
- वितरित तुल्यकालन प्रदान करता है
- क्षेत्र सर्वर के साथ क्लाइंट संचार स्थापना
- अल्पकालिक नोड्स प्रदान करता है जो विभिन्न क्षेत्र सर्वरों का प्रतिनिधित्व करते हैं
- क्लस्टर में उपलब्ध सर्वरों की खोज के लिए अल्पकालिक नोड्स की मास्टर सर्वर प्रयोज्यता
- सेवा मेरे track सर्वर विफलता और नेटवर्क विभाजन
मास्टर और HBase स्लेव नोड्स (क्षेत्र सर्वर) ने खुद को ज़ूकीपर के साथ पंजीकृत किया। क्लाइंट को मास्टर और क्षेत्र सर्वर से कनेक्ट करने के लिए ZK (ज़ूकीपर) कोरम कॉन्फ़िगरेशन तक पहुंच की आवश्यकता होती है।
HBase क्लस्टर में मौजूद नोड्स की विफलता के दौरान, ZKquoram त्रुटि संदेश ट्रिगर करेगा, और यह विफल नोड्स की मरम्मत शुरू कर देगा।
एचडीएफएस
HDFS एक Hadoop वितरित प्रणाली है। संचिका तंत्रजैसा कि नाम से ही स्पष्ट है कि यह स्टोरेज के लिए वितरित वातावरण प्रदान करता है और यह एक फ़ाइल सिस्टम है जिसे कमोडिटी हार्डवेयर पर चलने के लिए डिज़ाइन किया गया है। यह प्रत्येक फ़ाइल को कई ब्लॉक में संग्रहीत करता है और दोष सहिष्णुता बनाए रखने के लिए, ब्लॉक को एक Hadoop क्लस्टर में दोहराया जाता है।
HDFS उच्च स्तर की दोष-सहनशीलता प्रदान करता है और सस्ते कमोडिटी हार्डवेयर पर चलता है। क्लस्टर में नोड्स जोड़कर और सस्ते कमोडिटी हार्डवेयर का उपयोग करके प्रोसेसिंग और स्टोरेज करके, यह क्लाइंट को मौजूदा की तुलना में बेहतर परिणाम देगा।
इसमें, प्रत्येक ब्लॉक में संग्रहीत डेटा 3 नोड्स में प्रतिकृति करता है और यदि कोई नोड डाउन हो जाता है तो डेटा की हानि नहीं होगी, इसमें एक उचित बैकअप रिकवरी तंत्र होगा।
एचडीएफएस HBase घटकों के संपर्क में आते हैं और वितरित तरीके से बड़ी मात्रा में डेटा संग्रहीत करते हैं।
HBase डेटा मॉडल
HBase डेटा मॉडल घटकों का एक सेट है जिसमें टेबल, पंक्तियाँ, कॉलम परिवार, सेल, कॉलम और संस्करण शामिल हैं। HBase तालिकाओं में कॉलम परिवार और पंक्तियाँ होती हैं जिनमें प्राथमिक कुंजी के रूप में परिभाषित तत्व होते हैं। HBase डेटा मॉडल तालिका में एक कॉलम ऑब्जेक्ट्स के लिए विशेषताओं का प्रतिनिधित्व करता है।
HBase डेटा मॉडल में निम्नलिखित तत्व शामिल हैं,
- तालिकाओं का सेट
- स्तंभ परिवारों और पंक्तियों के साथ प्रत्येक तालिका
- प्रत्येक तालिका में एक तत्व प्राथमिक कुंजी के रूप में परिभाषित होना चाहिए।
- पंक्ति कुंजी HBase में प्राथमिक कुंजी के रूप में कार्य करती है।
- HBase तालिकाओं तक कोई भी पहुँच इस प्राथमिक कुंजी का उपयोग करती है
- HBase में मौजूद प्रत्येक कॉलम ऑब्जेक्ट के अनुरूप विशेषता को दर्शाता है
HBase उपयोग के मामले
निम्नलिखित एचबेस उपयोग के मामलों के उदाहरण हैं, जिनमें विभिन्न तकनीकी समस्याओं के लिए इसके द्वारा प्रदान किए गए समाधान का विस्तृत विवरण दिया गया है
| समस्या का विवरण | उपाय |
|---|---|
दूरसंचार उद्योग निम्नलिखित तकनीकी चुनौतियों का सामना करना पड़ता है
|
HBase का उपयोग विस्तृत कॉल रिकॉर्ड की अरबों पंक्तियों को संग्रहीत करने के लिए किया जाता है। यदि मौजूदा RDBMS डेटाबेस में प्रति माह 20TB डेटा जोड़ा जाता है, तो प्रदर्शन खराब हो जाएगा। इस उपयोग के मामले में बड़ी मात्रा में डेटा को संभालने के लिए, HBase सबसे अच्छा समाधान है। HBase तेजी से क्वेरी करता है और रिकॉर्ड प्रदर्शित करता है। |
| RSI बैंकिंग उद्योग रोजाना लाखों रिकॉर्ड तैयार करता है। इसके अलावा, बैंकिंग उद्योग को एक एनालिटिक्स समाधान की भी आवश्यकता है जो पैसे के लेन-देन में धोखाधड़ी का पता लगा सके | विशाल मात्रा में डेटा को संग्रहीत, संसाधित और अद्यतन करने तथा विश्लेषण करने के लिए, एक आदर्श समाधान है – HBase को कई Hadoop पारिस्थितिकी तंत्र घटकों के साथ एकीकृत करना। |
इसके अलावा, HBase का उपयोग किया जा सकता है
- जब भी भारी एप्लीकेशन लिखने की आवश्यकता होती है।
- ऑनलाइन लॉग विश्लेषण करना तथा अनुपालन रिपोर्ट तैयार करना।
HBase में भंडारण तंत्र
HBase एक कॉलम-ओरिएंटेड डेटाबेस है और डेटा को टेबल में संग्रहीत किया जाता है। टेबल को RowId के अनुसार क्रमबद्ध किया जाता है। जैसा कि नीचे दिखाया गया है, HBase में RowId है, जो टेबल में मौजूद कई कॉलम परिवारों का संग्रह है।
स्कीमा में मौजूद कॉलम परिवार कुंजी-मान युग्म होते हैं। यदि हम विस्तार से देखें तो प्रत्येक कॉलम परिवार में कई कॉलम होते हैं। कॉलम मान डिस्क मेमोरी में संग्रहीत होते हैं। तालिका के प्रत्येक सेल में अपना डेटा होता है जैसे टाइमस्टैम्प और अन्य जानकारी।

HBase की बात करें तो टेबल स्कीमा को दर्शाने वाले मुख्य शब्द निम्नलिखित हैं
- तालिका: पंक्तियों का संग्रह मौजूद है.
- पंक्ति: स्तंभ परिवारों का संग्रह.
- कॉलम परिवार: स्तंभों का संग्रह.
- स्तंभ: कुंजी-मान युग्मों का संग्रह.
- नाम स्थान: तार्किक समूहping तालिकाओं का।
- सेल: एक {पंक्ति, स्तंभ, संस्करण} टपल HBase में एक सेल परिभाषा को सटीक रूप से निर्दिष्ट करता है।
स्तंभ-उन्मुख बनाम पंक्ति-उन्मुख भंडारण
कॉलम और रो-ओरिएंटेड स्टोरेज उनके स्टोरेज मैकेनिज्म में भिन्न होते हैं। जैसा कि हम सभी जानते हैं कि पारंपरिक रिलेशनल मॉडल डेटा को रो-बेस्ड फॉर्मेट के रूप में स्टोर करते हैं जैसे कि डेटा की पंक्तियों के संदर्भ में। कॉलम-ओरिएंटेड स्टोरेज डेटा टेबल को कॉलम और कॉलम फैमिली के संदर्भ में स्टोर करते हैं।
निम्नलिखित तालिका इन दो भंडारणों के बीच कुछ प्रमुख अंतर बताती है
| स्तंभ-उन्मुख डेटाबेस | पंक्ति उन्मुख डेटाबेस |
|---|---|
| जब स्थिति प्रक्रिया और विश्लेषण की आती है तो हम इस दृष्टिकोण का उपयोग करते हैं। जैसे ऑनलाइन विश्लेषणात्मक प्रक्रिया और इसके अनुप्रयोग. | ऑनलाइन लेनदेन प्रक्रिया बैंकिंग और वित्त जैसे क्षेत्रों में इस दृष्टिकोण का उपयोग किया जाता है। |
| इस मॉडल में संग्रहीत डेटा की मात्रा बहुत बड़ी है, जैसे पेटाबाइट्स के संदर्भ में | इसे छोटी संख्या में पंक्तियों और स्तंभों के लिए डिज़ाइन किया गया है। |
HBase डेटा पढ़ने और लिखने की व्याख्या
क्लाइंट से Hfile में पढ़ने और लिखने का कार्य नीचे दिए गए चित्र में दिखाया जा सकता है।
चरण 1) क्लाइंट डेटा लिखना चाहता है और इसके लिए वह पहले रीजन सर्वर से और फिर रीजन सर्वर से संचार करता है।
चरण 2) स्तंभ परिवार से जुड़े भंडारण के लिए मेमस्टोर से संपर्क करने वाले क्षेत्र
चरण 3) सबसे पहले डेटा मेमस्टोर में स्टोर होता है, जहाँ डेटा को सॉर्ट किया जाता है और उसके बाद, इसे HFile में फ्लश किया जाता है। मेमस्टोर का उपयोग करने का मुख्य कारण रो की के आधार पर वितरित फ़ाइल सिस्टम में डेटा को स्टोर करना है। मेमस्टोर को रीजन सर्वर मेन मेमोरी में रखा जाएगा जबकि HFiles को HDFS में लिखा जाएगा।
चरण 4) क्लाइंट क्षेत्र से डेटा पढ़ना चाहता है
चरण 5) बदले में क्लाइंट को मेम स्टोर तक सीधी पहुंच मिल सकती है, और वह डेटा के लिए अनुरोध कर सकता है।
चरण 6) ग्राहक डेटा प्राप्त करने के लिए HFiles से संपर्क करता है। डेटा क्लाइंट द्वारा प्राप्त और पुनर्प्राप्त किया जाता है।
मेमस्टोर इन-मेमोरी संशोधनों को स्टोर में रखता है। HBase क्षेत्रों में ऑब्जेक्ट्स का पदानुक्रम नीचे दी गई तालिका में ऊपर से नीचे तक दिखाया गया है।
| तालिका | HBase क्लस्टर में मौजूद HBase तालिका |
| क्षेत्र | प्रस्तुत तालिकाओं के लिए HRegions |
| दुकान | यह तालिका के प्रत्येक क्षेत्र के लिए प्रति ColumnFamily संग्रहीत करता है |
| मेमस्टोर |
|
| स्टोरफ़ाइल | तालिका के लिए प्रत्येक क्षेत्र के लिए प्रत्येक स्टोर के लिए स्टोरफ़ाइल्स |
| खंड | स्टोरफाइल्स के अंदर मौजूद ब्लॉक |
HBase बनाम HDFS
HBase, HDFS के शीर्ष पर चलता है और Hadoopएचडीएफएस और एचबेस के बीच कुछ प्रमुख अंतर डेटा संचालन और प्रसंस्करण के संदर्भ में हैं।
| HBASE | एचडीएफएस |
|---|---|
| कम विलंबता संचालन | उच्च विलंबता संचालन |
| यादृच्छिक पढ़ना और लिखना | एक बार लिखें कई बार पढ़ें |
| के माध्यम से पहुँचा शैल कमांड, क्लाइंट एपीआई में Java, रेस्ट, एवरो या थ्रिफ्ट | मुख्य रूप से एमआर (मैप रिड्यूस) जॉब्स के माध्यम से एक्सेस किया जाता है |
| भंडारण और प्रक्रिया दोनों किया जा सकता है | यह केवल भंडारण क्षेत्रों के लिए है |
कुछ विशिष्ट आईटी औद्योगिक अनुप्रयोग Hadoop के साथ HBase संचालन का उपयोग करते हैं। अनुप्रयोगों में स्टॉक एक्सचेंज डेटा, ऑनलाइन बैंकिंग डेटा संचालन और प्रसंस्करण शामिल हैं। Hbase सबसे उपयुक्त समाधान विधि है।
सारांश
- HBase आर्किटेक्चर घटक: HMaster, HRegion सर्वर, HRegions, ZooKeeper, HDFS
- HBase में HMaster, HBase आर्किटेक्चर में मास्टर सर्वर का कार्यान्वयन है।
- जब HBase क्षेत्र सर्वर क्लाइंट से लिखने और पढ़ने के अनुरोध प्राप्त करता है, तो यह अनुरोध को एक विशिष्ट क्षेत्र को सौंपता है, जहां वास्तविक कॉलम परिवार रहता है
- HRegions, HBase क्लस्टर के मूल निर्माण तत्व हैं, जिनमें तालिकाओं का वितरण होता है और ये कॉलम परिवारों से मिलकर बने होते हैं।
- एचबेस ज़ूकीपर एक केंद्रीकृत निगरानी सर्वर है जो कॉन्फ़िगरेशन जानकारी बनाए रखता है और वितरित सिंक्रनाइज़ेशन प्रदान करता है।
- एचडीएफएस उच्च स्तर की दोष-सहिष्णुता प्रदान करता है और सस्ते कमोडिटी हार्डवेयर पर चलता है।
- HBase डेटा मॉडल घटकों का एक समूह है जिसमें तालिकाएँ, पंक्तियाँ, स्तंभ परिवार, कोशिकाएँ, स्तंभ और संस्करण शामिल हैं।
- स्तंभ और पंक्ति-उन्मुख भंडारण उनके भंडारण तंत्र में भिन्न होते हैं।

