हमारे आवेदन को एक डीबी में 5 संग्रह की आवश्यकता है। जब हम ग्राहकों को पर हमारे एप्लिकेशन में जोड़ते हैं तो हम प्रत्येक ग्राहक के लिए अलग-अलग डीबी बनाए रखना चाहते हैं। उदाहरण के लिए, यदि हमारे पास 500 ग्राहक हैं, तो हमारे पास 500 डीबीएस और 2500 संग्रह होंगे (प्रत्येक डीबी में 5 संग्रह होंगे)। इस तरह हम प्रत्येक ग्राहक डेटा को अलग कर सकते हैं।
यह एक अच्छा विचार है। लॉजिकल अलगाव के शीर्ष पर यह आपके लिए प्रदान करेगा, आप अन्य ग्राहकों के डेटा में अनजान पहुंच को रोकने में मदद के लिए मोंगोडीबी में डेटाबेस स्तर की सुरक्षा का उपयोग करने में भी सक्षम होंगे।
मेरी चिंता है, क्या यह किसी भी प्रदर्शन की समस्या का कारण बन जाएगा?
नहीं है, और वास्तव में यह एक ग्राहक के लिए डेटाबेस के स्तर का ताला अत्यंत भारी ताला विवाद के साथ के रूप में मदद मिलेगी (यदि है कि आपके परिदृश्य में संभव है) एक और ग्राहक के लिए प्रदर्शन को प्रभावित नहीं होगा (यह अभी भी हो सकता है अगर वे के लिए प्रतिस्पर्धा कर रहे हैं एक ही I/O बैंडविड्थ लेकिन यदि आप --directoryperdb विकल्प का उपयोग करते हैं तो आपके पास उन डीबी को अलग-अलग भौतिक उपकरणों पर रखने की क्षमता है।
शेर्डिंग आसान स्केलिंग की अनुमति भी देगा क्योंकि आपको किसी भी संग्रह को विभाजित नहीं करना होगा - लोड को अलग-अलग क्लस्टर में वितरित करने की अनुमति देने के लिए आप कई शॉर्ड्स में राउंड-रॉबिन डेटाबेस कर सकते हैं (यदि आप उस स्तर तक पहुंचते हैं)।
दूसरे उत्तर में दावे के विपरीत, टीटीएल मॉनिटर थ्रेड दस्तावेजों को तब तक खींच नहीं लेता जब तक उन्हें हटाया नहीं जा रहा (और मुफ्त सूची में जोड़ा गया)। वे टीटीएल इंडेक्स दोनों से यह बताने के लिए काम करते हैं कि क्या दस्तावेजों की अवधि समाप्त होनी है और साथ ही दस्तावेज़ को सीधे ढूंढना है।
मैं दृढ़ता से एक डेटाबेस के खिलाफ कई संग्रह समाधान की सिफारिश करता हूं क्योंकि यह आपको लोड को विभाजित करने की अनुमति नहीं देता है, न ही सुरक्षा प्रदान करता है, न ही एप्लिकेशन पक्ष को संभालना आसान है।
स्रोत
2013-06-04 23:12:45
ग्राहकों की एक बड़ी संख्या में आप इसके बजाय अलंकित उदाहरणों की तलाश करना बेहतर हो सकते हैं, लेकिन यह आपके द्वारा दिए गए – Sammaye
से अधिक पर निर्भर करता है, जो कि shards के लिए हैं - वे प्रत्येक एक अलग mongod उदाहरण/प्रतिकृति सेट हैं। यह मोंगोडीबी के बहुत से उपयोगकर्ताओं के लिए बेहद आम कॉन्फ़िगरेशन है जो कई किरायेदारों और अलग-अलग डीबी होस्ट कर रहे हैं, यहां एक मानक उत्तर है। –