2010-05-11 24 views
29

मैं के बारे में एक नई परियोजना के लिए MongoDB को अपनाने के लिए कर रहा हूँ और मैं लचीलेपन के लिए यह चुन लिया है, नहीं scalability तो यह एक मशीन पर चल कर दिया जाएगा। प्रलेखन और वेब पोस्ट से मैं पढ़ता रहता हूं कि सभी अनुक्रमणिका रैम में हैं। यह सिर्फ मुझे समझ में नहीं आता है क्योंकि मेरी अनुक्रमणिका आसानी से उपलब्ध रैम की मात्रा से बड़ी होगी।MongoDB सूचकांक/रैम संबंध

किसी को भी सूचकांक/रैम संबंधों पर कुछ जानकारी साझा कर सकते हैं और क्या होता है जब दोनों एक व्यक्तिगत सूचकांक और मेरे इंडेक्सों का सभी उपलब्ध रैम के आकार से अधिक?

उत्तर

28

MongoDB क्या यह रैम में इंडेक्सों का कर सकते हैं रहता है। वे एलआरयू आधार पर स्वैप किए जाएंगे। अगर सूचकांक के कुछ भागों आप वास्तव में स्मृति में फिट तक पहुँच रहे हैं, तो आप ठीक हो जाओगे: आप अक्सर प्रलेखन पता चलता है कि आप रखना चाहिए अपने "काम सेट" स्मृति में दिखाई देगी।

+2

पर भरोसा करते हैं की अच्छी स्पष्ट और सरल व्याख्या ठीक 'गणना करने के लिए काम कर रहे set', मान लीजिए कि मैं एक ही संग्रह है जाने है। फिर, 'db.collection.stats()' चलाएं। क्या 'फाइलसाइज' या 'डेटासाइज' मेरा "कामकाजी सेट" इंगित करेगा? –

8

यह कामकाजी सेट आकार प्लस मोंगोडीबी की इंडेक्स है जो आदर्श रूप से रैम में रहना चाहिए यानी उपलब्ध रैम की मात्रा कम से कम काम करने वाले सेट आकार और इंडेक्स के आकार और साथ ही शेष ओएस (ऑपरेटिंग सिस्टम) और उसी मशीन पर चल रहे अन्य सॉफ़्टवेयर की आवश्यकता है। यदि उपलब्ध रैम से कम है, LRUing क्या होता है और इसलिए हम महत्वपूर्ण मंदी मिल सकता है। ध्यान में रखने की एक बात है कि एक सूचकांक में BTREE बाल्टी कैश नहीं किया जाता, अलग-अलग सूचकांक कुंजी मतलब यह कि अगर हम, हम रैम में सूचकांक की अधिक आवश्यकता हो सकती है ऐतिहासिक डेटा के लिए सहित एक सूचकांक में चाबियों का एक समान वितरण था जब की तुलना में हमारे पास समय पर कुछ और यौगिक सूचकांक है। उत्तरार्द्ध के साथ, एक ही BTREE बाल्टी में चाबियाँ एक ही समय युग से आम तौर पर कर रहे हैं, तो यह चेतावनी नहीं होता है। इसके अलावा, हम ध्यान रखें कि BSON में हमारे क्षेत्र के नाम रिकॉर्ड में जमा हो जाती है (लेकिन इंडेक्स) में रखना चाहिए, इसलिए यदि हम स्मृति दबाव में हैं वे कम रखा जाना चाहिए।

जो लोग MongoDB के मौजूदा आभासी स्मृति उपयोग (जो निश्चित रूप से के बारे में भी राम है) में रुचि रखते हैं, mongod की स्थिति पर एक नज़र हो सकता है।

@see http://www.markus-gattol.name/ws/mongodb.html#sec7