2011-01-18 20 views
38

विभिन्न नोएसQL डेटाबेस उपलब्धियों की ताकत और कमजोरियां क्या हैं?रेडिस, कॉच डीबी या कैसंद्रा?

विशेष रूप से ऐसा लगता है कि कई सर्वरों पर लेखन भार वितरित करने के लिए रेडिस कमजोर है। क्या यह मामला है? क्या यह एक बड़ी समस्या है? सेवा को कितना बड़ा होना चाहिए इससे पहले कि यह एक महत्वपूर्ण समस्या हो सकती है?

उत्तर

77

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

आपके मन में किस प्रकार की परियोजना है?

कुछ शक्तियों और कमजोरियों, मेरे सिर के ऊपर से:

  • Redis
    • बहुत ही सरल कुंजी-मान "वैश्विक चर सर्वर"
    • बहुत ही सरल (कुछ कह सकते हैं कि "गैर -existent ") क्वेरी सिस्टम
    • आसानी से इस सूची में सबसे तेज़
    • लेनदेन
    • डेटा सेट स्मृति में
    • अपरिपक्व क्लस्टरिंग फिट होगा, यह स्पष्ट नहीं भविष्य के साथ (मुझे यकीन है कि यह बहुत अच्छा हो जाएगा हूँ, लेकिन यह अभी तक तय नहीं है।)
  • कैसेंड्रा
    • यकीनन बिगटेबल की तरह डेटाबेस
    • के सबसे समुदाय गति शायद इस सूची का सबसे आसान बड़ा/बढ़ रहा है समूहों में प्रबंधित करने के लिए नक्शा/कम करने
    • समर्थन, एनालिटिक्स के लिए अच्छा है, डेटा भंडारण
    • बहु डेटासेंटर प्रतिकृति
    • Tunable स्थिरता/उपलब्धता
    • असफलता का कोई एकल बिंदु
    • आपको पता होना चाहिए क्या प्रश्नों आप, परियोजना के शुरू में चलेंगे डेटा आकार और सूचियों को तैयार करने के लिए
  • CouchDB
    • हाथों नीचे सबसे अच्छा सिंक (प्रतिकृति) समर्थन, समर्थन मास्टर/दास, मास्टर/मास्टर, और अधिक विदेशी आर्किटेक्चर
    • HTTP प्रोटोकॉल, ब्राउज़र/ऐप्स सीधे डीबी के साथ आंशिक रूप से या पूरी तरह से बातचीत कर सकते हैं। (सिंक भी HTTP पर किया जाता है)
    • एक संक्षिप्त सीखने की अवस्था के बाद, बहुत परिष्कृत क्वेरी प्रणाली जावास्क्रिप्ट और मानचित्र का उपयोग/कम करने
    • क्लस्टर किया गया आपरेशन (कोई SPOF, ट्यूनेबल स्थिरता/उपलब्धता) वर्तमान में एक महत्वपूर्ण कांटा (BigCouch) है। यह शायद सोफे में विलय हो जाएगा लेकिन कोई रोडमैप नहीं है।
    • इसी प्रकार, क्लस्टरिंग और बहु-डेटासेंटर सैद्धांतिक रूप से संभव है ("विदेशी" चीज़ मैंने उल्लेख की है) हालांकि आपको इस समय अपने आप को टूलिंग लिखना होगा।
    • केवल फ़ाइल स्वरूप (दोनों डेटाबेस और इंडेक्स) संलग्न करें आश्चर्यजनक रूप से डिस्क का उपभोग करते हैं, और आपको मैन्युअल रूप से कंपैक्शन (वैक्यूमिंग) चलाएं जो डेटाबेस में सभी रिकॉर्ड्स की पूरी प्रतिलिपि बनाता है। प्रत्येक इंडेक्स फ़ाइल के लिए भी आवश्यक है। फिर, आपको अपना खुद का टूलमिथ होना चाहिए।
+8

+1 "सादगी और समय-दर-बाज़ार शायद सबसे महत्वपूर्ण हैं"। पहले अपने व्यापार को अनुकूलित करें, बाद में तकनीक। रेडिस के लिए एक नकारात्मक पक्ष यह है कि यह वास्तव में केवल डेटा सेट के लिए अच्छा है जो स्मृति में फिट है; इसकी क्लस्टरिंग क्षमताओं और डिस्क-आधारित समाधान सीमित हैं। अन्य कैसंड्रा प्लस बहु-डेटासेंटर प्रतिकृति, ट्यूनेबल स्थिरता/प्रति ऑपरेशन उपलब्धता, और विफलता का कोई एकल बिंदु नहीं है (क्लस्टर में प्रत्येक नोड एक ही भूमिका निभाता है, कोई स्वामी नहीं)। कैसंद्रा के लिए एक नकारात्मक पक्ष यह है कि आपको अपना डेटा व्यवस्थित करने से पहले अपने प्रश्नों के बारे में सोचना होगा, और यह कुछ प्रयास कर सकता है। –

+5

वैसे, मेरे अनुभव में, "परियोजनाएं जहां समय और धन सीमित है" ** उनके जीवनकाल के ** विशाल बहुमत ** के दौरान परियोजनाओं के ** विशाल बहुमत ** को शामिल करता है। – JasonSmith

+2

बिगकॉच उत्कृष्ट सॉफ्टवेयर है। इसकी अगुवाई कॉच डीबी विकास टीम के कोर सदस्यों ने की थी। इसे बनाए रखा और आगे विकसित किया जाएगा। हालांकि मुझे सड़क मानचित्र के बारे में पता नहीं है, मुझे उम्मीद है कि बिगकच को कुछ फैशन में कॉच डीबी में वापस कर दिया जाएगा। और यदि आपको लगता है कि मैं निराशाजनक प्रशंसक हूं, तो विचार करें कि बिगकच मेरी कंपनी के प्रतिद्वंद्वी द्वारा बनाई गई है! – JasonSmith

31

http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis पर एक नजर डालें वह एक अच्छा काम संक्षेप करता तुम क्यों एक दूसरे के ऊपर का प्रयोग करेंगे।

+0

यह भी एक उत्कृष्ट सारांश है। अगर मैं केवल दो जवाब स्वीकार कर सकता हूं! – nornagon

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