मैंने रिलेशनल डेटाबेस के साथ बहुत कुछ किया है, और नोएसक्यूएल डेटाबेस के साथ थोड़ा सा (बस आप जानते हैं कि मैं कहां से आ रहा हूं)। IMHO, NoSQL डेटाबेस उन परिदृश्यों के लिए सबसे उपयुक्त हैं जहाँ एक या अधिक सत्य हैं:
- डेटा अनिवार्य रूप से सपाट है (बहुत सारे संबंध नहीं, लगभग पुराने फ्लैट-फाइल की तरह)
- "चाइल्ड" रिकॉर्ड के साथ एक निश्चित "पैरेंट" प्रकार का रिकॉर्ड होता है जो काफी छोटा होता है/अक्सर इतना एक्सेस किया जाता है कि माता-पिता उन्हें रिकॉर्ड में सही तरीके से एम्बेड करने का औचित्य साबित कर सकें।
- आपको कारण के भीतर फ़ील्ड जोड़ने/आबाद करने की स्वतंत्रता चाहिए। मैं इसके समान विरासत के बारे में सोचना पसंद करता हूं, जहां तालिका में प्रत्येक आइटम कुछ सामान्य लक्षण (आईडी, नाम) साझा करता है, लेकिन अलग-अलग रिकॉर्ड में अलग-अलग लक्षण हो सकते हैं। उदाहरण के लिए, एक ऑनलाइन उत्पाद कैटलॉग में किताबें, बाइक और एमपी3 गाने हो सकते हैं। एक "पुस्तक" आइटम के लिए एक रिकॉर्ड में आईएसबीएन, पृष्ठों की संख्या, लेखक, आदि जैसे सामान होंगे। एक "बाइक" में पहिए का आकार और रंग हो सकता है, और एक "एमपी3" में लंबाई, कलाकार, शैली आदि होगी। आप उन सभी चीजों को एएनआरडीएस में "आइटम" तालिका में कुछ गंभीर ओवरलोडिंग या फ़ील्ड खाली छोड़ने के बिना कभी नहीं प्राप्त करेंगे। ANoSQL डेटाबेस आपको उस सभी जानकारी को तालिका में संग्रहीत करने की अनुमति देगा, और केवल उन वस्तुओं के लिए जिन्हें इसकी आवश्यकता है।
आप निश्चित रूप से डायनेमो की अनुक्रमण क्षमताओं का उपयोग करके अपने प्रश्न के साथ शामिल स्कीमा बना सकते हैं, लेकिन आप एक आरडीएस की तरह एक नोएसक्यूएल डेटाबेस अधिनियम बनाने की कोशिश कर रहे होंगे।
उस ने कहा:मैं खुद इसे पहले डायनेमो के साथ सीखने के अनुभव के रूप में आजमाऊंगा। :)पी>