क्या एक मोंगोडीबी MapReduce नौकरी डेटाबेस को लॉक करता है? मैं एक बहु-उपयोगकर्ता मोंगोडीबी वेब एप्लिकेशन विकसित कर रहा हूं और बहु-उपयोगकर्ता संघर्ष और प्रदर्शन के बारे में चिंतित हूं। क्या किसी के पास मेरे लिए ज्ञान का कोई शब्द है?क्या MongoDB MapReduce डेटाबेस को लॉक करता है
उत्तर
सरल उत्तर? कभी-कभी ...
यह इस बात पर निर्भर करता है कि आप मानचित्र का उपयोग कैसे कर रहे हैं/कम करें ... लेकिन मेरे अनुभव में यह कभी भी एक समस्या नहीं है।
इस पर ज्यादा जानकारी नहीं है, लेकिन यह स्पष्ट रूप से docs कि है कभी कभी ताला करता है, लेकिन यह में कहा गया है "पर्याप्त समवर्ती ऑपरेशन की अनुमति देता है।"
वहाँ MongoDB-उपयोगकर्ता समूह इस बारे में asking ... सबसे अच्छी प्रतिक्रिया मैं offically देखा है में सवालों की एक जोड़ी है कि है 1.4 में यह पैदावार लेकिन यह के रूप में के रूप में अच्छा नहीं है कर रहे हैं ... " 1.5 में, अन्य अनुरोधों के लिए यह बहुत दोस्ताना होना चाहिए। "
मतलब यह नहीं है कि यह है कि यह सभी पर ब्लॉक नहीं करता है, लेकिन db.eval() की तुलना जो ब्लॉक whole mongod process ... यह आपका सर्वश्रेष्ठ दांव है।
जिसके अनुसार, 1.7.2 में और वहाँ अब db.eval() के लिए एक nolock विकल्प है ...
ध्यान रखें कि सबसे महत्वपूर्ण मुद्दा इस पर चमक रहा है: MapReduce पूरे जावास्क्रिप्ट संदर्भ को ताला लगाता है, जिसमें से केवल एक प्रति माह है। इसलिए, आप एक मोंगोडीबी सर्वर पर एकाधिक एक साथ MapReduce नौकरियां नहीं चला सकते हैं; एक क्वेरी तंत्र के रूप में इसका उपयोग सावधान रहें। –
@ ब्रेंडन ... महान बिंदु, धन्यवाद। –
नहीं, मैप्रिडस डेटाबेस को लॉक नहीं करता है। the note here देखें, बस "db.eval()" का उपयोग करने के बाद (यह बताता है कि क्यों मैड्रिडस eval की तुलना में उपयोग करने के लिए अधिक उपयुक्त हो सकता है, क्योंकि मैप्रिडस ब्लॉक नहीं करता है)।
यदि आप बहुत सारे मैड्रिडस नौकरियों को चलाने जा रहे हैं तो आपको शेरिंग का उपयोग करना चाहिए, क्योंकि इस तरह से नौकरी सभी शॉर्ड्स पर समानांतर में चल सकती है। दुर्भाग्यवश मैप्रेडस नौकरियां प्रतिलिपि सेट में सेकेंडरी पर नहीं चल सकती हैं, क्योंकि परिणाम लिखे जाने चाहिए और प्रतिकृति केवल पढ़ने के लिए ही हैं।
संस्करण 2.1.0 में उत्पादन विकल्प के लिए एक "nonatomic" झंडा जोड़ा ।
- 1. MongoDB: mapReduce दुष्प्रभाव
- 2. MongoDB: भयानक MapReduce प्रदर्शन
- 3. MongoDB MapReduce PHP
- 4. MongoDB MapReduce स्थान पर अपडेट करें
- 5. SQLite डेटाबेस फ़ाइल को पढ़ने पर लॉक करता है?
- 6. क्या लॉक() {} संसाधन को लॉक करता है, या क्या यह कोड का एक टुकड़ा लॉक करता है?
- 7. MapReduce द्वारा MongoDB में डुप्लिकेट रिकॉर्ड को कैसे निकालें?
- 8. MongoDB: डेटाबेस समवर्ती को पढ़ता/लिखता है?
- 9. MapReduce
- 10. MapReduce सॉर्ट एल्गोरिदम कैसे काम करता है?
- 11. sqlalchemy डेटाबेस तालिका लॉक है
- 12. मुझे MongoDB/NoSQL डेटाबेस
- 13. 'म्यूटेक्स लॉक' वास्तव में क्या करता है?
- 14. MongoDB डेटाबेस एन्क्रिप्शन
- 15. MongoDB क्रॉस डेटाबेस क्वेरी
- 16. क्या "svnadmin डंप" भंडार को लॉक करता है?
- 17. लॉक के बिना mongodb से पढ़ें
- 18. MapReduce
- 19. MapReduce
- 20. java.sql.SQLException: डेटाबेस लॉक
- 21. sqlite3.OperationalError: डेटाबेस लॉक किया गया है
- 22. MongoDB
- 23. एक कुंजी लॉक वास्तव में किस लॉक को लॉक करता है?
- 24. "सिंक्रनाइज़" वास्तव में क्या करता है? किसी फ़ंक्शन को लॉक करें या ऑब्जेक्ट फ़ंक्शन लॉक करें?
- 25. OperationalError: डेटाबेस लॉक किया गया है
- 26. MongoDB के लिए डिफ़ॉल्ट डेटाबेस पथ क्या है?
- 27. Hadoop mapreduce है त्रुटि
- 28. mongoDB
- 29. MapReduce मेरे लिए सही है?
- 30. MongoDB
ज्ञान के शब्द बुद्धिमान, स्वीकार किए जाते हैं जवाब WRT समानांतरवाद पर मेरी टिप्पणी पर ध्यान दें। –