मोंगोडीबी ने एक प्रक्रिया में व्यापक लेखन लॉक का उपयोग किया ताकि गारंटी दी जा सके कि एक समय में केवल एक ही लिखने का ऑपरेशन (अपडेट/डालने/निकालना) किया जा सकता है। जैसे-जैसे यह समरूपता मुद्दों को स्वचालित रूप से हल करता है क्योंकि लिखने की सहमति की अनुमति नहीं है।
यदि 4 धागे अद्यतन ऑपरेशन का प्रयास करते हैं तो उनमें से एक लिखने के लॉक लेगा, इसके अपडेट करें और लॉक जारी करें। उसके बाद शेष 3 में से एक लॉक पकड़ लेगा, इसके अपडेट करें, आदि
यदि आपके ऑपरेशन को एक ही लिखने के ऑपरेशन में लपेटा नहीं जा सकता है तो Concurrency केवल खेल में आता है। ध्यान दें कि सबसे आम उपयोगकेस के लिए (एक डॉक्टर ढूंढें, इसे अपडेट करें और नए संस्करण को परमाणु रूप से पकड़ें) मोंगोडीबी "findAndModify" कमांड प्रदान करता है जो केवल यह करता है: http://www.mongodb.org/display/DOCS/findAndModify+Command
अद्यतन: इन दिनों लॉकिंग अधिक बारीक है।
स्रोत
2011-08-09 14:58:52
धन्यवाद मुझे समझ में आता है कि यह सामान्य ज्ञान क्यों लग रहा था। – lollancf37
आपका स्वागत है। यह एक सीमित विशेषता की तरह लगता है लेकिन क्योंकि लिखने अपेक्षाकृत तेज़ हैं, यह वास्तव में शायद ही कभी एक प्रदर्शन मुद्दा है। लॉक के साथ कितना समय बिताया जाता है यह देखने के लिए मोंगोस्टैट में "लॉक%" पर नजर रखें। –