HBase ट्यूटोरियल: HBase परिचय और फेसबुक केस स्टडी



यह HBase ट्यूटोरियल ब्लॉग आपको HBase और इसकी विशेषताओं के बारे में बताता है। इसमें HBase के लाभों को समझने के लिए फेसबुक मैसेंजर केस स्टडी को भी शामिल किया गया है।

जैसा कि हमने बताया ब्लॉग, HBase हमारे Hadoop पारिस्थितिकी तंत्र का एक अनिवार्य हिस्सा है। तो अब, मैं आपको HBase ट्यूटोरियल के माध्यम से ले जाना चाहता हूं, जहां मैं आपको Apache HBase से परिचित कराऊंगा, और फिर, हम फेसबुक मैसेंजर केस-स्टडी से गुजरेंगे। हम इस HBase ट्यूटोरियल ब्लॉग में निम्नलिखित विषयों को शामिल करने जा रहे हैं:

अपाचे HBase ट्यूटोरियल: इतिहास

आइए हम HBase के इतिहास से शुरू करते हैं और जानते हैं कि HBase समय के साथ कैसे विकसित हुआ।





HBase का इतिहास - HBase ट्यूटोरियल - एडुर्का

  • Apache HBase को Google के BigTable के बाद बनाया गया है, जिसका उपयोग विभिन्न Google सेवाओं जैसे मैप्स, फ़ाइनेंस, अर्थ आदि के लिए डेटा एकत्र करने और अनुरोध करने के लिए किया जाता है।
  • अपाचे HBase ने कंपनी पॉवर्सेट फॉर नेचुरल लैंग्वेज सर्च के एक प्रोजेक्ट के रूप में शुरू किया, जो बड़े पैमाने पर और विरल डेटा सेट को संभाल रहा था।
  • अपाचे HBase को पहली बार फरवरी 2007 में रिलीज़ किया गया था। बाद में जनवरी 2008 में, HBase Apache Hadoop का एक सब प्रोजेक्ट बन गया।
  • 2010 में, HBase Apache की शीर्ष स्तरीय परियोजना बन गई।

HBase ट्यूटोरियल | NoSQL डेटाबेस | Edureka



अपाचे HBase के इतिहास के बारे में जानने के बाद, आप यह जानने के लिए उत्सुक होंगे कि Apache HBase क्या है? आइए हम आगे बढ़ते हैं और एक नज़र डालते हैं।

अपाचे HBase ट्यूटोरियल: HBase का परिचय

HBase एक खुला स्रोत है, बहुआयामी, वितरित, स्केलेबल और a NoSQL डेटाबेस जावा में लिखा है। HBase शीर्ष पर चलता है HDFS (Hadoop वितरित फ़ाइल सिस्टम) और Hadoop को क्षमताओं की तरह BigTable प्रदान करता है। इसे विरल डेटा सेट के बड़े संग्रह को संग्रहीत करने का एक दोषपूर्ण सहिष्णु तरीका प्रदान करने के लिए डिज़ाइन किया गया है।

चूंकि, HBase भारी डेटा सेट पर तेजी से पढ़ें / लिखें एक्सेस प्रदान करके उच्च प्रवाह और निम्न विलंबता को प्राप्त करता है। इसलिए, HBase उन अनुप्रयोगों के लिए विकल्प है जिनके लिए बड़ी मात्रा में डेटा की तीव्र और यादृच्छिक पहुंच की आवश्यकता होती है।



यह तेज और यादृच्छिक रीड-राइट की आवश्यकता को पूरा करने के लिए संपीड़न, इन-मेमोरी ऑपरेशंस और ब्लूम फिल्टर (डेटा संरचना जो बताता है कि क्या कोई मूल्य सेट में मौजूद है या नहीं) प्रदान करता है।

इसे एक उदाहरण के माध्यम से समझते हैं: एक जेट इंजन विभिन्न सेंसर जैसे दबाव सेंसर, तापमान सेंसर, स्पीड सेंसर आदि से विभिन्न प्रकार के डेटा उत्पन्न करता है, जो इंजन के स्वास्थ्य को इंगित करता है। उड़ान की समस्याओं और स्थिति को समझने के लिए यह बहुत उपयोगी है। निरंतर इंजन संचालन प्रति उड़ान 500 जीबी डेटा उत्पन्न करता है और प्रति दिन लगभग 300 हजार उड़ानें होती हैं। इसलिए, निकट भविष्य में ऐसे डेटा पर लागू होने वाले इंजन एनालिटिक्स का उपयोग समस्याओं के निदान और अनियोजित डाउनटाइम को कम करने के लिए किया जा सकता है। इसके साथ बड़ी मात्रा में डेटा संग्रहीत करने के लिए एक वितरित वातावरण की आवश्यकता होती है तेजी से यादृच्छिक पढ़ता है और लिखता है वास्तविक समय प्रसंस्करण के लिए। यहाँ, बचाव के लिए HBase आता है। मैं अपने अगले ब्लॉग पर HBase रीड एंड राइट के बारे में विस्तार से बात करूंगा HBase वास्तुकला

जैसा कि हम जानते हैं कि HBase एक NoSQL डेटाबेस है। इसलिए, HBase के बारे में अधिक समझने से पहले, पहले NoSQL डेटाबेस और इसके प्रकारों के बारे में चर्चा करें।

अपाचे HBase ट्यूटोरियल: NoSQL डेटाबेस

NoSQL का मतलब है एसक्यूएल ही नहीं । NoSQL डेटाबेस को इस तरह से तैयार किया जाता है कि यह सारणीबद्ध स्वरूपों के अलावा अन्य डेटा का प्रतिनिधित्व कर सकता है, अनकाइल रिलेशनल डेटाबेस। यह डेटाबेस में डेटा का प्रतिनिधित्व करने के लिए विभिन्न स्वरूपों का उपयोग करता है और इस प्रकार, उनके प्रतिनिधित्व प्रारूप के आधार पर विभिन्न प्रकार के NoSQL डेटाबेस हैं। NoSQL डेटाबेस के अधिकांश उपलब्धता और स्थिरता पर गति का लाभ उठाते हैं। अब, हम आगे बढ़ते हैं और विभिन्न प्रकार के NoSQL डेटाबेस और उनके प्रतिनिधित्व स्वरूपों के बारे में समझते हैं।

की-वैल्यू स्टोर:

यह एक स्कीमा-कम डेटाबेस है जिसमें चाबियाँ और मूल्य शामिल हैं। प्रत्येक कुंजी, एक मान को इंगित करता है जो बाइट्स का एक सरणी है, एक स्ट्रिंग, BLOB, XML, आदि हो सकता है। उदा। लेम्बोर्गिनी एक कुंजी है और गैलार्डो, एवेंटाडोर, मर्सिएलेगो, रेवेंटोन, डियाब्लो, हुरकैन, वेनेनो, सेंटेनारियो आदि को एक मूल्य के रूप में इंगित कर सकती है।

की-वैल्यू स्टोर डेटाबेस: एरोस्पेस, काउचबेस, डायनमो, फेयरकॉम सी-ट्रीसेक, फाउंडेशनडीबी, हाइपरडेक्स, मेम्चेचेबीडी, एमयूएमपीएस, ओरेकल नूएसक्यूएल डेटाबेस, ओरिएंटबीडी, रेडिस, रीक, बर्कले डीबी।

उदाहरण

की-वैल्यू स्टोर आकार को अच्छी तरह से संभालते हैं और कम विलंबता के साथ पढ़ने / लिखने के संचालन की एक निरंतर धारा को संसाधित करने में अच्छे होते हैं। यह उनके लिए एकदम सही हैउपयोगकर्ता प्राथमिकता और प्रोफ़ाइल स्टोर,उत्पाद सिफारिशें नवीनतम ग्राहक भविष्य की उत्पाद अनुशंसाओं को चलाने के लिए एक खुदरा वेबसाइट पर देखी गई नवीनतम वस्तुएँ,ग्राहक सेवा की आदतों की विज्ञापन सेवा का परिणाम वास्तविक समय में प्रत्येक ग्राहक के लिए अनुकूलित विज्ञापन, कूपन आदि के रूप में होता है।

दस्तावेज़ उन्मुख :

यह एक ही कुंजी मूल्य जोड़ी का अनुसरण करता है, लेकिन यह XML, JSON, BSON जैसी अर्ध संरचित है। इन संरचनाओं को दस्तावेज़ के रूप में माना जाता है।

दस्तावेज़ आधारित डेटाबेस: Apache CouchDB, Clusterpoint, Couchbase, DocumentDB, HyperDex, IBM Domino, MarkLogic, MongoDB, OrientDB, Qizx, RethinkDB।

उदाहरण

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

कॉलम ओरिएंटेड:

इस डेटाबेस में, पंक्तियों के बजाय स्तंभ में वर्गीकृत सेल में डेटा संग्रहीत किया जाता है। कॉलम तार्किक रूप से स्तंभ परिवारों में वर्गीकृत किए जाते हैं जो या तो स्कीमा परिभाषा के दौरान या रनटाइम के दौरान बनाए जा सकते हैं।

इस प्रकार के डेटाबेस निरंतर डिस्क प्रविष्टि के रूप में एक स्तंभ के अनुरूप सभी सेल को संग्रहीत करते हैं, इस प्रकार पहुंच और खोज को बहुत तेज़ बनाते हैं।

स्तंभ आधारित डेटाबेस: HBase, Accumulo, Cassandra, Druid, Vertica।

उदाहरण

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

ग्राफ़ उन्मुख:

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

Graph based databases: AllegroGraph, ArangoDB, InfiniteGraph, Apache Giraph, MarkLogic, Neo4J, OrientDB, Virtuoso, Stardog.

उदाहरण

यह मूल रूप से फ्रॉड डिटेक्शन, रियल-टाइम सिफारिश इंजन (ज्यादातर मामलों में ई-कॉमर्स), मास्टर डेटा मैनेजमेंट (एमडीएम), नेटवर्क और आईटी ऑपरेशंस, आइडेंटिटी एंड एक्सेस मैनेजमेंट (IAM), आदि में उपयोग किया जाता है।

HBase और Cassandra दो प्रसिद्ध स्तंभ उन्मुख डेटाबेस हैं। तो, अब इसे उच्च स्तर पर बात कर रहे हैं, आइए हम HBase और कैसेंड्रा के बीच वास्तु और काम के अंतर की तुलना करें और समझें।

HBase ट्यूटोरियल: HBase VS Cassandra

  • HBase को बिगटेबल (Google) पर तैयार किया गया है जबकि कैसंड्रा डायनामो डीबी (Amazon) पर आधारित है जो शुरू में फेसबुक द्वारा विकसित किया गया था।
  • HBase ने Hadoop अवसंरचना (HDFS, ZooKeeper) का लाभ उठाया, जबकि Cassandra अलग-अलग विकसित हुई लेकिन आप अपनी आवश्यकताओं के अनुसार Hadoop और Cassandra को संयोजित कर सकते हैं।
  • HBase में कई घटक होते हैं जो HBase HMaster, ZooKeeper, NameNode, क्षेत्र सेवर जैसे एक साथ संचार करते हैं। जबकि कैसेंड्रा एक एकल नोड प्रकार है, जिसमें सभी नोड समान हैं और सभी कार्यों को करते हैं। कोई भी नोड समन्वयक हो सकता है जो विफलता के एकल बिंदु को हटा देता है।
  • HBase को पढ़ने के लिए अनुकूलित किया गया है और एकल लेखन का समर्थन करता है, जो सख्त स्थिरता की ओर जाता है। HBase रेंज आधारित स्कैन का समर्थन करता है, जिससे स्कैनिंग प्रक्रिया तेज होती है। जबकि कैसंड्रा एकल पंक्ति रीड का समर्थन करता है जो अंतिम स्थिरता रखता है।
  • कैसेंड्रा रेंज आधारित पंक्ति स्कैन का समर्थन नहीं करता है, जो HBase की तुलना में स्कैनिंग प्रक्रिया को धीमा कर देता है।
  • HBase विभाजन विभाजन के आदेश का समर्थन करता है, जिसमें एक कॉलम परिवार की पंक्तियों को RowKey क्रम में संग्रहीत किया जाता है, जबकि Casandra में आदेश दिया कि विभाजन एक चुनौती है। रोवे के कारण कैसंड्रा की तुलना में HBase में विभाजन प्रक्रिया तेज है।
  • HBase रीड लोड बैलेंसिंग का समर्थन नहीं करता है, एक रीजन सर्वर रीड रिक्वेस्ट को परोसता है और प्रतिकृतियां केवल विफलता के मामले में उपयोग की जाती हैं। जबकि कैसंड्रा रीड लोड बैलेंसिंग का समर्थन करता है और विभिन्न नोड्स से एक ही डेटा पढ़ सकता है। यह स्थिरता से समझौता कर सकता है।
  • कैप (संगति, उपलब्धता और विभाजन-अलगाव) प्रमेय HBase में निरंतरता और उपलब्धता बनी रहती है जबकि कैसंड्रा उपलब्धता और विभाजन-अंशांकन पर केंद्रित है।


अब एक गहरी डुबकी लेते हैं और Apache HBase की विशेषताओं को समझते हैं जो इसे इतना लोकप्रिय बनाता है।

अपाचे HBase ट्यूटोरियल: HBase की विशेषताएं

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

अब इस HBase ट्यूटोरियल में आगे बढ़ते हुए, मैं आपको बताता हूं कि उपयोग-मामले और परिदृश्य क्या हैं जहां HBase का उपयोग किया जा सकता है और फिर, मैं HDFS और HBase की तुलना करूंगा।

मैं आपका ध्यान उन परिदृश्यों की ओर आकर्षित करना चाहूंगा जिनमें HBase सबसे उपयुक्त है।

HBase ट्यूटोरियल: हम HBase का उपयोग कहां कर सकते हैं?

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

इससे पहले कि मैं फेसबुक मैसेंजर केस स्टडी पर जाऊं,मुझे बताएं कि HBase और HDFS में क्या अंतर हैं।

HBase ट्यूटोरियल: HBase VS HDFS

HDFS एक जावा आधारित वितरित फाइल सिस्टम है जो आपको Hadoop क्लस्टर में कई नोड्स में बड़े डेटा को स्टोर करने की अनुमति देता है। तो, वितरित वातावरण में डेटा को संग्रहीत करने के लिए एचडीएफएस एक अंतर्निहित भंडारण प्रणाली है। HDFS एक फाइल सिस्टम है, जबकि HBase एक डेटाबेस (NTFS और MySQL के समान) है।

जैसा कि HDFS और HBase दोनों वितरित वातावरण में किसी भी प्रकार के डेटा (यानी संरचित, अर्ध-संरचित और असंरचित) को संग्रहीत करते हैं, इसलिए HDFS फ़ाइल सिस्टम और HBase, एक NoSQL डेटाबेस के बीच अंतर को देखने देता है।

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

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

हालांकि HBase एक कॉलम ओरिएंटेड तरीके से डेटा संग्रहीत करता है, जहाँ प्रत्येक कॉलम को एक साथ संग्रहित किया जाता है, ताकि रीडिंग वास्तविक समय प्रसंस्करण का तेजी से लाभ उठा सके। जैसे एक समान ई-कॉमर्स वातावरण में, यह लाखों उत्पाद डेटा संग्रहीत करता है। इसलिए यदि आप लाखों उत्पादों के बीच एक उत्पाद की खोज करते हैं, तो यह अनुरोध और खोज प्रक्रिया का अनुकूलन करता है, परिणाम तुरंत उत्पन्न करता है (या आप वास्तविक समय में कह सकते हैं)। विस्तृत HBase वास्तुकला विवरण , मैं अपने अगले ब्लॉग में शामिल हो जाऊंगा।

जैसा कि हम जानते हैं कि HBase HDFS पर वितरित किया गया है, इसलिए दोनों का एक संयोजन हमें दोनों के लाभों का उपयोग करने का एक अच्छा अवसर देता है, एक अनुरूप समाधान में, जैसा कि हम नीचे फेसबुक मैसेंजर केस स्टडी में देखने जा रहे हैं।

HBase ट्यूटोरियल: फेसबुक मैसेंजर केस स्टडी

फेसबुक मैसेजिंग प्लेटफॉर्म नवंबर 2010 में अपाचे कैसेंड्रा से HBase में स्थानांतरित कर दिया गया।

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

उस समय प्रति माह 15 बिलियन व्यक्ति-से-अधिक संदेशों को भेजने वाले 350 मिलियन से अधिक उपयोगकर्ताओं को संदेश संरचना प्रदान की गई थी। चैट सेवा 300 मिलियन से अधिक उपयोगकर्ताओं का समर्थन करती है जो प्रति माह 120 बिलियन से अधिक संदेश भेजते हैं।

उपयोग की निगरानी करके, उन्हें पता चला कि, दो सामान्य डेटा पैटर्न उभरे:

  • अस्थायी डेटा का एक छोटा सेट जो अस्थिर होता है
  • डेटा का लगातार बढ़ता सेट जो शायद ही कभी एक्सेस किया जाता है

फेसबुक इन दो उपयोग पैटर्न के लिए एक भंडारण समाधान खोजना चाहता था और उन्होंने मौजूदा संदेश बुनियादी ढांचे के प्रतिस्थापन को खोजने के लिए जांच शुरू कर दी।

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

ओवरराइडिंग और ओवरलोडिंग के बीच अंतर क्या है

उन्होंने MySQL, Apache Cassandra, Apache HBase और अन्य प्रणालियों के समूहों का मूल्यांकन करने के लिए कुछ सप्ताह विभिन्न फ्रेमवर्क का परीक्षण करने में बिताए। उन्होंने अंततः HBase का चयन किया।

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

प्रमुख समस्याएं थीं:

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

चित्रा: फेसबुक मैसेंजर द्वारा चुनौती दी गई

इन सभी समस्याओं के लिए, फेसबुक एक समाधान यानी HBase लेकर आया। फेसबुक ने अपनी विभिन्न विशेषताओं के कारण फेसबुक मैसेंजर, चैट, ईमेल आदि की सेवा के लिए HBase को अपनाया।

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

HDFS, जो कि HBase द्वारा उपयोग की जाने वाली अंतर्निहित फ़ाइल प्रणाली है, ने उन्हें कई आवश्यक सुविधाएँ प्रदान कीं जैसे कि एंड-टू-एंड चेकसम, प्रतिकृति और स्वचालित लोड री-बैलेंसिंग।

चित्र: फेसबुक मैसेंजर के समाधान के रूप में HBase

जैसा कि उन्होंने HBase को अपनाया, उन्होंने परिणाम भी HBase पर ही वापस करने पर ध्यान केंद्रित किया और Apache समुदाय के साथ मिलकर काम करना शुरू कर दिया।

चूंकि संदेश विभिन्न स्रोतों जैसे एसएमएस, चैट और ईमेल से डेटा स्वीकार करते हैं, इसलिए उन्होंने उपयोगकर्ता के संदेश के लिए सभी निर्णय लेने से निपटने के लिए एक एप्लिकेशन सर्वर लिखा। यह बड़ी संख्या में अन्य सेवाओं के साथ इंटरफेस करता है। अटैचमेंट्स को एक हेयस्टैक (जो HBase पर काम करता है) में संग्रहित किया जाता है। उन्होंने Apache ZooKeeper के शीर्ष पर एक उपयोगकर्ता खोज सेवा भी लिखी, जो मित्र संबंधों, ईमेल खाता सत्यापन, वितरण निर्णयों और गोपनीयता निर्णयों के लिए अन्य अवसंरचना सेवाओं से बात करती है।

फेसबुक टीम ने यह पुष्टि करने में बहुत समय बिताया कि इनमें से प्रत्येक सेवा मजबूत, विश्वसनीय है और एक वास्तविक समय संदेश प्रणाली को संभालने के लिए अच्छा प्रदर्शन प्रदान करती है।

मुझे उम्मीद है कि यह HBase ट्यूटोरियल ब्लॉग जानकारीपूर्ण है और आपको यह पसंद आया। इस ब्लॉग में, आपको HBase की मूल बातें और इसकी विशेषताओं के बारे में पता चला।के मेरे अगले ब्लॉग में , मैं समझा रहा हूँ HBase की वास्तुकला और HBase का कार्य जो इसे तेज और यादृच्छिक पढ़ने / लिखने के लिए लोकप्रिय बनाता है।

अब जब आप HBase की मूल बातें समझ गए हैं, तो देखें 250,000 से अधिक संतुष्ट शिक्षार्थियों के एक नेटवर्क के साथ एक विश्वसनीय ऑनलाइन शिक्षण कंपनी, एडुरेका द्वारा, दुनिया भर में फैली हुई है। Edureka Big Data Hadoop सर्टिफिकेशन ट्रेनिंग कोर्स, शिक्षार्थियों को रिटेल, सोशल मीडिया, एविएशन, टूरिज्म, फाइनेंस डोमेन पर रियल-टाइम उपयोग मामलों का उपयोग करके HDFS, यार्न, MapReduce, Pig, Hive, HBase, Oozie, Flume और Sqoop में विशेषज्ञ बनने में मदद करता है।

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? कृपया टिप्पणी अनुभाग में इसका उल्लेख करें और हम आपके पास वापस आ जाएंगे।