MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

क्या WiredTiger में MongoDb दस्तावेज़ पर आंशिक अद्यतन करने से पूर्ण दस्तावेज़ अद्यतन पर कोई लाभ मिलता है?

WiredTiger उपयोग करता है पाठकों के जीवनकाल के लिए डेटा के कई दृश्य बनाए रखने के लिए। WiredTiger का इन-मेमोरी प्रारूप ऑन-डिस्क प्रारूप से भिन्न होता है:इन-मेमोरी में यह संग्रहीत होता है जो एक दस्तावेज़ से भिन्न होता है, लेकिन दस्तावेज़ का एक पूर्ण संस्करण तब बनाया जाता है जब समय-समय पर चौकियों के हिस्से के रूप में डेटा फ़ाइलों को फ़्लश किया जाता है।

भले ही विभिन्न MongoDB स्टोरेज इंजन डिस्क पर लगातार अपडेट को कैसे हैंडल करते हैं, जहां संभव हो वहां पूर्ण अपडेट के बजाय आंशिक अपडेट का उपयोग करने में अभी भी प्रदर्शन लाभ हैं (विशेषकर यदि आप फ़ील्ड मान सेट कर रहे हैं जो समग्र दस्तावेज़ आकार के सापेक्ष छोटे हैं)।

उदाहरण के लिए, इस पर विचार करें:

  • दस्तावेज़ अपडेट के लिए नेटवर्क ट्रैफ़िक (कोई भी स्टोरेज इंजन)
  • जर्नल में प्रविष्टियों का आकार (कोई भी स्टोरेज इंजन)
  • प्रतिकृति oplog में प्रविष्टियों का आकार (कोई भी स्टोरेज इंजन)
  • अपडेट के इन-मेमोरी संस्करणों का आकार (वायर्ड टाइगर)

यदि आप हर बार पूर्ण दस्तावेज़ अपडेट भेज रहे हैं, तो आप ऐसे परिदृश्य भी बनाते हैं जहां सर्वर तक अपडेट पहुंचने का क्रम महत्वपूर्ण होता है, भले ही परिवर्तन अलग-अलग फ़ील्ड सेट के लिए हो। आप यह सुनिश्चित करने के लिए कि आप गलती से फ़ील्ड मानों को अधिलेखित नहीं करते हैं, आशावादी संस्करणीकरण जैसे अतिरिक्त अनुप्रयोग तर्क जोड़ सकते हैं, लेकिन यह आपके उपयोग के मामले के आधार पर अनावश्यक जटिलता जोड़ सकता है।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. लैम्ब्डा फ़ंक्शन का उपयोग करके दस्तावेज़ डीबी बैकअप

  2. NoSql के साथ ORM का उपयोग क्यों (जैसे MongoDB)

  3. mongoDB/mongoose:अद्वितीय अगर अशक्त नहीं है

  4. MongoDB में दस्तावेज़ के मूल्य के लिए टाइप चेक कैसे लागू करें?

  5. मोंगो अपडेट में चर पास करें?