तो जब मैं नोएसक्यूएल बनाम आरडीबीएमएस स्वयं की बात करता हूं तो वास्तविक वास्तविक रेखा को समझने की कोशिश कर रहा हूं, और हमेशा एक प्रतिक्रिया के साथ समाप्त होता है जो इसे काफी कटौती नहीं करता है। मेरी खोज में नोएसक्यूएल और एसक्यूएल के बीच वास्तव में 2 प्राथमिक अंतर हैं, केवल 1 ही एक वास्तविक लाभ है।
एसिड बनाम आधार - NoSQL आम तौर पर, एसक्यूएल की एसिड सुविधाओं में से कुछ बाहर छोड़ देता है एक तरह से 'धोखा दे' यह प्रोग्रामर के लिए अमूर्त की इस परत को छोड़ कर उच्च प्रदर्शन करने के लिए रास्ता नहीं है। यह पहले से ही पिछले पोस्टर्स द्वारा कवर किया गया है।
क्षैतिज स्केलिंग - नोएसक्यूएल का असली लाभ क्षैतिज स्केलिंग, उर्फ शेर्डिंग है।नोएसक्यूएल 'दस्तावेज' को ध्यान में रखते हुए 'स्वयं निहित' ऑब्जेक्ट की तरह हैं, ऑब्जेक्ट्स अलग-अलग सर्वरों पर पंक्तियों में शामिल होने के बारे में चिंता किए बिना अलग-अलग सर्वरों पर हो सकते हैं, जैसा रिलेशनल मॉडल के मामले में है।
चलो कहते हैं कि हम इस तरह एक ऑब्जेक्ट प्रदान करना चाहते हैं:
post {
id: 1
title: 'My post'
content: 'The content'
comments: {
comment: {
id: 1
}
comment: {
id: 2
}
...
views: {
view: {
user: 1
}
view: {
user: 2
}
...
}
}
NoSQL में, उस वस्तु मूल रूप से संग्रहीत किया जाएगा है के रूप में है, और इसलिए स्वयं के एक प्रकार के रूप में एक ही सर्वर पर निवास कर सकते हैं - अन्य ऑब्जेक्ट्स से डेटा के साथ जुड़ने की आवश्यकता के बिना, अन्य डीबी सर्वरों पर रहने वाले किसी भी वस्तु के बिना-युक्त वस्तु।
हालांकि, रिलेशनल डीबी के साथ, पोस्ट को comments
तालिका से टिप्पणियों के साथ-साथ views
तालिका के दृश्यों के साथ जुड़ने की आवश्यकता होगी। यह एसक्यूएल ~ यूएनटीआईएल ~ डीबी में एक समस्या नहीं होगी, डीबी को shards में तोड़ दिया गया है, जिस स्थिति में 'टिप्पणी 1' एक डीबी सर्वर पर हो सकता है, जबकि 'टिप्पणी 2' अभी तक एक और डीबी सर्वर पर हो सकता है। इससे आरडीबीएमएस में एक ही वस्तु को बनाना मुश्किल हो जाता है जिसे नोएसQL डीबी में क्षैतिज रूप से स्केल किया गया है।
क्या कोई भी डीबी विशेषज्ञ इन बिंदुओं की पुष्टि या बहस करेंगे?
रावेनडीबी [लेनदेन का समर्थन करता है] (http://ravendb.net/documentation/docs-api-transactions), हालांकि पारंपरिक अर्थ में नहीं। – vcsjones
धन्यवाद, यह मुझे समझ में आता है। क्या मैं पूछ सकता हूं कि लेनदेन के समर्थन की कमी नोएसक्यूएल का नुकसान है? और क्या कोई ऐसा मामला है कि लेनदेन का समर्थन इतना महत्वपूर्ण या कम उपयोग नहीं है ताकि समर्थन की कमी यह नुकसान न हो? – xiaohan2012
यदि आपको इसकी आवश्यकता होती है तो यह एक नुकसान होगा :(नोस्क्ल बनाम एसक्यूएल एक व्यापारिकता है जो स्केलेबिलिटी की आसानी है, बनाम लेनदेन प्रबंधन की आसानी है। इसलिए यदि आप कहते हैं कि मुझे लेनदेन की आवश्यकता है और एसक्यूएल पर जाना है, तो स्केलेबिलिटी अभी मुश्किल हो गई है, अगर आप नोस्कल जाते हैं और फिर गहन लेनदेन समर्थन चाहते हैं, जीवन tuff होने जा रहा है। –