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

क्लौडेरा ऑपरेशनल डेटाबेस एप्लीकेशन डेवलपमेंट कॉन्सेप्ट्स

Cloudera ऑपरेशनल डेटाबेस अब Cloudera डेटा प्लेटफ़ॉर्म (CDP) में तीन अलग-अलग रूप-कारकों में उपलब्ध है।

यदि आप क्लौडेरा ऑपरेशनल डेटाबेस में नए हैं, तो यह ब्लॉग पोस्ट देखें। और, यहां दस्तावेज़ीकरण देखें।

इस ब्लॉग पोस्ट में, हम क्लौडेरा ऑपरेशनल डेटाबेस के लिए विकासशील अनुप्रयोगों के लिए प्रासंगिक अपाचे एचबेस और अपाचे फीनिक्स अवधारणाओं को देखेंगे।

लेकिन सबसे पहले, ये विभिन्न रूप कारक हैं जिनमें क्लौडेरा ऑपरेशनल डेटाबेस डेवलपर्स के लिए उपलब्ध है:

सार्वजनिक बादल:

  • CDP डेटा हब ऑपरेशनल डेटाबेस टेम्प्लेट 
  • क्लौडेरा ऑपरेशनल डेटाबेस (सीओडी) अनुभव जो एक प्रबंधित dbPaa समाधान है

ऑन-प्रिमाइसेस:

  • CDP निजी क्लाउड बेस

विभिन्न प्रपत्र-कारक आपको ऐसे एप्लिकेशन विकसित करने में सक्षम बनाते हैं जो ऑन-प्रिमाइसेस, सार्वजनिक क्लाउड या दोनों पर चला सकते हैं।

Cloudera ऑपरेशनल डेटाबेस Apache HBase और Apache फीनिक्स द्वारा संचालित है। Cloudera ऑपरेशनल डेटाबेस में, आप Apache HBase को डेटास्टोर के रूप में HDFS और/या S3 के साथ स्टोरेज इंफ्रास्ट्रक्चर प्रदान करते हैं। आपके पास या तो मूल Apache HBase अनुप्रयोगों में से किसी एक का उपयोग करके एप्लिकेशन विकसित करने का विकल्प है, या आप डेटा एक्सेस के लिए Apache फीनिक्स का उपयोग कर सकते हैं। अपाचे फीनिक्स एक एसक्यूएल परत है जो एक प्रोग्रामेटिक एएनएसआई एसक्यूएल इंटरफेस प्रदान करता है। यह Apache HBase के शीर्ष पर काम करता है, और यह मानक SQL क्वेरी का उपयोग करके डेटा को संभालना संभव बनाता है। (डीएमएल स्टेटमेंट मानक एसक्यूएल नहीं हैं)।

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

ऑपरेशनल डेटाबेस में डेटा को स्टोर और एक्सेस करने के लिए, आप निम्न में से एक कर सकते हैं:

HBase में डेटा के साथ इंटरैक्ट करने के लिए देशी Apache HBase क्लाइंट API का उपयोग करें:

  • जावा के लिए HBase API का उपयोग करें
  • HBase REST सर्वर का उपयोग करें

आप Hue HBase ऐप का उपयोग करके भी अपने डेटा तक पहुंच सकते हैं। यह ऐप एक कंसोल है जिसका उपयोग आप Apache HBase में संग्रहीत डेटा तक पहुँचने के लिए कर सकते हैं।

या, Apache HBase में संग्रहीत डेटा के साथ बातचीत करने के लिए Apache फीनिक्स ड्राइवरों में से एक के साथ Apache फीनिक्स का उपयोग करें:

  • अपाचे फीनिक्स के लिए JDBC ड्राइवर का उपयोग करें
  • अपाचे फीनिक्स के लिए ODBC ड्राइवर का उपयोग करें
  • अपाचे फीनिक्स के लिए पायथन ड्राइवर का उपयोग करें

आइए हम Apache HBase और Apache फीनिक्स में उन अवधारणाओं को देखें जिनकी आपको अपने अनुप्रयोग विकास के लिए आवश्यकता है।

नाम स्थान

एक नेमस्पेस एक रिलेशनल डेटाबेस सिस्टम में डेटाबेस के अनुरूप तालिकाओं का तार्किक समूह है।

टेबल और पंक्तियाँ

एक या अधिक कॉलम क्वालिफायर एक पंक्ति बनाते हैं; एक या अधिक पंक्तियाँ एक तालिका बनाती हैं। प्रत्येक पंक्ति को एक पंक्ति कुंजी द्वारा पहचाना जा सकता है। एप्लिकेशन लिखते समय, आप अद्वितीय पंक्ति कुंजी का उपयोग करके एक पंक्ति या पंक्तियों के अनुक्रम तक पहुंच सकते हैं।

स्तंभ परिवार

कॉलम परिवार तालिका निर्माण के समय परिभाषित करते हैं कि वे एक दूसरे से कैसे संबंधित हैं। कॉलम परिवारों में कॉलम क्वालिफायर हो सकते हैं जहां मूल्यों को संग्रहीत किया जा सकता है। कॉलम क्वालिफायर को कभी-कभी सिर्फ कॉलम कहा जाता है और कॉलम परिवारों में व्यवस्थित किया जाता है। भंडारण में स्तंभ परिवार एक साथ स्थित हैं।

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

संपीड़न और एन्कोडिंग कॉलम-पारिवारिक स्तर पर लागू होते हैं। आपको प्रत्येक कॉलम परिवार के लिए डेटा प्रकार घोषित करने की आवश्यकता नहीं है और एक कॉलम परिवार में कई डेटा प्रकारों का डेटा हो सकता है।

अपाचे HBase तालिकाओं की संरचना

Apache HBase तालिकाओं में एक या अधिक स्तंभ परिवार होते हैं और शायद कई क्षेत्रों में विभाजित होते हैं। प्रत्येक क्षेत्र में प्रत्येक कॉलम परिवार का डेटा कई HFiles पर सहेजा जाता है, जो HDFS या ऑब्जेक्ट स्टोरेज जैसे S3 और ADLS में होते हैं।

प्रत्येक क्षेत्र एक विशिष्ट कीस्पेस रेंज के भीतर पंक्तियों को संग्रहीत करता है, जो कि एक प्रारंभिक पंक्ति कुंजी और एक अंतिम पंक्ति कुंजी के बीच है। पंक्ति कुंजियाँ किसी क्षेत्र के लिए अद्वितीय होती हैं और कोई भी दो क्षेत्र ओवरलैप नहीं होते हैं। एक क्षेत्र को एक समय में एक क्षेत्र सर्वर द्वारा परोसा जाता है, जो एक पंक्ति में स्थिरता सुनिश्चित करता है।

Apache HBase क्षेत्र के विभाजन और विलय के बारे में अधिक जानने के लिए, यहाँ ब्लॉग पोस्ट देखें:https://blog.cloudera.com/apache-hbase-region-splitting-and-merging/

अपाचे HBase डेटा लेआउट

Apache HBase ऑनलाइन ट्रांजेक्शन प्रोसेसिंग (OLTP) मामलों में उत्कृष्ट है क्योंकि इसकी मूल स्टोरेज यूनिट के एक से अधिक संस्करण हो सकते हैं जिसे टाइमस्टैम्प के आधार पर कॉलम क्वालिफायर (CQ) कहा जाता है। प्रत्येक कॉलम क्वालीफायर संस्करण का अद्वितीय मूल्य अलग से संग्रहीत किया जाता है। एक कॉलम परिवार में किसी भी संख्या में सेल हो सकते हैं और वे पूरी तरह से यादृच्छिक हो सकते हैं और प्रत्येक पंक्ति में अलग-अलग डेटा प्रकार, संख्याएं और नाम हो सकते हैं। आप एक कॉलम परिवार में कितनी भी संख्या में सेल स्टोर कर सकते हैं, लेकिन ध्यान दें कि एक कॉलम परिवार में कॉलम क्वालिफायर अन्य कॉलम परिवारों में कॉलम क्वालिफायर से अलग संग्रहीत किए जाते हैं।

यदि आप रुचि रखते हैं कि Apache HBase मल्टीवर्सन कंसुरेंसी कंट्रोल (MVCC) कैसे करता है, तो आप इस ब्लॉग पोस्ट को पढ़ सकते हैं:https://blogs.apache.org/hbase/entry/apache_hbase_internals_locking_and।

अपाचे फीनिक्स टेबल

Apache फीनिक्स टेबल का Apache HBase टेबल के साथ 1:1 संबंध है। आप Apache फीनिक्स DDL स्टेटमेंट जैसे CREATE TABLE का उपयोग करके एक नई टेबल बनाना चुन सकते हैं, या VIEW स्टेटमेंट का उपयोग करके मौजूदा Apache HBase टेबल पर एक व्यू बना सकते हैं।

Apache फीनिक्स DDL स्टेटमेंट का उपयोग करके Apache HBase टेबल की सामग्री बनाएं, छोड़ें या संशोधित करें। कई मामलों में, आप Apache HBase देशी API का उपयोग करके सीधे Apache फीनिक्स तालिका को बदलने में सक्षम हो सकते हैं। यह क्लाउडेरा ऑपरेशनल डेटाबेस में समर्थित नहीं है और इसके परिणामस्वरूप त्रुटियां, असंगत इंडेक्स, गलत क्वेरी परिणाम और कभी-कभी दूषित डेटा होगा।

डेटा निगलना

आप क्लाउडेरा ऑपरेशनल डेटाबेस (सीओडी) में डेटा डालने के लिए अपाचे फीनिक्स एसक्यूएल स्टेटमेंट का उपयोग कर सकते हैं। COD अन्य Cloudera डेटा प्लेटफ़ॉर्म सेवाओं के साथ भी निकटता से एकीकृत है। आप निम्न लिंक में देख सकते हैं कि कुछ डेटा अंतर्ग्रहण क्षमताओं का उपयोग कैसे करें।

  • अपाचे HBase के साथ स्पार्क या हाइव का उपयोग डेटा को अंतर्ग्रहण करने के लिए करें। आप HBase-Spark कनेक्टर का उपयोग कर सकते हैं। साथ ही, उन तरीकों की सूची देखें जिनसे आप HBase में डेटा आयात कर सकते हैं HBase में डेटा आयात कर सकते हैं।
  • अपाचे फ़ीनिक्स के साथ स्पार्क या हाइव का उपयोग डेटा को अंतर्ग्रहण करने के लिए करें। आप फीनिक्स-स्पार्क और फीनिक्स-हाइव कनेक्टर्स का उपयोग कर सकते हैं। देखें, अपाचे फीनिक्स-स्पार्क कनेक्टर को समझना और अपाचे फीनिक्स-हाइव कनेक्टर को समझना।
  • डेटा अंतर्ग्रहण करने के लिए Cloudera DataFlow (Apache NiFi) का उपयोग करें। CDP पब्लिक क्लाउड में Apache HBase में डेटा इंजेस्ट करना देखें।
  • डेटा डालने के लिए Cloudera डेटा इंजीनियरिंग (स्पार्क) का उपयोग करें। देखें Cloudera ऑपरेशनल डेटाबेस - फ़ीनिक्स का उपयोग करके Cloudera डेटा इंजीनियरिंग।

अपाचे फीनिक्स डीएमएल कमांड्स

आप Apache फीनिक्स DML कमांड जैसे UPSERT या DELETE का उपयोग कर सकते हैं। सुनिश्चित करें कि आप जिस डीएमएल कमांड का उपयोग करना चाहते हैं वह अपाचे फीनिक्स द्वारा समर्थित है। अधिक जानकारी के लिए अपाचे फीनिक्स व्याकरण संदर्भ देखें।

डेटा एक्सेस करने के लिए ह्यू यूजर इंटरफेस

ह्यू एक वेब-आधारित इंटरैक्टिव SQL संपादक है जो आपको Cloudera ऑपरेशनल डेटाबेस में संग्रहीत डेटा के साथ सहभागिता करने में सक्षम बनाता है। क्लौडेरा ऑपरेशनल डेटाबेस सेवा के साथ ह्यू का उपयोग करने के बारे में अधिक जानकारी के लिए, क्लौडेरा ऑपरेशनल डेटाबेस ह्यू एक्सेस देखें।

डेटा हब और COD पर ऐप्लिकेशन चलाना

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

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

सीडीपी प्राइवेट क्लाउड बेस में, आप अपाचे नॉक्स यूजर इंटरफेस से यह जानकारी पा सकते हैं यदि आप अपाचे नॉक्स के माध्यम से फीनिक्स क्वेरी सर्वर (पीक्यूएस) से जुड़ना चाहते हैं, या क्लस्टर में निम्नलिखित स्थान पर मौजूद जेडीबीसी ड्राइवरों और फीनिक्स क्लाइंट जेएआर का उपयोग करें। एक फीनिक्स-गेटवे भूमिका के साथ नोड /opt/cloudera/parcels/CDH/lib/phoenix।

निष्कर्ष

अगले पदों में, हम नमूना अनुप्रयोगों सहित विकास के विचारों और निर्माण अनुप्रयोगों को देखेंगे।

आप डेटा हब में क्लाउडेरा ऑपरेशनल डेटाबेस के लिए कुछ मौजूदा नमूना एप्लिकेशन और दस्तावेज़ीकरण देख सकते हैं और क्लाउडेरा ऑपरेशनल डेटाबेस अनुभव dbPaaS समाधान निम्न लिंक में देख सकते हैं:

  • क्लौडेरा ऑपरेशनल डेटाबेस अनुभव अवलोकन
  • क्लौडेरा ऑपरेशनल डेटाबेस क्विक स्टार्ट
  • ऑपरेशनल डेटाबेस डेटा हब टेम्प्लेट के साथ शुरुआत करना
  • क्लौडेरा डेटा साइंस वर्कबेंच और ऑपरेशनल डेटाबेस के साथ मशीन लर्निंग एप्लिकेशन बनाना

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Hadoop 2.x बनाम Hadoop 3.x . के बीच 20 उल्लेखनीय अंतर

  2. Cloudera डेटा प्लेटफ़ॉर्म ऑपरेशनल डेटाबेस (COD) के साथ शुरुआत करना

  3. क्लाउडेरा ऑपरेशनल डेटाबेस प्रतिकृति संक्षेप में

  4. बिग डेटा हडूप की शीर्ष 10 विशेषताएं

  5. स्पार्क-ऑन-एचबेस:डेटाफ्रेम आधारित एचबीएएस कनेक्टर