HBase
 sql >> डेटाबेस >  >> NoSQL >> HBase

बिग डेटा Hadoop में HDFS इरेज़र कोडिंग

यह ब्लॉग एचडीएफएस इरेज़र कोडिंग के बारे में है। इस ब्लॉग में हम Hadoop . में इरेज़र कोडिंग की अवधारणा पर चर्चा करेंगे पुरानी प्रतिकृति योजना के मुद्दे। इस ब्लॉग में Hadoop इरेज़र कोडिंग के लिए दो एल्गोरिदम जैसे XOR  एल्गोरिथम, रीड-सोलोमन एल्गोरिथम पर भी चर्चा की गई है।

अंत में हम Hadoop HDFS में आर्किटेक्चर और इरेज़र कोडिंग के फायदे देखेंगे।

पुरानी योजना प्रतिकृति के साथ समस्या

HDFS इरेज़र कोडिंग 3x प्रतिकृति की तुलना में स्टोरेज ओवरहेड को लगभग 50% कम करने के लिए शुरू की गई एक नई सुविधा है। Hadoop HDFS विभिन्न उद्देश्यों के लिए प्रत्येक ब्लॉक को 3 बार दोहराता है। डेटानोड की विफलता से बचाव के लिए यह अतिरेक का बहुत ही सरल रूप है।

पेशेवरों के साथ-साथ इसके कई नुकसान हैं कि यह बहुत महंगा है। 3 x प्रतिकृति में भंडारण स्थान और अन्य संसाधनों में 200% ओवरहेड है। कम I/O गतिविधि वाले डेटासेट, अतिरिक्त प्रतिकृतियां सामान्य ऑपरेशन के दौरान शायद ही कभी एक्सेस की जाती हैं लेकिन फिर भी अन्य संसाधनों का उपभोग करती हैं।

यही कारण है कि हडूप इरेज़र कोडिंग अस्तित्व में आया। यह कम जगह स्टोर और 50% स्टोरेज ओवरहेड के साथ समान स्तर की गलती सहनशीलता प्रदान करता है।

विभिन्न भंडारण योजना की तुलना करते समय, एक महत्वपूर्ण विचार है:

  • डेटा स्थायित्व (एक साथ दोष सहिष्णुता की संख्या)
  • भंडारण दक्षता

तो एन-वे प्रतिकृति में, 1/एन भंडारण दक्षता के साथ एन-1 गलती सहनशीलता है।

Hadoop में HDFS इरेज़र कोडिंग क्या है?

एचडीएफएस इरेज़र कोडिंग RAID का उपयोग करता है . RAID लागू करता है EC स्ट्रिपिंग का उपयोग करता है। स्ट्रिपिंग तार्किक रूप से डेटा को ब्लॉक के रूप में संग्रहीत करता है। फिर इन ब्लॉकों को संग्रहीत करता है अलग डिस्क पर। यह प्रत्येक ब्लॉक और स्टोर के लिए समता की गणना करता है। यह एन्कोड किया गया है। समता के माध्यम से यह त्रुटि को ठीक करता है।

गलती सहनशीलता के लिए ईसी अनावश्यक डेटा के साथ संदेश बढ़ाता है। एचडीएफएस इरेज़र कोडिंग समान आकार के डेटा सेल पर काम करेगी। कोडेक इनपुट के रूप में कई डेटा सेल लेता है। और फिर समता कोशिकाओं को आउटपुट के रूप में उत्पन्न करता है।

इस पूरी प्रक्रिया को एनकोडिंग कहते हैं। पैरिटी और डेटा सेल को एक साथ इरेज़र कोडिंग ग्रुप कहा जाता है। वह प्रक्रिया जिसके द्वारा खोए हुए डेटा सेल को शेष कोशिकाओं पर फिर से संगठित किया जाता है, डिकोडिंग के रूप में जाना जाता है।

एचडीएफएस इरेज़र कोडिंग के लिए उपलब्ध दो एल्गोरिदम इस प्रकार हैं:

a) XOR एल्गोरिथम

यह हडूप इरेज़र कोडिंग का सरल कार्यान्वयन है।

मान लें कि डेटा सेल X और Y और Z डेटा सेल हैं, तो समता सेल इन तीन डेटा सेल का XOR है x y ⊕ z इसलिए XOR ऑपरेशन के दौरान केवल एक समता बिट उत्पन्न होता है और यदि कोई एक बिट खो जाता है तो इसे शेष डेटा कोशिकाओं और एक समता बिट द्वारा पुनर्प्राप्त किया जा सकता है।

यह बहुत सीमित है क्योंकि यह 1 समता बिट उत्पन्न करता है इसलिए XOR ऑपरेशन n समूह आकार के साथ केवल 1 विफलता को सहन कर सकता है।

"XOR ऑपरेशन में फॉल्ट टॉलरेंस 1 और स्टोरेज दक्षता n-1/n है जब समूह का आकार होता है n. "

b) रीड-सोलोमन एल्गोरिथम

रीड-सोलोमन एक्सओआर ऑपरेशन सीमा को संबोधित करता है। यह कई समता कोशिकाओं को उत्पन्न करने के लिए रैखिक बीजगणित का उपयोग करता है। RS दो पैरामीटर k और m का उपयोग करता है, k कई डेटा सेल है और m कई समता सेल हैं।

RS k डेटा सेल को जेनरेटर मैट्रिक्स (G) से गुणा करके k डेटा सेल और m पैरिटी सेल के साथ विस्तारित कोडवर्ड जेनरेट करने का काम करता है। जब तक k+m कोशिकाओं में से k उपलब्ध है, तब तक विस्तारित कोडवर्ड के साथ जनरेटर मैट्रिक्स के गुणा व्युत्क्रम द्वारा भंडारण विफलता को पुनर्प्राप्त किया जा सकता है।

"के साथ रीड, सोलोमन गलती सहनशीलता m सेल और स्टोरेज दक्षता तक है k/k+m जहां k डेटा सेल हैं और m पैरिटी सेल हैं।”

डिजाइन निर्णय और वास्तुकला

ईसी स्ट्रिपिंग के कई फायदे हैं:

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

ईसी ने कई नए घटक जोड़े हैं:

  • NameNode एक्सटेंशन (ईसी प्रबंधक ) - स्ट्राइप एचडीएफएस फाइलें तार्किक रूप से ब्लॉक समूहों से बनी होती हैं। जिनमें से प्रत्येक में एक निश्चित संख्या में आंतरिक ब्लॉक होते हैं। इन अतिरिक्त ब्लॉकों से नामेनोड की मेमोरी खपत को कम करने के लिए, इसने एक नया पदानुक्रमित ब्लॉक नामकरण प्रोटोकॉल पेश किया। ईसी किसी ब्लॉक समूह की आईडी को उसके किसी भी आंतरिक ब्लॉक की आईडी से निकालता है। यह ब्लॉक के बजाय ब्लॉक समूह के स्तर पर प्रबंधन की अनुमति देता है।
  • क्लाइंट एक्सटेंशन (ईसी क्लाइंट) - क्लाइंट समानांतर में एक ब्लॉक समूह में कई आंतरिक ब्लॉकों पर पढ़ने और लिखने का कार्य कर सकता है।
  • डेटानोड एक्सटेंशन (ECWorker)- DataNode विफल इरेज़र कोडित ब्लॉकों की पुनर्प्राप्ति के लिए एक अतिरिक्त EC कार्यकर्ता कार्य चलाता है। तो, NameNode विफल EC ब्लॉक का पता लगाता है, NameNode डेटानोड्स को पुनर्प्राप्ति निर्देश देता है। फिर यह पुनर्प्राप्ति कार्य को दिल की धड़कन प्रतिक्रिया के रूप में पास करता है।

इरेज़र कोडिंग के फ़ायदे

  • कम क्षमता पर डेटा उपलब्धता: एचडीएफएस  इरेज़र कोड कम क्षमता पर डेटा उपलब्धता को सक्षम करते हैं। प्रारंभ में, ब्लॉक को तीन प्रतियों में दोहराएं। तो, तीन प्रतिकृतियों का भंडारण स्थान बड़ा है। लेकिन अब इरेज़र कोडिंग में बड़े डेटा को पैरिटी बिट के रूप में स्टोर किया जाता है, इसलिए स्टोरेज से जगह कम हो जाती है।
  • प्रदर्शन: चूंकि ईसी डेटा को 3 प्रतिकृतियों के बजाय समता के रूप में संग्रहीत करता है इसलिए यह बेहतर प्रदर्शन देता है।
  • तेजी से रिकवरी: यह सक्रिय रूप से (पृष्ठभूमि में) और निष्क्रिय रूप से (पढ़ने के पथ पर) HDFS ब्लॉक त्रुटियों का पता लगाता है और उन्हें पुनर्प्राप्त करता है।

निष्कर्ष

अंत में, हम कह सकते हैं कि, एचडीएफएस इरेज़र कोडिंग ने स्टोरेज ओवरहेड को 50% तक कम कर दिया है। ईसी समता बिट्स के कारण ओवरहेड को कम करता है। इसलिए, ये HDFS सुविधाएं Apache Hadoop कार्यक्षमता को सशक्त बनाना।

यदि आपके पास एचडीएफएस में इरेज़र कोडिंग से संबंधित कोई प्रश्न या सुझाव है, तो कृपया हमें नीचे दिए गए अनुभाग में टिप्पणी करें।


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cloudera प्रतिकृति प्लगइन Apache HBase के लिए x-प्लेटफ़ॉर्म प्रतिकृति को सक्षम करता है

  2. तो आपका HBase टूट गया है

  3. क्लौडेरा इम्पाला:अपाचे हडोप में रीयल-टाइम क्वेरीज़, रियल के लिए

  4. कैसे करें:Apache HBase REST इंटरफ़ेस का उपयोग करें, भाग 3

  5. एक खुला मानक बनाना:अपाचे एटलस का उपयोग करके मशीन लर्निंग गवर्नेंस