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

MongoDB $slice (एम्बेडेड सरणी पेजिंग)

इसलिए मैं यह कहने जा रहा हूं कि आपको अपनी स्कीमा को अलग-अलग दस्तावेज़ों के रूप में टिप्पणियों को छोड़ने के लिए स्विच करना चाहिए क्योंकि यह एक अनबाउंड सरणी है और यह आपके प्रश्नों को और अधिक कुशल बना देगा। मैं इसे समझाता हूँ।

जब आप एक सरणी में एम्बेडेड दस्तावेज़ जोड़ते हैं जो एक निश्चित आकार का नहीं है, तो mongoDB को संभावित रूप से दस्तावेज़ को चारों ओर ले जाने की आवश्यकता होगी क्योंकि यह बढ़ता है, पैडिंग कारक बदलता है और विखंडन का कारण बनता है (पैडिंग कारक मोंगोडब की तरफ से अनुमान है कि आपका दस्तावेज़ कितना बड़ा होगा बढ़ता है, यह उस मामले के लिए और अधिक स्थान आवंटित करता है)।

आप 16 एमबी पीआर दस्तावेज़ तक भी सीमित हैं, इसलिए कल्पना करें कि यदि आपको एक पागल लोकप्रिय धागा मिलता है या आप अन्य मेटाडेटा के साथ टिप्पणियों का विस्तार करने का निर्णय लेते हैं तो यह संभव है कि आप उस बाधा को तोड़ देंगे। एक बड़ा दस्तावेज़ प्राप्त करना महंगा और समय लेने वाला भी है।

सामान्य तौर पर एम्बेडेड दस्तावेज़ बहुत अच्छे होते हैं यदि वे अनबाउंड सरणियाँ नहीं हैं। तो शीर्ष 10 टिप्पणियों की सूची रखना बहुत अच्छा काम करेगा लेकिन 1000+ टिप्पणियों को रखना बुरा है।

इसके अंतर्गत कुछ अच्छी प्रस्तुति हैं

http://www.10gen.com/presentations /mongodb-berlin/2012/10-कुंजी-प्रदर्शन-संकेतक http://www.10gen.com/presentations/mongosv -2011/स्कीमा-डिज़ाइन-बाय-उदाहरण

मुझे लगता है कि स्कीमा डिज़ाइन पर जल्द ही और काम आ रहा है जो लंबी अवधि में अधिक मददगार होगा। मुझे लगता है कि ईमानदार होना सबसे मुश्किल काम है। मुझे पता है, रिलेशनल मॉडल से अंतर के बारे में अपना सिर लपेटने में मुझे कुछ समय लगा।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मैं डॉकटर कंटेनर के उठने और चलने की प्रतीक्षा कैसे कर सकता हूं?

  2. Mongoose का उपयोग करके MongoDB दस्तावेज़ से एक कुंजी हटाएं

  3. 168 त्रुटि के साथ कमांड विफल हुआ (अमान्य पाइपलाइन ऑपरेटर):'अपरिचित अभिव्यक्ति' $ मैच '

  4. मोंगोडब कुंजी के साथ काम करने वाले किसी भी काम में . या $?

  5. $match . के भीतर mongodb एकत्रीकरण क्वेरी में $regex का उपयोग कैसे करें