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

MongoDB GridFS फ़ाइल अपेक्षाकृत छोटी फ़ाइल के लिए बहुत बड़ी है

ठीक; बहुत खोज करने के बाद ऐसा लगता है कि MongoDB 2Gb तक की घातीय आकार की फ़ाइलों में स्थान पूर्व-आवंटित करता है, उसके बाद प्रत्येक फ़ाइल 2G हो जाएगी।

http://www.mongodb.org/display/DOCS/Excessive+Disk +स्पेस

मेरा परीक्षण कार्यक्रम 80 एमबी फाइलों को पृष्ठभूमि फाइलों (.0 - .7 इत्यादि) के भीतर जोड़ता है और जैसे ही डेटा खंड आखिरी फाइल में लिखा जाना शुरू होता है, मोंगो पिछली फाइल की तुलना में तेजी से बड़ी फाइल को प्रीलोकेट करता है।

तो पहली 80Mb फ़ाइल, 16Mb फ़ाइल, 32Mb फ़ाइल और 64Mb पृष्ठभूमि फ़ाइलों को भरती है और मेटा डेटा के कारण थोड़ी अधिक जगह लेती है और 128Mb फ़ाइल पर थोड़ा अतिक्रमण करना चाहिए, यह mongo को 256Mb फ़ाइल का प्रचार करने के लिए ट्रिगर करता है। 496एमबी; जैसे-जैसे अधिक फ़ाइलें जोड़ी जाती हैं, अधिक फ़ाइलें पूर्व-आवंटित होती हैं और जब मेरी परीक्षण मशीन पर 2Gb मारा जाता है तो Mongo अंतरिक्ष तक नहीं पहुंच पाता और ढह जाता है।

इसलिए हालांकि ऐसा लगता है कि एक 80Mb फ़ाइल जितना होना चाहिए उससे कहीं अधिक जगह लेती है - यह एक गोल चक्कर में समझ में आता है।

इसे --noprealloc के साथ mongod चलाकर बंद किया जा सकता है, हालांकि यह केवल परीक्षण मशीनों के लिए अनुशंसित है।

आपके उत्तरों के लिए धन्यवाद!



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. स्थानीय मोंगो डेटाबेस को डॉकटर से कैसे कनेक्ट करें

  2. नेवला में कैस्केड शैली हटाएं

  3. SQL में न्यूनतम मान वाली पंक्ति का चयन करने के 3 तरीके

  4. लिनक्स पर जर्नल फाइलों के लिए एरर मोंगॉड डेड लेकिन सबसिस लॉक और अपर्याप्त खाली जगह क्यों मिल रही है?

  5. सभी दस्तावेज़ों से किसी सरणी के केवल नेस्टेड दस्तावेज़ों को वापस कैसे करें