NoSql डेटाबेस स्कीमा को सही ढंग से कैसे डिज़ाइन करें? [बन्द है]
10
मैं NoSQL डेटाबेस के बारे में कुछ और सीखना चाहता हूं, इसलिए मैंने फुटबॉल परिणामों को संभालने के लिए स्क्रैच से एक नई परियोजना बनाने के लिए चुना है। मेरे पारंपरिक संबंधपरक डेटाबेस में, मेरे पास टूर्नामेंट, टीमें, परिणाम और क्लास टेबल हैं। सभी स्पष्ट रूप से संबंधित हैं।
इसके बजाय NoSQL दृष्टिकोण का उपयोग करके इस तरह की परियोजना को डिजाइन करने के लिए एक अच्छा तरीका क्या हो सकता है?
किस प्रकार का NOSQL डेटाबेस? मेरा सुझाव है कि आप इस प्रश्न को पूछने से पहले विभिन्न प्रकारों पर थोड़ा पढ़ लें। कुछ स्कीमालेस हैं, और कुछ सिर्फ की-वैल्यू डेटाबेस हैं (और दोनों के बीच एक पूरी श्रृंखला)।
किसी विशेष कार्य के लिए सही उपकरण का उपयोग करें। यह पूछकर, यह स्पष्ट है कि आपको पता नहीं है कि NoSQL डेटा संग्रहण के लिए कब उपयुक्त है। बहुत सारे लोग NoSQL का उपयोग सिर्फ इसलिए कर रहे हैं क्योंकि यह "पल की बात" है। आमतौर पर NoSQL डेटाबेस में कोई स्कीमा नहीं होता है और इसका उपयोग तब किया जाना चाहिए जब डेटा को इसके मॉडल द्वारा बेहतर प्रतिनिधित्व किया जाता है। आपको डेटा संग्रहीत करने के लिए NoSQL डेटाबेस का उपयोग नहीं करना चाहिए जो आमतौर पर संबंधपरक है; उस मामले में एक रिलेशनल डेटाबेस का उपयोग किया जाना चाहिए। मुझे पता है कि जब लाखों लेनदेन से निपटने में सक्षम होने के लिए एप्लिकेशन को स्केल करने की आवश्यकता होती है तो NoSQL मॉडल बेहतर काम करता है (भले ही डेटा रिलेशनल हो), लेकिन मुझे लगता है कि यह आपका मामला नहीं है।
जब आप कहते हैं कि कोई स्कीमा @nohros नहीं है, तो क्या आपका मतलब है कि NoSQL मूल रूप से सिर्फ कुंजी है: मूल्य प्रणाली? यानी { key1: value1, key2: value2, ... }? या NoSQL में कुछ और जटिल स्कीमा हो सकते हैं?
जब कोई स्कीमा नहीं कहता है, तो मेरा मतलब है कि कोई पारंपरिक संबंधपरक स्कीमा नहीं है, जो हर चीज का प्रतिनिधित्व करने के लिए कॉलम और पंक्तियों का उपयोग करता है।
सबसे पहले, एक स्पष्ट RDBMS पर NoSQL का उपयोग करने के लिए स्पष्ट रूप से परिभाषित उपयोग के मामले हैं । सुनिश्चित करें कि आपका सिस्टम NoSQL में कूदने से पहले इनमें से एक या अधिक मानदंडों को पूरा करता है, या फिर आप समस्याओं में भाग सकते हैं।
यह यूट्यूब वीडियो मेरे लिए एक वास्तविक आंख खोलने वाला रहा है। यह MongoDB और डेटा मॉडलिंग के बारे में है। आप उनकी वेबसाइट पर MongoDB के बारे में अधिक पढ़ सकते हैं ।