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

MongoDB BSON दस्तावेज़ आकार सीमा को समझना

सबसे पहले, इसे वास्तव में अगले संस्करण में 8MB . तक बढ़ाया जा रहा है या 16MB ... लेकिन मुझे लगता है कि इसे परिप्रेक्ष्य में रखने के लिए, 10gen (जिन्होंने MongoDB विकसित किया) से एलियट इसे सबसे अच्छा रखता है:

संपादित करें: आकार को आधिकारिक तौर पर 16MB . कर दिया गया है

<ब्लॉकक्वॉट>

तो, आपके ब्लॉग उदाहरण पर, 4MB वास्तव में एक बहुत कुछ है.. उदाहरण के लिए, "विश्व युद्ध" का पूर्ण असम्पीडित पाठ केवल 364k (html) है:http://www.gutenberg.org/etext/36

यदि आपकी ब्लॉग पोस्ट इतनी लंबी है कि कई टिप्पणियों के साथ, मैं इसे पढ़ने के लिए नहीं जा रहा हूं :)

ट्रैकबैक के लिए, यदि आपने उन्हें 1MB समर्पित किया है, तो आप आसानी से 10k से अधिक (शायद 20k के करीब) प्राप्त कर सकते हैं

तो वास्तव में विचित्र परिस्थितियों को छोड़कर, यह बहुत अच्छा काम करेगा। और अपवाद मामले या स्पैम में, मुझे नहीं लगता कि आप वैसे भी 20 एमबी ऑब्जेक्ट चाहते हैं। मुझे लगता है कि ट्रैकबैक को 15k या तो कैप करना प्रदर्शन के लिए बहुत मायने रखता है। या कम से कम विशेष आवरण यदि ऐसा होता है।

-एलियट

मुझे लगता है कि सीमा तक पहुंचने के लिए आपको काफी मेहनत करनी पड़ेगी ... और समय के साथ, अगर आप अपग्रेड करते हैं ... तो आपको कम और कम चिंता करनी पड़ेगी।

सीमा का मुख्य बिंदु यह है कि आप अपने सर्वर पर सभी RAM का उपयोग न करें (क्योंकि आपको सभी MB लोड करने की आवश्यकता है) जब आप इसे क्वेरी करते हैं तो दस्तावेज़ को RAM में बदल देता है।)

तो सीमा एक सामान्य सिस्टम पर सामान्य प्रयोग करने योग्य RAM का कुछ% है ... जो साल दर साल बढ़ती रहेगी।

MongoDB में फ़ाइलें संग्रहीत करने पर ध्यान दें

यदि आपको 16MB . से बड़े दस्तावेज़ (या फ़ाइलें) संग्रहीत करने की आवश्यकता है आप ग्रिडएफएस एपीआई का उपयोग कर सकते हैं जो स्वचालित रूप से डेटा को खंडों में विभाजित कर देगा और उन्हें आपको वापस स्ट्रीम कर देगा (इस प्रकार आकार सीमा/रैम के साथ समस्या से परहेज करेगा।)

<ब्लॉकक्वॉट>

एक फ़ाइल को एक दस्तावेज़ में संग्रहीत करने के बजाय, GridFS फ़ाइल को भागों, या विखंडू में विभाजित करता है, और प्रत्येक खंड को एक अलग दस्तावेज़ के रूप में संग्रहीत करता है।

ग्रिडएफएस फाइलों को स्टोर करने के लिए दो संग्रहों का उपयोग करता है। एक संग्रह फ़ाइल के टुकड़ों को संग्रहीत करता है, और दूसरा संग्रह फ़ाइल मेटाडेटा को संग्रहीत करता है।

आप डेटाबेस में छवियों, फ़ाइलों, वीडियो आदि को स्टोर करने के लिए इस विधि का उपयोग कर सकते हैं जितना आप SQL डेटाबेस में कर सकते हैं। मैंने इसका उपयोग बहु गीगाबाइट वीडियो फ़ाइलों को संग्रहीत करने के लिए भी किया है।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongoose दस्तावेज़ों के भीतर मुक्त-फ़ॉर्म JSON डेटा की अनुमति कैसे दें?

  2. क्या मोंगोडब चल रहा है?

  3. यदि कोई आइटम मौजूद है, तो परीक्षण करने के लिए MongoDB से कैसे पूछताछ करें?

  4. मोंगो चेंज स्ट्रीम कई बार चल रहा है (तरह का):नोड ऐप कई इंस्टेंस चला रहा है

  5. Mongodb स्ट्रिंग से ObjectId तक _id फ़ील्ड में शामिल हों