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

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

लंबी अवधि के गहन इंजीनियरिंग प्रयास और उपयोगकर्ता प्रतिक्रिया के बाद, हम क्लाउडेरा इम्पाला परियोजना की घोषणा करते हुए बहुत प्रसन्न और गौरवान्वित महसूस कर रहे हैं। Hadoop उपयोगकर्ताओं के लिए यह तकनीक क्रांतिकारी है, और हम उस दावे को हल्के में नहीं लेते हैं।

जब Google ने 2010 में अपना ड्रेमेल पेपर प्रकाशित किया, तो हम तकनीकी दृष्टि से बाकी समुदाय की तरह ही अपाचे हडोप के लिए वास्तविक समय, तदर्थ क्वेरी क्षमता लाने के लिए प्रेरित हुए, जो पारंपरिक मैपरेडस बैच प्रोसेसिंग का पूरक था। आज, हम एक पूरी तरह कार्यात्मक, ओपन-सोर्स कोडबेस की घोषणा कर रहे हैं जो उस दृष्टि को प्रदान करता है - और, हम मानते हैं, थोड़ा और - जिसे हम क्लौडेरा इम्पाला कहते हैं। इम्पाला बाइनरी अब सार्वजनिक बीटा रूप में उपलब्ध है, लेकिन यदि आप इम्पाला को प्री-बेक्ड वीएम के माध्यम से टेस्ट-ड्राइव करना पसंद करते हैं, तो हमारे पास आपके लिए भी उनमें से एक है। आप अभी Github पर सोर्स कोड और टेस्टिंग हार्नेस की समीक्षा भी कर सकते हैं।

इम्पाला एक परिचित उपयोगकर्ता अनुभव को बनाए रखते हुए क्वेरी प्रदर्शन के लिए बार उठाता है। इम्पाला के साथ, आप वास्तविक समय में डेटा को क्वेरी कर सकते हैं, चाहे वह एचडीएफएस या अपाचे एचबेस में संग्रहीत हो - जिसमें सेलेक्ट, जॉइन और एग्रीगेट फ़ंक्शन शामिल हों। इसके अलावा, यह अपाचे हाइव के समान मेटाडेटा, एसक्यूएल सिंटैक्स (हाइव एसक्यूएल), ओडीबीसी ड्राइवर और यूजर इंटरफेस (ह्यू बीसवैक्स) का उपयोग करता है, बैच-उन्मुख या रीयल-टाइम प्रश्नों के लिए एक परिचित और एकीकृत मंच प्रदान करता है। (इसी कारण से, हाइव उपयोगकर्ता इम्पाला का उपयोग थोड़े से सेटअप ओवरहेड के साथ कर सकते हैं।) पहले बीटा ड्रॉप में टेक्स्ट फाइलों और सीक्वेंसफाइल्स के लिए समर्थन शामिल है; SequenceFiles को Snappy, GZIP और BZIP (अधिकतम प्रदर्शन के लिए अनुशंसित Snappy के साथ) के रूप में संपीड़ित किया जा सकता है। उत्पादन में गिरावट के लिए एवरो, RCFile, LZO टेक्स्ट फ़ाइलों और Parquet स्तंभ प्रारूप सहित अतिरिक्त प्रारूपों के लिए समर्थन की योजना बनाई गई है।

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

एक उच्च-स्तरीय वास्तुशिल्प दृश्य नीचे है:

Hadoop डेटा को क्वेरी करने के लिए वैकल्पिक तरीकों की तुलना में इस दृष्टिकोण के कई फायदे हैं, जिनमें शामिल हैं::

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

हम आपको अधिक तकनीकी विवरण के लिए दस्तावेज़ीकरण पढ़ने के लिए प्रोत्साहित करते हैं।

अंत में, हम कुछ ऐसे सवालों के जवाब देना चाहेंगे जो हमें उम्मीद है कि लोकप्रिय होंगे:

क्या इम्पाला खुला स्रोत है?
हां, इम्पाला 100% खुला स्रोत (अपाचे लाइसेंस) है। आप आज ही Github पर कोड की समीक्षा कर सकते हैं।

इपाला डरमेल से किस प्रकार भिन्न है?
पहला और मुख्य अंतर यह है कि इम्पाला खुला स्रोत है और सभी के उपयोग के लिए उपलब्ध है, जबकि ड्रेमेल Google के स्वामित्व में है।

तकनीकी रूप से, Dremel दो तकनीकों के उपयोग के माध्यम से बहुत बड़े डेटा सेट पर इंटरैक्टिव प्रतिक्रिया समय प्राप्त करता है:

  • नेस्टेड संरचनाओं के साथ नेस्टेड रिलेशनल डेटा/डेटा के लिए एक नया कॉलमर स्टोरेज प्रारूप
  • वितरित स्केलेबल एकत्रीकरण एल्गोरिदम, जो समानांतर में हजारों मशीनों पर एक क्वेरी के परिणामों की गणना करने की अनुमति देता है।

उत्तरार्द्ध समानांतर डीबीएमएस के लिए विकसित तकनीकों से उधार लिया गया है, जिसने इम्पाला के निर्माण को भी प्रेरित किया। 2010 के पेपर में वर्णित ड्रेमेल के विपरीत, जो केवल सिंगल-टेबल प्रश्नों को संभाल सकता है, इम्पाला पहले से ही जुड़ने वाले ऑपरेटरों के पूर्ण सेट का समर्थन करता है जो कि एसक्यूएल को इतना लोकप्रिय बनाने वाले कारकों में से एक हैं।

Dremel द्वारा प्रदर्शित पूर्ण प्रदर्शन लाभों को प्राप्त करने के लिए, Hadoop के पास शीघ्र ही एक कुशल स्तंभ बाइनरी स्टोरेज प्रारूप होगा, जिसे Parquet कहा जाता है। लेकिन ड्रेमेल के विपरीत, इम्पाला कई लोकप्रिय फ़ाइल स्वरूपों का समर्थन करता है। यह उपयोगकर्ताओं को इम्पाला को अपने मौजूदा डेटा पर "लोड" या इसे बदलने के बिना चलाने देता है। यह उपयोगकर्ताओं को यह तय करने देता है कि क्या वे लचीलेपन या केवल शुद्ध प्रदर्शन के लिए अनुकूलित करना चाहते हैं।

संक्षेप में, इम्पाला प्लस पैराक्वेट ड्रेमल पेपर में वर्णित क्वेरी प्रदर्शन को प्राप्त करेगा, लेकिन एसक्यूएल कार्यक्षमता में वर्णित की तुलना में आगे निकल जाएगा।

हाइव की तुलना में इम्पाला प्रश्न वास्तव में कितने तेज़ हैं?
प्रदर्शन सुधार की सटीक मात्रा कई कारकों पर अत्यधिक निर्भर है:

  • हार्डवेयर कॉन्फ़िगरेशन:इम्पाला आम तौर पर हार्डवेयर संसाधनों का पूरा लाभ उठाने में सक्षम है और विशेष रूप से हाइव की तुलना में कम CPU लोड उत्पन्न करता है, जो अक्सर हाइव की तुलना में उच्च देखे गए कुल I/O बैंडविड्थ में अनुवाद करता है। इम्पाला निश्चित रूप से हार्डवेयर परमिट से तेज नहीं जा सकता है, इसलिए कोई भी हार्डवेयर अड़चनें देखे गए स्पीडअप को सीमित कर देंगी। विशुद्ध रूप से I/O बाध्य प्रश्नों के लिए, हम आमतौर पर 3-4x की सीमा में प्रदर्शन लाभ देखते हैं।
  • क्वेरी की जटिलता:जिन प्रश्नों के लिए हाइव में कई MapReduce चरणों की आवश्यकता होती है या रिड्यूस-साइड जॉइन की आवश्यकता होती है, उनमें साधारण सिंगल-टेबल एग्रीगेशन क्वेरी की तुलना में अधिक गति दिखाई देगी। कम से कम एक जॉइन वाले प्रश्नों के लिए, हमें 7-45X का प्रदर्शन लाभ प्रतीत होता है।
  • टेबल डेटा के लिए कैश के रूप में मुख्य मेमोरी की उपलब्धता:यदि क्वेरी के माध्यम से एक्सेस किया गया डेटा कैश से बाहर आता है, तो इम्पाला की बेहतर दक्षता के लिए स्पीडअप अधिक नाटकीय होगा। उन परिदृश्यों में, हमने साधारण एकत्रीकरण प्रश्नों पर भी हाइव पर 20x-90x की गति देखी है।

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

क्या इम्पाला बीटा रिलीज़ की कोई तकनीकी सीमाएँ हैं?
जैसा कि पहले उल्लेख किया गया है, पहले बीटा ड्रॉप में समर्थित फ़ाइल स्वरूपों में टेक्स्ट फ़ाइलें और SequenceFiles शामिल हैं, और कई अन्य प्रारूप आगामी प्रोडक्शन रिलीज़ में समर्थित हैं। इसके अलावा, वर्तमान में सभी जॉइन एक मेमोरी स्पेस में किए जाते हैं जो क्लस्टर में सबसे छोटे नोड से बड़ा नहीं होता है; उत्पादन में, जॉइन कुल मेमोरी में किया जाएगा। अंत में, इस समय कोई भी UDF संभव नहीं है।

इम्पाला बीटा रिलीज के लिए तकनीकी आवश्यकताएं क्या हैं?
आपको RHEL/CentOS 6.2 पर CDH4.1 इंस्टॉल करना होगा। इम्पाला को तैनात और प्रबंधित करने के लिए हम क्लाउडेरा मैनेजर (फ्री या एंटरप्राइज एडिशन) के उपयोग की अत्यधिक अनुशंसा करते हैं क्योंकि यह स्वचालित रूप से वितरित परिनियोजन और निगरानी विवरण का ख्याल रखता है।

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

इंपला आम तौर पर उत्पादन के उपयोग के लिए कब उपलब्ध होगा?
2013 की पहली तिमाही के लिए उत्पादन में गिरावट की योजना है। ग्राहक उस समय Cloudera Enterprise RTQ सदस्यता के रूप में व्यावसायिक सहायता प्राप्त कर सकते हैं।

हम आशा करते हैं कि आप इम्पाला स्रोत कोड की समीक्षा करने, बीटा रिलीज़ को एक्सप्लोर करने, वीएम, या उपरोक्त के किसी भी संयोजन को डाउनलोड और इंस्टॉल करने का अवसर लेते हैं। सभी मामलों में आपकी प्रतिक्रिया की सराहना की जाती है; इम्पाला को और बेहतर बनाने के लिए हमें आपकी मदद की जरूरत है।

हम आपको इम्पाला के बारे में और अपडेट लाएंगे क्योंकि हम उत्पादन उपलब्धता के करीब पहुंचेंगे। (अपडेट:इम्पाला 1.0 के बारे में पढ़ें।)

इम्पाला संसाधन:
– इम्पाला स्रोत कोड
– इम्पाला डाउनलोड (बीटा रिलीज़ और VM)
– इम्पाला दस्तावेज़ीकरण
– सार्वजनिक JIRA
– इम्पाला मेलिंग सूची
– मुफ़्त इम्पाला प्रशिक्षण (स्क्रीनकास्ट)

(10/30/2012 को जोड़ा गया) इम्पाला के बारे में तृतीय-पक्ष लेख:
- GigaOm:Hadoop के लिए रीयल-टाइम क्वेरी बड़े डेटा एनालिटिक्स तक पहुंच का लोकतंत्रीकरण करती है (अक्टूबर 22, 2012)
- वायर्ड: मैन बस्ट आउट ऑफ़ Google, रीबिल्ड टॉप-सीक्रेट क्वेरी मशीन (अक्टूबर 24, 2012)
– सूचना सप्ताह: क्लौडेरा ने रीयल-टाइम Hadoop क्वेरी शुरू की (अक्टूबर 24, 2012)
– गीगाओम:Cloudera SQL को Hadoop पर प्रथम श्रेणी का नागरिक बनाता है (24 अक्टूबर, 2012)
– ZDNet:Cloudera's Impala ने Hadoop को SQL और BI में लाया (अक्टूबर 25, 2012)
– वायर्ड:मार्सेल कोर्नकर प्रोफाइल (अक्टूबर 29, 2012)
– डॉ. डॉब्स: क्लौडेरा इम्पाला – की गति से पेटाबाइट्स का प्रसंस्करण सोचा (अक्टूबर 29, 2012)

मार्सेल कोर्नकर इम्पाला के वास्तुकार हैं। Cloudera में शामिल होने से पहले, वह Google के F1 प्रोजेक्ट के क्वेरी इंजन के प्रमुख डेवलपर थे।

जस्टिन एरिकसन इम्पाला के उत्पाद प्रबंधक हैं।


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. HBase BlockCache 101

  2. Hadoop RecordReader परिचय, कार्य और प्रकार

  3. Hadoop - शुरुआती के लिए एक Apache Hadoop ट्यूटोरियल

  4. परिचालन डेटाबेस सुरक्षा - भाग 1

  5. YCSB का उपयोग करके HBase प्रदर्शन परीक्षण