MongoDB - प्रतिकृति
प्रतिकृति कई सर्वरों में डेटा सिंक्रनाइज़ करने की प्रक्रिया है। प्रतिकृति अतिरेक प्रदान करती है और विभिन्न डेटाबेस सर्वरों पर डेटा की कई प्रतियों के साथ डेटा उपलब्धता को बढ़ाती है। प्रतिकृति एक डेटाबेस को एकल सर्वर के नुकसान से बचाता है। प्रतिकृति आपको हार्डवेयर विफलता और सेवा व्यवधान से भी उबरने की अनुमति देती है। डेटा की अतिरिक्त प्रतियों के साथ, आप आपदा वसूली, रिपोर्टिंग या बैकअप के लिए एक समर्पित कर सकते हैं।
प्रतिकृति क्यों?
- अपने डेटा को सुरक्षित रखने के लिए
- डेटा की उच्च (24 * 7) उपलब्धता
- आपदा बहाली
- रखरखाव के लिए कोई डाउनटाइम नहीं (जैसे बैकअप, इंडेक्स रीबर्ड्स, संघनन)
- स्केलिंग पढ़ें (अतिरिक्त प्रतियां पढ़ने के लिए)
- प्रतिकृति सेट आवेदन के लिए पारदर्शी है
MongoDB में प्रतिकृति कैसे काम करती है
MongoDB प्रतिकृति सेट के उपयोग से प्रतिकृति प्राप्त करता है। एक प्रतिकृति सेट का एक समूह हैmongodऐसे उदाहरण जो समान डेटा सेट की मेजबानी करते हैं। एक प्रतिकृति में, एक नोड प्राथमिक नोड है जो सभी लेखन कार्यों को प्राप्त करता है। अन्य सभी उदाहरण, जैसे कि सेकंडरी, प्राथमिक से संचालन लागू करते हैं ताकि उनके पास समान डेटा सेट हो। प्रतिकृति सेट में केवल एक प्राथमिक नोड हो सकता है।
प्रतिकृति सेट दो या अधिक नोड्स का एक समूह है (आमतौर पर न्यूनतम 3 नोड्स की आवश्यकता होती है)।
प्रतिकृति सेट में, एक नोड प्राथमिक नोड है और शेष नोड माध्यमिक हैं।
सभी डेटा प्राथमिक से माध्यमिक नोड तक दोहराते हैं।
स्वचालित विफलता या रखरखाव के समय, प्राथमिक के लिए चुनाव स्थापित होता है और एक नया प्राथमिक नोड चुना जाता है।
असफल नोड की वसूली के बाद, यह फिर से प्रतिकृति सेट में शामिल होता है और द्वितीयक नोड के रूप में काम करता है।
MongoDB प्रतिकृति का एक विशिष्ट आरेख दिखाया गया है जिसमें क्लाइंट एप्लिकेशन हमेशा प्राथमिक नोड के साथ बातचीत करता है और प्राथमिक नोड तब माध्यमिक नोड्स के लिए डेटा को दोहराता है।
प्रतिकृति सेट सुविधाएँ
- एन नोड्स का एक समूह
- कोई भी नोड प्राथमिक हो सकता है
- सभी लेखन कार्य प्राथमिक जाते हैं
- स्वचालित विफलता
- स्वचालित वसूली
- प्राथमिक का आम सहमति चुनाव
एक प्रतिकृति सेट करें
इस ट्यूटोरियल में, हम स्टैंडअलोन MongoDB उदाहरण को एक प्रतिकृति सेट में परिवर्तित करेंगे। प्रतिकृति सेट में बदलने के लिए, निम्नलिखित चरण हैं -
शटडाउन पहले से ही MongoDB सर्वर चला रहा है।
MongoDB सर्वर को निर्दिष्ट करके शुरू करें - प्रतिकृति विकल्प। निम्नलिखित --replSet का मूल सिंटैक्स है -
mongod --port "PORT" --dbpath "YOUR_DB_DATA_PATH" --replSet "REPLICA_SET_INSTANCE_NAME"
उदाहरण
mongod --port 27017 --dbpath "D:\set up\mongodb\data" --replSet rs0
यह 27017 पोर्ट पर rs0 नाम से एक मोंगॉड इंस्टेंस शुरू करेगा।
अब कमांड प्रॉम्प्ट शुरू करें और इस मोंगॉड इंस्टेंस से कनेक्ट करें।
Mongo क्लाइंट में, कमांड जारी करें rs.initiate() एक नया प्रतिकृति सेट आरंभ करने के लिए।
प्रतिकृति सेट कॉन्फ़िगरेशन की जांच करने के लिए, कमांड जारी करें rs.conf()। प्रतिकृति सेट की स्थिति की जांच करने के लिए कमांड जारी करेंrs.status()।
सदस्यों को प्रतिकृति सेट में जोड़ें
सदस्यों को प्रतिकृति सेट में जोड़ने के लिए, कई मशीनों पर मोंगॉड इंस्टेंस शुरू करें। अब एक मोंगो क्लाइंट शुरू करें और एक कमांड जारी करेंrs.add()।
वाक्य - विन्यास
का मूल सिंटैक्स rs.add() कमांड इस प्रकार है -
>rs.add(HOST_NAME:PORT)
उदाहरण
मान लीजिए कि आपका मोंगॉड उदाहरण नाम है mongod1.net और यह बंदरगाह पर चल रहा है 27017। इस उदाहरण को प्रतिकृति सेट में जोड़ने के लिए, कमांड जारी करेंrs.add() मानगो ग्राहक में।
>rs.add("mongod1.net:27017")
>
आप केवल प्राथमिक नोड से जुड़े होने पर प्रतिकृति सेट में मोंगॉड उदाहरण जोड़ सकते हैं। यह जांचने के लिए कि आप प्राथमिक से जुड़े हैं या नहीं, कमांड जारी करेंdb.isMaster() ग्राहक में