SQL (MySQL) बनाम NoSQL (CouchDB) [बंद]


126

मैं एक उच्च-स्केलेबल एप्लिकेशन को डिज़ाइन करने के बीच में हूं जो बहुत सारे डेटा को संग्रहित करना चाहिए। उदाहरण के लिए, यह उपयोगकर्ताओं के बारे में बहुत कुछ संग्रहीत करेगा और फिर उनके बहुत सारे संदेश, टिप्पणियाँ आदि जैसी चीजें मैंने हमेशा MySQL का उपयोग किया है, लेकिन अब मैं कुछ नया करने की कोशिश कर रहा हूँ जैसे couchdb या समान जो SQL नहीं है।

किसी को भी इस पर कोई विचार या मार्गदर्शन है?


3
गह, सीडब्ल्यू। और मैं यहां कुछ वास्तविक प्रतिनिधि और कुछ स्ट्रीट क्रेडिट प्राप्त करने की उम्मीद कर रहा था। :-)
फ्रांसे पेनोव

1
क्या आप अपने डेटा सेट के बारे में थोड़ा और समझा सकते हैं?
mikeal

4
काश यह बंद नहीं होता। ये सवाल पूछने के लिए महत्वपूर्ण हैं, लेकिन किसी कारण से वे एसओ में नहीं हैं।
नील चौधरी

जवाबों:


191

यहां डेयर ओबेसंजो के हालिया ब्लॉग पोस्ट का एक उद्धरण दिया गया है ।

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

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

जिसके लिए मैं MySQL से केवल उस स्विचिंग को जोड़ सकता हूं, जहां आपको कम से कम कुछ अनुभव है, CouchDB के लिए, जहां आपको कोई अनुभव नहीं है, इसका मतलब है कि आपको समस्याओं के एक पूरे नए सेट से निपटना होगा और विभिन्न अवधारणाओं और सर्वोत्तम प्रथाओं को सीखना होगा। जबकि अपने आप में यह अद्भुत है (मैं MongoDB के साथ घर पर खेल रहा हूं और इसे बहुत पसंद करता हूं), यह एक लागत होगी जिसे आपको उस परियोजना के लिए काम का आकलन करते समय गणना करने की आवश्यकता होती है, और अज्ञात लाभों का वादा करते हुए अज्ञात जोखिम लाता है। यह निर्धारित करना बहुत कठिन होगा कि क्या आप समय पर प्रोजेक्ट कर सकते हैं और जिस गुणवत्ता के साथ आप चाहते हैं / सफल होने की आवश्यकता है, यदि यह एक ऐसी तकनीक पर आधारित है जिसे आप नहीं जानते हैं।

अब, यदि आपके पास टीम में NoSQL क्षेत्र के विशेषज्ञ हैं, तो हर तरह से इस पर एक अच्छी नज़र डालें। लेकिन टीम पर किसी भी विशेषज्ञता के बिना, एक नए वाणिज्यिक परियोजना के लिए NoSQL पर कूद मत करो।

अपडेट करें : आपके द्वारा शुरू की गई खुली आग में कुछ गैसोलीन फेंकने के लिए, यहां SQL कैंप के लोगों के दो दिलचस्प लेख हैं। :-)

मैं NoSQL मरने के लिए इंतजार नहीं कर सकता (मूल लेख चला गया है, यहाँ एक प्रति है )
NoSQL Mindset लड़, हालांकि यह एक विरोधी NoSQL टुकड़ा
अद्यतन नहीं है : वैसे यहाँ NoSQL No Sense के Sense बनाने के बारे में एक दिलचस्प लेख है


2
SQL समाधानों को स्केल करने की प्रक्रिया सुविधाओं और रिश्तों को हटाने की प्रक्रिया है। इसलिए मुझे नहीं लगता कि यह पूरी तरह से उचित मूल्यांकन है। इसके अलावा, मैं नहीं होगा समूह NoSQL एक साथ इस तरह डेटाबेस, उदाहरण के लिए Cassanda स्केलिंग पर पूरी तरह केंद्रित अप जबकि CouchDB एपीआई स्केलिंग के साथ संबंध है नीचे और आसान उपयोग करने के लिए कर रही है और अब तक अप संभव के रूप में बड़े पैमाने पर है कि एपीआई अनुमति देने के लिए प्रयास किए गए।
mikeal

यह बोली की कड़ी हो सकती है? 25hoursaday.com/weblog/2010/03/29/…
edosoft

आह, हाँ वास्तव में। मुझे याद आया कि उन्होंने इसे एक सार्वजनिक ब्लॉग पोस्ट भी बना दिया। मैं पोस्ट अपडेट कर दूंगा।
फ्रैंकी पेनोव

1
पोस्ट के लिए धन्यवाद! "I Can’t Wait for NoSQL to Die" मेरे लिए काम नहीं करता है, आप इसे जांचना चाह सकते हैं।
kbpontius

"आपने सीमाओं और मौसा के नए, खराब तरीके से समझी गई सूची के लिए सीमाओं की एक अच्छी तरह से गणना की गई सूची का कारोबार किया है" - मैं NoSQL के लिए इंतजार नहीं कर सकता
यार

3

आज केवल वास्तविक समाधान की तरह लगता है बाहर स्केलिंग या पैनापन के चारों ओर घूमता है। सभी आधुनिक डेटाबेस (NoSQLs के साथ-साथ NewSQL) डेटाबेस कोड में, बॉक्सिंग से बाहर कोडिंग या कुछ और करने की आवश्यकता के बिना क्षैतिज स्केलिंग का समर्थन करते हैं।

दुर्भाग्य से पर्याप्त, पुराने अच्छे MySQL के लिए, "बॉक्स से बाहर" प्रदान नहीं किया गया है। Scalebase (अस्वीकरण: मैं वहां काम करता हूं) यदि आप चाहें तो पूर्ण पैमाने पर समाधान "स्वचालित शेरिंग मशीन" का एक निर्माता है। ScaleBae आपके डेटा और SQL स्ट्रीम का विश्लेषण करता है, DB नोड के पार डेटा को विभाजित करता है, और रनटाइम में एकत्रित करता है - इसलिए आपके पास नहीं होगा! और यह मुफ्त डाउनलोड है।

मुझे गलत मत समझो, NoSQLs महान नहीं हैं, वे नए हैं, नया अधिक पसंद है और पसंद हमेशा अच्छा होता है !! लेकिन NoSQL को चुनना एक कीमत के साथ आता है, सुनिश्चित करें कि आप इसे भुगतान कर सकते हैं ...

आप यहाँ MySQL, NoSQL के बारे में कुछ और आंकड़े देख सकते हैं ...: http://www.scalebase.com/extreme-scalability-with-mongodb-and-mysql-part-1-auto-sharding

उम्मीद है कि मदद की।


0

सबसे अच्छे विकल्पों में से एक MongoDB (NOSql dB) के लिए जाना है जो स्केलेबिलिटी का समर्थन करता है। बड़ी मात्रा में डेटा के अलावा कुछ भी नहीं है लेकिन sql में पंक्तियों और तालिकाओं के विपरीत दस्तावेजों के रूप में बिगडाट। यह फास्टर्स है जो डेटा को तेज करता है। प्रतिकृतियां आधार के रूप में प्राथमिक डीबी सर्वर वाले कई सर्वरों को बनाए रखने वाली डेटा गारंटी सुनिश्चित करने के लिए। भाषा स्वतंत्र। उपयोग करने के लिए लचीला


आपको अपनी राय को "सर्वश्रेष्ठ" करने के लिए बैक-अप करना चाहिए क्योंकि काउचबेस, कैसेंड्रा, एयरोस्पाइक, आदि और आपके द्वारा उल्लिखित सुविधाओं का समर्थन करने वाले सभी डेटाबेस।
OneCricketeer
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.