MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

नोएसक्यूएल सर्वोत्तम अभ्यास

मुझे लगता है कि वर्तमान में, नोएसक्यूएल डेटा स्टोर्स और दस्तावेज़ डेटाबेस की अवधारणा का पूरा विचार इतना नया है और स्थापित विचारों से अलग है जो रिलेशनल स्टोरेज को संचालित करते हैं कि वर्तमान में बहुत कम (यदि कोई हो) सर्वोत्तम प्रथाएं हैं।

हम इस बिंदु पर जानते हैं कि कॉच डीबी (या किसी अन्य दस्तावेज़ डेटाबेस) के भीतर आपके डेटा को संग्रहीत करने के नियम एक संबंधपरक के लिए अलग हैं। उदाहरण के लिए, यह काफी हद तक एक तथ्य है कि 3NF के लिए सामान्यीकरण और लक्ष्य कुछ ऐसा नहीं है जिसके लिए किसी को प्रयास करना चाहिए। सामान्य उदाहरणों में से एक साधारण ब्लॉग का होगा।

एक रिलेशनल स्टोर में, आपके पास "पोस्ट", "टिप्पणियां" और "लेखक" के लिए प्रत्येक तालिका होगी। प्रत्येक लेखक के पास कई पोस्ट होंगे, और प्रत्येक पोस्ट में कई टिप्पणियाँ होंगी। यह एक मॉडल है जो काफी अच्छी तरह से काम करता है, और किसी भी रिलेशनल डीबी पर ठीक से नक्शा करता है। हालांकि, एक ही डेटा को एक docDB के भीतर संग्रहीत करना संभवतः अलग होगा। आपके पास शायद पोस्ट दस्तावेज़ों के संग्रह की तरह कुछ होगा, जिनमें से प्रत्येक का अपना लेखक और टिप्पणियों का संग्रह होगा। बेशक, शायद यह एकमात्र तरीका नहीं है जिसे आप कर सकते हैं, और यह कुछ हद तक एक समझौता है (अब एक पोस्ट के लिए क्वेरी करना तेज़ है - आप केवल एक ऑपरेशन करते हैं और सब कुछ वापस प्राप्त करते हैं), लेकिन आपके पास लेखकों और पोस्ट के बीच संबंध बनाए रखने का कोई तरीका नहीं है (क्योंकि यह सब पोस्ट दस्तावेज़ का हिस्सा बन जाता है)।

मैंने भी "प्रकार" विशेषता (एक कॉच डीबी उदाहरण में) का उपयोग करने वाले उदाहरण देखे हैं। ज़रूर, यह एक व्यवहार्य दृष्टिकोण की तरह लगता है। क्या यह सबसे अच्छा है? मेरे पास कोई सुराग नहीं है। निश्चित रूप से मोंगोडीबी में आप डेटाबेस के भीतर अलग संग्रह का उपयोग करेंगे, जिससे प्रकार विशेषता कुल बकवास हो जाएगी। हालांकि कॉच डीबी में... शायद वह है श्रेष्ठ। अन्य विकल्प? प्रत्येक प्रकार के दस्तावेज़ के लिए अलग डेटाबेस? यह थोड़ा पागल लगता है, इसलिए मैं स्वयं "प्रकार" समाधान की ओर झुकता हूं। लेकिन वह सिर्फ मैं हूं। शायद कुछ बेहतर हो।

मुझे एहसास है कि मैं यहां काफी घूम चुका हूं और बहुत कम कहा है, शायद कुछ भी नहीं जो आप पहले से नहीं जानते थे। हालांकि मेरा कहना यह है - मुझे लगता है कि यह हमारे ऊपर है कि हम अपने पास मौजूद उपकरणों और डेटा के साथ प्रयोग करें और समय के साथ अच्छे विचारों का प्रसार होगा और बनें सर्वोत्तम प्रथाओं। मुझे लगता है कि आप खेल में बहुत जल्दी पूछ रहे हैं।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. सी # 10gen और mongo:इंटरफेस के रूप में सदस्यों के लिए अक्रमांकन

  2. मोंगो में डेटाबेस बनाना:कनेक्ट नहीं हो सकता, कनेक्ट विफल हो गया

  3. मोंगोडब पर केस-असंवेदनशील क्वेरी

  4. नोडज / नेवला के साथ एक उप-दस्तावेज़ का आंशिक अद्यतन

  5. कॉसमॉस डीबी त्रुटि कोड 400 एक नया दस्तावेज़ बनाते समय