स्कीमा-कम एक मिथ्या नाम का एक सा है, यह के रूप में यह सोचने के लिए बेहतर है है:
- एसक्यूएल = लिखें पर एक आरडीबीएमएस द्वारा लागू स्कीमा
- NoSQL = आंशिक स्कीमा डीबीएमएस द्वारा लागू लिखें, प्लस स्कीमा पूरी तरह से पढ़ें पर अनुप्रयोग द्वारा लागू पर (Externalised स्कीमा)
इसलिए जब एक माना जाता स्कीमा-कम NoSQL डेटा की दुकान सिद्धांत रूप में आप अपनी पसंद के डाटा स्टोर करने की अनुमति देगा (typica लिली कुंजी मूल्य जोड़े, किसी दस्तावेज़ में) कुंजी, या डेटा प्रकार के पूर्व ज्ञान के बिना, यह व्यर्थ होगा जब तक कि आपके पास डेटा को पुनर्प्राप्त करने और उपयोग करने के लिए कुछ तंत्र न हो। इसलिए अनिवार्य रूप से स्कीमा आंशिक रूप से आरडीबीएमएस से आवेदन कोड में ले जाया गया है। मैं आंशिक रूप से कहता हूं क्योंकि आपने संग्रह संग्रह में इंडेक्स जोड़े होंगे और प्रदर्शन के लिए डेटा को विभाजित किया होगा, इसलिए नोएसक्यूएल डीबीएमएस में आंशिक स्कीमा स्थानीय रूप से परिभाषित किया जाएगा, और संभावित रूप से अद्वितीय बाधाओं के माध्यम से लागू किया जाएगा।
स्टोर में किसी दस्तावेज़/ऑब्जेक्ट में अतिरिक्त विशेषताओं को जोड़ने के लिए। दस्तावेज़ के आस-पास कितना पैडिंग है (अप्रयुक्त स्थान), इसके भौतिक डेटा ब्लॉक में, दस्तावेज़ों में कुछ और महत्वपूर्ण मूल्य जोड़े जोड़ना परिणामस्वरूप दस्तावेज़ को भौतिक रूप से भंडारण के एक बड़े संगत ब्लॉक में ले जाया जा सकता है, और संबंधित इंडेक्स फिर से बनाया गया। यदि आप अक्सर उपयोग की जाने वाली क्वेरी में नई चाबियों का उपयोग करने की योजना बनाते हैं तो आप एक उपयुक्त नई अनुक्रमणिका भी जोड़ना चाहेंगे, जिसे स्पष्ट रूप से कुछ भौतिक भंडारण की आवश्यकता होगी, प्रारंभ में निर्माण करने के लिए कुछ समय लें और संभवतः आपको sysadmin से पूछने के लिए नेतृत्व करें नई इंडेक्स को कैश करने की अनुमति देने के लिए, डीबीएमएस को और अधिक मेमोरी आवंटित करें।
अंतरिक्ष आवंटन के बारे में अच्छा बिंदु। लेकिन विशेष रूप से बिंदु 2 और 3 के लिए, मैं डेटा माइग्रेशन में डेटा w.r.t का प्रबंधन कैसे करूं? क्या कोई नोएसक्यूएल उत्पाद उन परिवर्तनों का पता लगाने के लिए पर्याप्त स्मार्ट है जो वृद्धिशील और गैर-ब्रेकिंग वी/एस तोड़ रहे हैं? –
उत्पाद पर निर्भर करता है, लेकिन आम तौर पर यदि आप किसी दस्तावेज़ में अतिरिक्त विशेषताओं/कुंजी जोड़ना चाहते हैं, तो आपको केवल नए कुंजी मान जोड़े को स्टोर/उपयोग करने के लिए अपना एप्लिकेशन कोड बदलना होगा। डीबीएमएस को इस बात की परवाह नहीं है कि दस्तावेज़ में क्या संग्रहीत किया गया है, अगर इसे अनुक्रमित नहीं किया गया है, और यह मानते हुए कि प्रत्येक दस्तावेज़ के लिए आवंटित पर्याप्त स्थान है, जैसे कि डीबीएमएस को इसके पीछे के अंत को पुन: स्थापित करना नहीं है। – arober11
तो हमें हाथ से पहले दस्तावेज़ आकार में संभावित वृद्धि के लिए खाते की आवश्यकता है? –