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

क्लाउड वातावरण में SSD पर बेंचमार्क Apache HBase बनाम Apache Cassandra

यह ब्लॉग पोस्ट Cloudera के साथ विलय से पहले Hortonworks.com पर प्रकाशित हुआ था। कुछ लिंक, संसाधन या संदर्भ अब सटीक नहीं हो सकते हैं।

अवलोकन

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

बेंचमार्क का डिज़ाइन

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

परिणाम

विश्लेषण

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

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

परीक्षण सेटअप

मशीन:

परीक्षण क्लस्टर में 5 मशीनें होती हैं। मशीन विवरण:

एडब्ल्यूएस I3.xlarge

OS चलाने के लिए 60GB GP2

सीधे संलग्न NVMe संग्रहण, 0.95TB

4 vCPU, प्रत्येक vCPU (वर्चुअल CPU) 2.3 GHz पर चलने वाले Intel E5-2686 v4 (ब्रॉडवेल) प्रोसेसर पर एक हार्डवेयर हाइपर-थ्रेड है।

30.5GB रैम

शोर पड़ोसी मुद्दों को कम करने के लिए, हमने AWS समर्पित उदाहरणों पर परीक्षण चलाए।

बेंचमार्क सॉफ्टवेयर:

परीक्षण डेटासेट:YCSB के माध्यम से उत्पन्न 1TB

टेस्ट सूट:https://github.com/brianfrankcooper/YCSB

टेस्ट स्क्रिप्ट: https://github.com/2bethere/hbase-cassandra-bench

सॉफ्टवेयर और पर्यावरण:

HDP 2.6.1
DSE 5.0.8
CentOS 7
Java 8

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

परिनियोजन के दौरान, हमने यहां पोस्ट किए गए कैसेंड्रा अनुकूलन मार्गदर्शिका का भी अनुसरण किया:http://docs.datastax.com/en/dse/5.1/dse-admin/datastax_enterprise/config/configRecommendedSettings.html

YCSB क्लाइंट प्रत्येक 5 नोड्स पर स्थित होते हैं और लोड उत्पन्न करने के लिए एक साथ चलते हैं। डेटासेट जनरेशन के दौरान, हमने थ्रेड काउंट को 40 तक कम कर दिया है।

परीक्षण पद्धति

हम प्रत्येक कार्यभार के लिए 40 थ्रेड्स के साथ डेटासेट लोड कर रहे हैं, यह देखते हुए कि प्रत्येक बेंचमार्क के लिए डेटासेट वितरण अलग है। लोड करने के बाद, हम वर्कलोड टेस्ट शुरू करने से पहले सभी कॉम्पैक्शन ऑपरेशन खत्म होने की प्रतीक्षा करते हैं। प्रत्येक कार्यभार 500,000 कार्यों के साथ 3 बार चलाया गया। अंतिम संख्या उत्पन्न करने के लिए औसत संख्या 3 परीक्षणों से ली जाती है।

वाईसीएसबी के बारे में

वाईसीएसबी, या याहू! क्लाउड सर्विंग बेंचमार्क आमतौर पर इस्तेमाल किया जाने वाला बेंचमार्क टूल है। यह विभिन्न समाधानों में तुलनात्मक परिणाम प्रदान करता है। हमने YCSB द्वारा प्रदान किया गया डिफ़ॉल्ट कार्यभार चलाया है।

कार्यभार A:भारी अपडेट करें
आवेदन उदाहरण:सत्र की दुकान, हाल की क्रियाओं को रिकॉर्ड करना

कार्यभार B:अधिकतर पढ़ें
आवेदन उदाहरण:फोटो टैगिंग; टैग जोड़ना एक अपडेट है, लेकिन अधिकांश ऑपरेशन टैग पढ़ने के लिए होते हैं

कार्यभार C:केवल पढ़ने के लिए
एप्लिकेशन उदाहरण:उपयोगकर्ता प्रोफ़ाइल कैश, जहां प्रोफ़ाइल कहीं और बनाई गई हैं (उदाहरण के लिए, Hadoop)

कार्यभार डी:नवीनतम कार्यभार पढ़ें
आवेदन उदाहरण:उपयोगकर्ता स्थिति अद्यतन; लोग नवीनतम जानकारी पढ़ना चाहते हैं

कार्यभार ई:लघु श्रेणियां
एप्लिकेशन उदाहरण:थ्रेडेड वार्तालाप, जहां प्रत्येक स्कैन किसी दिए गए थ्रेड में पोस्ट के लिए होता है (माना जाता है कि थ्रेड आईडी द्वारा क्लस्टर किया गया है)

कार्यभार F:कार्यभार पढ़ें-संशोधित करें-लिखें
एप्लिकेशन उदाहरण:उपयोगकर्ता डेटाबेस, जहां उपयोगकर्ता रिकॉर्ड उपयोगकर्ता द्वारा पढ़ा और संशोधित किया जाता है या उपयोगकर्ता गतिविधि रिकॉर्ड करने के लिए।


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. जन्मदिन मुबारक हो अपाचे HBase! लचीलापन, स्थिरता और प्रदर्शन के 10 साल

  2. अपाचे HBase क्या करें और क्या न करें

  3. HBase znodes क्या हैं?

  4. छोटी फ़ाइलें समस्या

  5. Hadoop में HDFS NameNode उच्च उपलब्धता