सामान्य उपयोग
यदि आपके पास डेटा संरचनाएं हैं जो उस समय स्पष्ट रूप से परिभाषित नहीं होती हैं जब आप सिस्टम बनाते हैं। मैं उदाहरण के लिए, nosql में उपयोगकर्ता सेटिंग्स रखना चाहता हूं। एक अन्य उदाहरण एक ऐसी प्रणाली थी जहां उपयोगकर्ताओं को रनटाइम पर फ़ील्ड जोड़ने में सक्षम होने की आवश्यकता थी - आरडीबीएमएस में बहुत दर्दनाक और नोज़एक्यू में एक हवा।
यदि आपकी मॉडल संरचना काफी हद तक एक या कुछ मॉडल ऑब्जेक्ट के आसपास केंद्रित है और अधिकांश रिश्ते वास्तव में मुख्य मॉडल ऑब्जेक्ट की चाइल्ड ऑब्जेक्ट हैं। इस मामले में आप पाएंगे कि आपको वास्तविक जॉइन की बहुत कम आवश्यकता होगी। मैंने पाया कि संपर्क प्रबंधन प्रणाली को उदाहरण के लिए nosql में काफी अच्छी तरह से लागू किया जा सकता है। एक व्यक्ति के कई पते, फोन और ई-मेल हो सकते हैं। प्रत्येक को एक अलग तालिका में रखने के बजाय, वे सभी एक ही मॉडल का हिस्सा बन जाते हैं और आपके पास एक व्यक्ति वस्तु होती है।
यदि आप एक अखंड सर्वर होने के बजाय कई सर्वरों पर अपने डेटा को क्लस्टर करने से लाभ प्राप्त करना चाहते हैं, जो आमतौर पर RDBMS द्वारा आवश्यक है।
भंडारित करता है। यहां तक कि अगर आप अपने मुख्य डेटाबेस के रूप में एक आरडीबीएमएस के साथ रहना चाहते हैं, तो यह क्वेरी परिणामों को काउंट करने या डेटा रखने के लिए NoSQL डेटाबेस का उपयोग करने के लिए उपयोगी हो सकता है, जैसे काउंटर।
दस्तावेजों को जमा करना। यदि आप सुसंगत दस्तावेजों को संग्रहीत करना चाहते हैं, तो डेटाबेस में कुछ NoSQL डेटाबेस (जैसे MongoDB) वास्तव में उन लोगों को संग्रहित करने में विशेष हैं।
जॉइन के बारे में क्या?
ईमानदारी से कहूं तो, कोई भी सम्मिलित चीज मुझे शुरुआत में बहुत डरावनी नहीं लगी। लेकिन चाल SQL में सोच को रोकने के लिए है। आपको वास्तव में उस ऑब्जेक्ट के साथ सोचना होगा जो आपके पास स्मृति में है जब आप अपना एप्लिकेशन चला रहे हों। वे कम या ज्यादा सिर्फ NoSQL डेटाबेस में बचाया जाना चाहिए क्योंकि वे क्षेत्र।
क्योंकि आप अपने पूर्ण ऑब्जेक्ट ग्राफ को बच्चे की वस्तुओं के साथ स्टोर कर सकते हैं, जोइनों की सबसे अधिक आवश्यकता समाप्त हो जाती है। और यदि आपको लगता है कि आपको एक की आवश्यकता है, तो आपको बुलेट को काटने और दोनों वस्तुओं को लाने और अपने एप्लिकेशन कोड में शामिल होना होगा।
सौभाग्य से, यदि आप अपना स्कीमा सही सेट करते हैं, तो अधिकांश ड्राइवर आपके लिए ज्वाइनिंग कर सकते हैं।
आगे पढ़ने के लिए मैं वास्तव में मार्टिन फाउलर की सलाह देता हूं ।