2010-09-06 18 views
16

मैं सिर्फ यह जानना चाहता था कि क्या हबेस, कैसंड्रा, कॉचडब और मोनोगोडब के बीच कोई मौलिक अंतर है? दूसरे शब्दों में, क्या वे सभी एक ही बाजार में प्रतिस्पर्धा कर रहे हैं और एक ही समस्या को हल करने की कोशिश कर रहे हैं। या वे विभिन्न परिदृश्यों में सबसे अच्छा फिट बैठते हैं?एचबीएएस कैसंड्रा कॉचडब मोंगोडब..यह मौलिक अंतर?

यह सब सवाल पर आता है, मुझे कब चुना जाना चाहिए। स्वाद की बात?

धन्यवाद,

फेडरिको

+0

यह अद्यतित लेख सहायक है: http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis – coderz

उत्तर

12

वे @ बोहोजो से कुछ लंबे जवाब हैं। (लेकिन वे अच्छे लिंक हैं)

सच्चाई यह है कि वे "तरह की" प्रतिस्पर्धा कर रहे हैं। लेकिन उनके पास निश्चित रूप से अलग-अलग शक्तियां और कमजोरियां होती हैं और वे निश्चित रूप से सभी समस्याओं को हल नहीं करते हैं।

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

कुछ डीबी एमवीसीसी (बहु-संस्करण समवर्ती नियंत्रण) प्रदान करते हैं। मोंगो नहीं करता है।

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

तो अपने प्रश्न के लिए: दूसरे शब्दों में, क्या वे सभी एक ही बाजार में प्रतिस्पर्धा कर रहे हैं और एक ही समस्या को हल करने की कोशिश कर रहे हैं?

  1. हाँ: वे सभी डेटाबेस-scalability और प्रदर्शन के मुद्दे को हल करने के लिए कोशिश कर रहे हैं।
  2. नहीं: वे निश्चित रूप से व्यापार-बंद के विभिन्न सेट बना रहे हैं।

आपको किसके साथ शुरुआत करना चाहिए?

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

व्यक्तिगत रूप से, मेरा विभाग कई चीजों को मोंगोडीबी पर ले जा रहा है। इसके लिए हमारे कारण ईमानदारी से सादगी हैं।

लिनक्स बॉक्स पर मोंगो सेट करने में कुछ मिनट लगते हैं और रूट पहुंच या फ़ाइल सिस्टम या किसी भी फैंसी में बदलाव की आवश्यकता नहीं होती है। कोई पागल कॉन्फ़िगरेशन फ़ाइलें या जावा रीकंपाइल की आवश्यकता नहीं है। तो उस परिप्रेक्ष्य से, मोंगो लोगों को केवी/दस्तावेज़ स्टोर पर लाने के लिए सबसे आसान "गेटवे दवा" रहा है।

+0

सोफे के बारे में क्या, क्या आपने कोशिश की है? –

+0

कौन सा हिस्सा? मैं मेम्बेस (memcache w/persistence) का उपयोग कर कुछ लोगों को जानता हूँ। इसे प्रबंधित करना आसान है और ऐसा करने के लिए एक अच्छा यूआई है। लेकिन यह भी बहुत कुछ करने की कोशिश नहीं कर रहा है। कॉच डीबी ने खुद को बहु-मास्टर के साथ सेटअप के लिए बहुत अच्छा बताया है, लेकिन मुझे इसका कभी भी उपयोग नहीं करना पड़ा। कॉच डीबी में माध्यमिक इंडेक्स और मोंगोडीबी के लिए कई समान विशेषताएं हैं, इसलिए यह वास्तव में है कि आप इसका कितना सहज उपयोग कर रहे हैं। –

+0

लिखने के लिए कैसंद्रा बेहतर तो बेहतर है? कैसंद्रा लिखते हैं स्मृति में होता है और हर कोई कहता है कि कैसंद्रा सिर्फ लिखने के साथ बहुत अच्छी तरह से काम करता है। क्या मोंगो भी बेहतर है? – Peter

5

संक्षिप्त उत्तर: उत्पादन में उपयोग करने से पहले परीक्षण करें।

मैं दोनों के साथ HBase (व्यापक) मेरे अनुभव और MongoDB (बस शुरू) की पेशकश कर सकते हैं।

हालांकि वे दुकानों में से एक ही तरह नहीं हैं, वे एक ही समस्याओं का समाधान:

  • डेटा की स्केलेबल भंडारण
  • आंकड़ों के यादृच्छिक अभिगम
  • कम विलंबता पहुँच

हम पहले एचबीएस के बारे में बहुत उत्साहित थे। यह हडोप (जो रॉक-ठोस है) पर बनाया गया है, यह अपाचे के नीचे है, यह सक्रिय है ... आप और क्या चाहते हैं? हमारा अनुभव:

  • HBase नाजुक है
  • व्यवस्थापक की दुःस्वप्न
  • डेटा खो देता है (विन्यास सेटिंग्स जहां डिफ़ॉल्ट वाले सही, nontransparent विन्यास की तुलना में कम कर रहे हैं, संस्करण से संस्करण में परिवर्तन, ... से भरा) (जब तक आपने एक्स कॉन्फ़िगरेशन सेट किया है और वाई को बदल दिया है ... आपको बिंदु मिल गया है :) - हमने पाया कि जब एचबीएस क्रैश हो गया था और हमने डेटा के 2 घंटे (!!!) खो दिए क्योंकि WAL ठीक से सेटअप नहीं किया गया था
  • माध्यमिक की कमी इंडेक्स
  • डेटाबेस डेटाबेस का बैकअप करने के लिए किसी भी तरह का अभाव नहीं है इसे बंद करने के लिए

सब कुछ, एचबीएस एक दुःस्वप्न था। हमारे प्रत्यक्ष प्रतिस्पर्धियों को छोड़कर किसी को भी इसकी सिफारिश नहीं करेंगे। :)

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

और एचबीएस की तुलना में यह भी बहुत सक्रिय है।

इसके अलावा

: http://www.google.com/trends?q=HBase%2CMongoDB

जरूरत मैं और अधिक कहने के? :)

अद्यतन: कई महीने बाद मुझे मोंगोडीबी को सभी खातों और अधिक पर वितरित करना होगा। एकमात्र वास्तविक नकारात्मकता यह है कि होस्टिंग कंपनियां इसे MySQL प्रदान करने के तरीके की पेशकश नहीं करती हैं। ;) ऐसा लगता है कि मैपरेडस 2.2 में multi-threaded बनने के लिए बाध्य है। फिर भी, मैं इस तरह एमआर का उपयोग नहीं करता। YMMV।

1

कैसंद्रा डेटा लिखने के लिए अच्छा है। इसका "लाभ कभी विफल नहीं होता" का लाभ है। इसमें कोई एकल बिंदु विफलता नहीं है।

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

कैसे abou RIAK? क्या किसी को RIAK का उपयोग करने का अनुभव है। मैं कुछ लाल करता हूं जहां आपको भुगतान करने की ज़रूरत है, मुझे यकीन नहीं है। स्पष्टीकरण की आवश्यकता है।

एक और चीज जिसे आप उपयोग करना पसंद करेंगे, जब आप केवल बहुत सारे डेटा पढ़ने की चिंता कर रहे हों। आपको लेखन के साथ कोई चिंता नहीं है। बस कल्पना करें कि आपके पास पिटाबाइट के साथ डेटाबेस है और आप तेजी से खोज करना चाहते हैं जो आपको NOSQL डेटाबेस पसंद करेंगे?

संबंधित मुद्दे