एक संबंधित डेटाबेस का मुख्य लाभ संबंधित जानकारी को जोड़ने और अनुक्रमणित करने की क्षमता है। अधिकांश 'नोएसक्यूएल' सिस्टम एक रिलेशनल बीजगणित या एक महान क्वेरी भाषा प्रदान नहीं करते हैं।
आपको खुद से पूछने की क्या ज़रूरत है, स्विचिंग मेरे इच्छित उपयोग मामले के लिए समझ में आता है?
आपके पास इस तरह की चूक की गई है। मुद्दा यह है कि, कभी-कभी आपके पास एक इंडेक्स नहीं होता है (जिस तरह से आप किसी सामान्य संबंध डीबी के साथ करते हैं)। यहां तक कि जब आपके पास एक इंडेक्स होता है, तब भी इसे एक साथ जोड़ने की क्षमता कठिन होती है और कौन से संबंधपरक डेटाबेस उत्कृष्ट होते हैं। नोएसक्यूएल समाधानों में कई उपन्यास संरचनाएं हैं जो कई उपयोगों को तुच्छ आसानी से आसान बनाती हैं, उदाहरण के लिए रेडिस एक डेटा-स्ट्रक्चर उन्मुख डीबी है जो कतारों या इसके पब-उप आर्किटेक्चर के साथ कुछ भी तेजी से निर्माण करने के लिए उपयुक्त है। मोंगोडीबी एक फ्रीफॉर्म दस्तावेज़ डेटाबेस है जो जेएसओएन (बीएसओएन) के रूप में दस्तावेजों को स्टोर करता है और तेजी से विकास पर उत्कृष्टता प्राप्त करता है। बिगटेबल समाधान उस से थोड़ा कम संरचित होते हैं, लेकिन स्तंभों के परिवारों के लिए पंक्ति के विचार का विस्तार करते हैं - डिस्क पर कुशलतापूर्वक व्यवस्थित प्रत्येक पंक्ति में निहित महत्वपूर्ण मूल्य जोड़े। आप ElasticSearch जैसी तकनीक के साथ इस पर एक उलटा इंडेक्स बना सकते हैं।
किसी भी चीज को पारंपरिक आरडीबीएमएस की स्थिरता गारंटी या डिस्क लेआउट की आवश्यकता नहीं है। नोएसक्यूएल का एक अन्य प्रमुख उपयोग मामला भारी स्केलेबिलिटी है, कई समाधान (जैसे बिगटेबल - एचबीज़/कैसंद्रा) को क्षैतिज रूप से आसानी से स्केल और स्केल करने के लिए डिज़ाइन किया गया है (एसक्यूएल के साथ इतना आसान नहीं है!)। विशेष रूप से कैसंद्रा को कोई एसपीओफ़ के लिए डिज़ाइन नहीं किया गया है। इसके अलावा, कॉलम-ओरिएंटेड डेटास्टोर का मतलब अनुक्रमिक रीड के माध्यम से डिस्क गति को अनुकूलित करने के लिए है (और write-amplification को कम करें)। ऐसा कहा जा रहा है, जब तक कि आपको वास्तव में इसकी आवश्यकता न हो, एक पारंपरिक एसक्यूएल सर्वर आमतौर पर काफी अच्छा होता है।
फायदे और नुकसान हैं। व्यक्तिगत रूप से, मैं दोनों के मिश्रण का उपयोग करता हूं। सही नौकरी के लिए सही उपकरण का उपयोग करें, जो पोस्टग्रेएसक्यूएल या MySQL होने से अधिक बार समाप्त हो सकता है।
आप SQL कॉलम को दो कॉलम, एक अद्वितीय कुंजी और मान के साथ बनाने के लिए मूल कुंजी-मूल्य प्रणाली की तुलना कर सकते हैं। यह काफी तेज़ है। आपको किसी भी संबंध या सहसंबंध या डेटा के संयोजन की आवश्यकता नहीं है। बस मूल्य पाएं और इसे वापस कर दें। यह एक oversimplification है, NoSQL डेटाबेस में सरल के, वी स्टोर से परे बहुत सारी रोचक कार्यक्षमता और एप्लिकेशन है।
मुझे नहीं पता कि आपका वैज्ञानिक डेटा अधिकांश नोएसक्यूएल कार्यान्वयन के लिए उपयुक्त है या नहीं, जो डेटा पर निर्भर करता है। यदि आप एचबीएएस या कैसंद्रा को देखते हैं, तो यह एक वैज्ञानिक की जरूरतों के अनुरूप हो सकता है (उचित पंक्ति निर्माता के साथ - टाइमस्टैम्प पहले नहीं होना चाहिए, ओपनटीएसबी देखें)। मैं कई कंपनियों के बारे में जानता हूं जो एक यादृच्छिक क्रम विभाजनकर्ता और दैनिक वसा पंक्तियों में रीडिंग को रोल करने के लिए सेंसर के यूयूआईडी का उपयोग करके कैसंड्रा में सेंसर रीडिंग स्टोर करते हैं। प्रत्येक दिन नए डेटाबेस विशिष्ट उपयोग मामलों के आसपास बनाए जाते हैं, ताकि उत्तर बदल सके। विशिष्ट उपयोग के मामलों के लिए, आप लचीलापन और टूलिंग की लागत पर विशिष्ट डेटास्टोर का उपयोग करने के लिए विशाल पुरस्कार प्राप्त कर सकते हैं।
आप क्यों "... एक रिलेशनल डेटाबेस को प्रतिस्थापित कर रहे हैं जिसे मैं उपयोग कर रहा हूं।" ?? –
क्योंकि डेटा की मात्रा जल्द ही संग्रहीत की जाएगी (जब एक नया समूह जो बोर्ड पर आ रहा है स्वचालित रूप से अपने उपकरणों से डेटा जमा करना शुरू कर देता है) स्पष्ट रूप से सिस्टम को बहुत धीमा कर देगा। – Ankur
अच्छे हार्डवेयर पर एक ठीक से कॉन्फ़िगर किया गया रिलेशनल डेटाबेस, अधिकांश भारों का सामना करने में सक्षम होगा। –