IBM DeveloperWorks से: NoSQL डेटाबेस के साथ क्लाउड-स्तरीय डेटा स्केलेबिलिटी की आपूर्ति करें
स्केलेबिलिटी वह प्रणाली है जो बहुत कम विलंबता पर बहुत अधिक अनुरोध दर के साथ बहुत बड़े डेटाबेस का समर्थन करने में सक्षम होना चाहिए।
NoSQL सिस्टम में सामान्य रूप से कई डिज़ाइन विशेषताएं हैं:
- कई सर्वरों पर थ्रूपुट को क्षैतिज रूप से स्केल करने की क्षमता।
- एक साधारण कॉल स्तर इंटरफ़ेस या प्रोटोकॉल (SQL बंधन के विपरीत)।
- अधिकांश पारंपरिक RDBMS में ACID लेनदेन की तुलना में कमजोर संगतता मॉडल के लिए समर्थन।
- डेटा भंडारण के लिए वितरित अनुक्रमित और रैम का कुशल उपयोग।
- नई विशेषताओं या डेटा स्कीमा को गतिशील रूप से परिभाषित करने की क्षमता।
स्केलिंग के लिए संबंधपरक डेटाबेस इष्टतम क्यों नहीं हो सकता है
सामान्य तौर पर, रिलेशनल डेटाबेस मैनेजमेंट सिस्टम को दशकों के लिए "डेटा-दृढ़ता और पुनर्प्राप्ति के लिए एक-आकार-फिट-सभी समाधान" के रूप में माना जाता है। वे व्यापक अनुसंधान और विकास के प्रयासों के बाद परिपक्व हो गए हैं और बहुत सफलतापूर्वक एक बड़े बाजार और विभिन्न व्यापार डोमेन में समाधान तैयार किए हैं।
स्केलेबिलिटी की बढ़ती आवश्यकता और नए एप्लिकेशन आवश्यकताओं ने पारंपरिक आरडीबीएमएस के लिए नई चुनौतियां पैदा की हैं, जिसमें कुछ वेब-स्केल अनुप्रयोगों में इस एक-आकार-फिट-सभी दृष्टिकोण के साथ असंतोष शामिल है। इसका उत्तर रिलेशनल डेटाबेस मैनेजमेंट सिस्टम के प्रभुत्व को चुनौती देने के लिए डिज़ाइन की गई कम लागत, उच्च-प्रदर्शन डेटाबेस सॉफ़्टवेयर की एक नई पीढ़ी रही है। NoSQL आंदोलन का एक बड़ा कारण यह है कि वेब, एंटरप्राइज़ और क्लाउड कंप्यूटिंग अनुप्रयोगों के विभिन्न कार्यान्वयनों में उनके डेटाबेस की अलग-अलग आवश्यकताएं होती हैं - उदाहरण के लिए प्रत्येक एप्लिकेशन को कठोर डेटा संगतता की आवश्यकता नहीं होती है।
एक अन्य उदाहरण: ईबे, अमेज़ॅन, ट्विटर या फेसबुक जैसी उच्च-मात्रा वाली वेबसाइटों के लिए, स्केलेबिलिटी और उच्च उपलब्धता आवश्यक आवश्यकताएं हैं, जिनसे समझौता नहीं किया जा सकता है। इन अनुप्रयोगों के लिए, यहां तक कि मामूली आउटेज के महत्वपूर्ण वित्तीय परिणाम हो सकते हैं और ग्राहक विश्वास को प्रभावित कर सकते हैं।
DBA.SE से अधिक: क्षैतिज स्केलिंग का क्या अर्थ है?
क्षैतिज स्केलिंग अनिवार्य रूप से ऊपर के बजाय बाहर निर्माण कर रहा है। आप नहीं जाते और एक बड़ा बीफ़ियर सर्वर खरीदते हैं और उस पर अपना सारा भार ले जाते हैं, इसके बजाय आप 1+ अतिरिक्त सर्वर खरीदते हैं और उन पर अपना लोड वितरित करते हैं।
क्षैतिज स्केलिंग का उपयोग तब किया जाता है जब आपके पास सर्वर पर एक साथ कई इंस्टेंस चलाने की क्षमता होती है। आमतौर पर 1 सर्वर से 2 सर्वर पर जाना बहुत कठिन होता है, फिर 2 से 5, 10, 50 आदि से जाना होता है।
एक बार जब आप समानांतर उदाहरणों को चलाने के मुद्दों को संबोधित करते हैं, तो आप अमेज़ॅन ईसी 2, रैकस्पेस की क्लाउड सेवा, गोग्रिड, आदि जैसे पर्यावरण का बहुत लाभ उठा सकते हैं क्योंकि आप मांग के आधार पर उदाहरणों को ऊपर और नीचे ला सकते हैं, सर्वर शक्ति के लिए भुगतान करने की आवश्यकता को कम कर सकते हैं आप केवल उन पीक लोड को कवर करने के लिए उपयोग नहीं कर रहे हैं।
रिलेशनल डेटाल समानांतर में पूर्ण पढ़ने / लिखने के लिए अधिक कठिन वस्तुओं में से एक हैं।