2012-07-23 12 views
5

मैं अपनी नई परियोजना के लिए mongodb का उपयोग करना चाहता हूं। समस्या यह है कि, mongo फ़ाइलों को पूर्व-आवंटित करें:mongo db --smallfiles स्विच दोष

प्रत्येक डेटाफ़ाइल किसी विशेष आकार से पहले स्थानांतरित हो जाती है। (यह अन्य कारणों से फ़ाइल सिस्टम विखंडन को रोकने के लिए किया जाता है।) डेटाबेस के लिए पहला फ़ाइल नाम 0 है, फिर .1, इत्यादि .0 64 एमबी होगा, .1 128 एमबी, और सीटीए, 2 जीबी तक। एक बार फाइल 2 जीबी आकार तक पहुंचने के बाद, प्रत्येक क्रमिक फ़ाइल भी 2 जीबी है। इस प्रकार, यदि अंतिम डेटाफाइल मौजूद है, तो 1 जीबी कहें, अगर यह फ़ाइल हाल ही में बनाई गई तो 90% खाली हो सकती है।

यहां से: http://www.mongodb.org/display/DOCS/Excessive+Disk+Space

और इसकी यह में कुछ भी नहीं के साथ कई 2GB फ़ाइलों होना सामान्य। वहाँ एक --smallfiles स्विच है, इस

--smallfiles => एक छोटे प्रारंभिक फ़ाइल आकार (16MB) और अधिकतम आकार (512MB)

मैं जानना चाहता हूँ का उपयोग करें 512MB करने के लिए फ़ाइलों को सीमित करने के लिए उत्पादन के लिए छोटेफाइल का उपयोग करना अच्छा है? और इसकी कमी क्या है।

नोप्रेलॉक स्विच है लेकिन यह उत्पादन में अच्छा नहीं है। लेकिन छोटी फाइलों के बारे में कोई जानकारी नहीं है।

उत्तर

6

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

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

+2

यहां एक अन्य नोट यह है कि - स्केलफाइल मध्यस्थों पर अच्छा है - एक आर्बिटर अक्सर शुरू होने पर बहुत सारी फाइलें (उदाहरण के लिए जर्नल) को आवंटित करेगा, क्योंकि स्टार्टअप पर यह नहीं होता है अभी तक पता है कि यह एक arbiter है। –

+2

@AdamC अच्छा बिंदु, लेकिन आप एक arbiter के लिए जर्नलिंग (nojournal = true) भी बदल सकते हैं। – Mattias

1

इसके अतिरिक्त, यदि एडब्ल्यूएस क्लाउड में चल रहा है और एसएसडी के साथ m3.small उदाहरणों का उपयोग कर, तो आप 4 जीबी स्टोरेज तक सीमित हैं। इस विकल्प को सेट करने से आपको एक छोटा एसएसडी-समर्थित मोंगोडब नोड प्राप्त करने की अनुमति मिल जाएगी। छोटे कार्यों के लिए पर्याप्त हो सकता है

+0

मुझे अपने ब्लॉग/फोरम पर थोड़ी सी जगह के साथ कोई समस्या थी और मुझे 20 जीबी से 3 जीबी मुफ्त मिला, इसलिए छोटी फाइलें एक अच्छा विचार प्रतीत होती हैं, छोटे ब्लॉग/फ़ोरम पर छोटी-छोटी चीजों का उपयोग करने के बारे में सोचें, और फिर बड़े पर गैर-छोटे से स्विच करें जैसे ही आप बढ़ते हैं – wiak

संबंधित मुद्दे