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

उत्पादन में प्रतिकृति सेट के रूप में एक एकल MongoDB उदाहरण क्यों शुरू करने की अनुशंसा नहीं की जाती है?

प्रतिकृति सेट का मुख्य कार्य आपके MongoDB परिनियोजन के लिए डेटा अतिरेक और उच्च उपलब्धता प्रदान करना है। यही है, यदि किसी भी कारण से प्रतिकृति सेट में प्राथमिक नोड नीचे चला जाता है, तो एक माध्यमिक तुरंत नए प्राथमिक (औसतन ~ 10 सेकंड के भीतर) के रूप में कार्यभार संभाल लेगा। देखें प्रतिकृति इस विषय पर अधिक जानकारी के लिए।

आधिकारिक MongoDB ड्राइवर इस प्रतिकृति सेट चुनाव घटना के बारे में जानते हैं, और नए प्राथमिक के लिए स्वचालित पुन:कनेक्शन और संचालन पुन:प्रयास प्रदान करेंगे। एप्लिकेशन के दृष्टिकोण से, डेटाबेस पक्ष में कुछ भी नहीं हुआ।

कई सेकेंडरी के साथ प्रतिकृति सेट का उपयोग करने का एक अन्य लाभ रोलिंग फैशन में शून्य डाउनटाइम अपग्रेड/रखरखाव की संभावना है। यह एक सेकेंडरी को ऑफलाइन लेकर, उस पर मेंटेनेंस करके, फिर दूसरी सेकेंडरी पर मेंटेनेंस करके और अंत में प्राइमरी को नीचे करके उस पर मेंटेनेंस करके किया जा सकता है। फिर से चूंकि आधिकारिक MongoDB ड्राइवर इन घटनाओं से अवगत हैं, आप तकनीकी रूप से लाइव डेटाबेस पर बहुत कम प्रभाव के साथ रखरखाव कर सकते हैं और ऐप में कोई डाउनटाइम नहीं है।

यह एक अलग दर्शन बनाम एक अखंड डेटाबेस सर्वर है, जहां केवल एक सच्चा बड़ा सर्वर है। यद्यपि एक अखंड परिनियोजन में कुछ गुण हैं (जो फिर से एक अलग चर्चा है :)), MongoDB को एक दोष-सहिष्णु वितरित डेटाबेस को ध्यान में रखते हुए डिज़ाइन किया गया था। एकल सर्वर का एक तात्कालिक दोष यह है कि सर्वर हर समय 100% ऊपर होना चाहिए, अन्यथा ऐप बाधित हो जाता है। एक रेप्लिका सेट को डिज़ाइन किया गया था ताकि आपके ऐप में 100% अपटाइम वाले अलग-अलग सर्वरों पर दबाव डाले बिना 100% अपटाइम हो सके।

एक बोनस के रूप में, एक प्रतिकृति सेट हो सकता है ड्राइवर को सेकेंडरी से पढ़ने के लिए सेट करके रीड स्केलेबिलिटी प्रदान करने में सक्षम हो (लिखना हमेशा प्राथमिक पर जाना चाहिए)। ध्यान दें कि यदि आप द्वितीयक पठन करना चाहते हैं तो एक सावधानीपूर्वक डिज़ाइन किया जाना चाहिए, क्योंकि यह दुरुपयोग होने पर उच्च उपलब्धता पहलू में संभावित रूप से हस्तक्षेप कर सकता है।

संक्षेप में, एक प्रतिकृति सेट प्रदान कर सकता है:

  • उच्च उपलब्धता और दोष सहनशीलता
  • कोई डाउनटाइम रखरखाव नहीं
  • पैमाने पर डेटा रिडंडेंसी पढ़ता है

हार्डवेयर को 100% विश्वसनीय होने की आवश्यकता के बिना। यही कारण है कि एक उत्पाद परिनियोजन में एक प्रतिकृति सेट की जोरदार सिफारिश की जाती है।

देखें प्रतिकृति सेट परिनियोजन आर्किटेक्चर अधिक विस्तृत प्रतिकृति सेट परिनियोजन विचारों के लिए।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. NoSQL रुझान - MongoDB, Cassandra, CouchDB और Riak

  2. MongoDB में अनुक्रमणिका द्वारा किसी सरणी में उप-दस्तावेज़ में फ़ील्ड को ऊपर करें

  3. रिपोजिटरी पैटर्न का उपयोग करते समय MongoDB और बड़े डेटासेट

  4. MongoDB के लिए परिनियोजन पैटर्न की तुलना करना

  5. $lookup के साथ MongoDB एकत्रीकरण में केवल (या प्रोजेक्ट) क्वेरी से वापस आने के लिए कुछ फ़ील्ड शामिल हैं