2011-04-06 13 views
10

क्या एक मोंगोडीबी MapReduce नौकरी डेटाबेस को लॉक करता है? मैं एक बहु-उपयोगकर्ता मोंगोडीबी वेब एप्लिकेशन विकसित कर रहा हूं और बहु-उपयोगकर्ता संघर्ष और प्रदर्शन के बारे में चिंतित हूं। क्या किसी के पास मेरे लिए ज्ञान का कोई शब्द है?क्या MongoDB MapReduce डेटाबेस को लॉक करता है

+0

ज्ञान के शब्द बुद्धिमान, स्वीकार किए जाते हैं जवाब WRT समानांतरवाद पर मेरी टिप्पणी पर ध्यान दें। –

उत्तर

7

सरल उत्तर? कभी-कभी ...

यह इस बात पर निर्भर करता है कि आप मानचित्र का उपयोग कैसे कर रहे हैं/कम करें ... लेकिन मेरे अनुभव में यह कभी भी एक समस्या नहीं है।

इस पर ज्यादा जानकारी नहीं है, लेकिन यह स्पष्ट रूप से docs कि है कभी कभी ताला करता है, लेकिन यह में कहा गया है "पर्याप्त समवर्ती ऑपरेशन की अनुमति देता है।"

वहाँ MongoDB-उपयोगकर्ता समूह इस बारे में asking ... सबसे अच्छी प्रतिक्रिया मैं offically देखा है में सवालों की एक जोड़ी है कि है 1.4 में यह पैदावार लेकिन यह के रूप में के रूप में अच्छा नहीं है कर रहे हैं ... " 1.5 में, अन्य अनुरोधों के लिए यह बहुत दोस्ताना होना चाहिए। "

मतलब यह नहीं है कि यह है कि यह सभी पर ब्लॉक नहीं करता है, लेकिन db.eval() की तुलना जो ब्लॉक whole mongod process ... यह आपका सर्वश्रेष्ठ दांव है।

जिसके अनुसार, 1.7.2 में और वहाँ अब db.eval() के लिए एक nolock विकल्प है ...

+6

ध्यान रखें कि सबसे महत्वपूर्ण मुद्दा इस पर चमक रहा है: MapReduce पूरे जावास्क्रिप्ट संदर्भ को ताला लगाता है, जिसमें से केवल एक प्रति माह है। इसलिए, आप एक मोंगोडीबी सर्वर पर एकाधिक एक साथ MapReduce नौकरियां नहीं चला सकते हैं; एक क्वेरी तंत्र के रूप में इसका उपयोग सावधान रहें। –

+0

@ ब्रेंडन ... महान बिंदु, धन्यवाद। –

0

नहीं, मैप्रिडस डेटाबेस को लॉक नहीं करता है। the note here देखें, बस "db.eval()" का उपयोग करने के बाद (यह बताता है कि क्यों मैड्रिडस eval की तुलना में उपयोग करने के लिए अधिक उपयुक्त हो सकता है, क्योंकि मैप्रिडस ब्लॉक नहीं करता है)।

यदि आप बहुत सारे मैड्रिडस नौकरियों को चलाने जा रहे हैं तो आपको शेरिंग का उपयोग करना चाहिए, क्योंकि इस तरह से नौकरी सभी शॉर्ड्स पर समानांतर में चल सकती है। दुर्भाग्यवश मैप्रेडस नौकरियां प्रतिलिपि सेट में सेकेंडरी पर नहीं चल सकती हैं, क्योंकि परिणाम लिखे जाने चाहिए और प्रतिकृति केवल पढ़ने के लिए ही हैं।

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