course
किसी स्वस्थ MongoDB डेटाबेस को बनाए रखना एप्लिकेशन की स्थिरता, इष्टतम प्रदर्शन, और डेटा अखंडता सुनिश्चित करने के लिए आवश्यक है। एक "स्वस्थ" क्लस्टर वह होता है जो भरोसेमंद रूप से रीड और राइट सर्व करता है, डेटा को हानि से बचाता है, और अपेक्षित परिचालन मापदंडों के भीतर कार्य करता है। नियमित जाँचें और सक्रिय मॉनिटरिंग संभावित समस्याओं की पहचान और समाधान के लिए महत्वपूर्ण हैं—इससे पहले कि वे आपकी सेवा को प्रभावित करें।
हम आपके MongoDB क्लस्टर के स्वास्थ्य को तीन मूलभूत क्षेत्रों में वर्गीकृत कर सकते हैं:
- Replication (प्रतिकृति)
- Performance (प्रदर्शन)
- Backup (बैकअप)
इन क्षेत्रों का नियमित आकलन करके, आप सुनिश्चित करते हैं कि आपका डेटा प्लेटफ़ॉर्म मज़बूत और भरोसेमंद रहे। इसके अतिरिक्त, MongoDB Atlas और MongoDB Ops Manager जैसे आधुनिक प्रबंधन उपकरण एकीकृत मॉनिटरिंग के साथ अलर्ट और सिफारिशें प्रदान करते हैं, जो संभावित समस्याओं से पहले ही निपटने में मदद करते हैं। अलर्ट सेट करना आपको सब पर नज़र रखने में मदद करेगा। आप इसके निर्देश और उदाहरण आधिकारिक MongoDB दस्तावेज़ में अलर्ट कैसे सेट करें पर पा सकते हैं।
आइए इन क्षेत्रों पर विस्तार से नज़र डालें।
Replication Status
MongoDB में उच्च उपलब्धता की रीढ़ प्रतिकृति है। एक स्वस्थ रिप्लिका सेट डेटा की अतिशयता और फेलओवर क्षमता सुनिश्चित करता है। आइए तीन प्रमुख संकेतकों की जाँच करें ताकि यह सुनिश्चित हो सके कि रिप्लिका सेट के सदस्यों के रूप में शामिल सर्वरों के बीच प्रतिकृति प्रभावी है।
प्रतिकृति की समग्र स्थिति और विवरण
रिप्लिका सेट की पूरी स्थिति MongoDB शेल में rs.status() कमांड चलाकर प्राप्त की जा सकती है। यह कमांड रिप्लिका सेट की वर्तमान स्थिति का व्यापक दृश्य प्रदान करती है। आउटपुट की जाँच करें कि सभी सदस्य स्वस्थ हैं (अर्थात PRIMARY या SECONDARY स्थिति में) और अपेक्षा के अनुरूप कार्य कर रहे हैं।
Atlas UI से भी आप ऊपर बताए गए कमांड द्वारा दी गई समान जानकारी तक पहुँच सकते हैं। "Clusters" पृष्ठ से, किसी विशिष्ट क्लस्टर के नाम पर क्लिक करें। यह क्रिया आपको "Overview" टैब पर ले जाएगी, जहाँ आपको नोड्स का अवलोकन मिलता है। यदि कुछ गंभीर रूप से गलत है, तो वह वहाँ दिखाई देगा।
प्रतिकृति में लगने वाला समय
एक प्रतिकृत क्लस्टर में स्थायित्व डेटा को अधिकांश नोड्स तक प्रतिलिपि करने पर निर्भर करता है। इस कारण, एक स्वस्थ क्लस्टर को तेज़ी से प्रतिकृति करनी चाहिए। यदि ऐसा नहीं होता, तो majority write concern वाली क्रियाओं में अधिक विलंबता होगी।
इस विशेषता का प्रमुख संकेतक replication lag है। replication lag वह देरी है जो प्राथमिक सदस्य पर किसी ऑपरेशन और उसके बाद किसी द्वितीयक सदस्य पर उसके लागू होने के बीच होती है। कम और सुसंगत replication lag स्वास्थ्य का मजबूत संकेतक है। इसके विपरीत, धीमी प्रतिकृति नोड्स के बीच खराब कॉन्फ़िगर किए गए कनेक्शनों का संकेत हो सकती है।
रिप्लिका lag देखने का सबसे आसान तरीका "Cluster Metrics" टैब के अंतर्गत "Replication Lag" चार्ट देखना है। यहाँ एक स्वस्थ क्लस्टर के लिए इस चार्ट का उदाहरण है। ध्यान दें कि यह मीट्रिक क्लस्टर के PRIMARY नोड पर लागू नहीं होती—मध्य वाला, जिसे "P" से पहचाना गया है।

Replication Oplog Window
प्रतिकृति "oplog" नामक एक विशेष कलेक्शन के माध्यम से कार्यान्वित होती है। oplog (operation log) एक capped collection है जो सभी डेटा-संशोधन क्रियाओं को रिकॉर्ड करती है। "Replication Oplog Window" से तात्पर्य उस अनुमानित समय से है जो सिंक स्रोत के लिए प्रतिकृति oplog में उपलब्ध होता है—इससे पहले कि वर्तमान ऑपरेशंस अधिलेखित होने लगें। दूसरे शब्दों में, Replication Oplog Window oplog में नवीनतम और सबसे पुराने टाइमस्टैंप के बीच का समयांतर है। पर्याप्त oplog विंडो मान द्वितीयकों को किसी आउटेज के बाद कैच-अप करने देने और पूर्ण डेटा रिसिंक की आवश्यकता को रोकने के लिए अत्यावश्यक है।
यदि कोई द्वितीयक Replication Oplog Window से अधिक समय तक ऑफ़लाइन रहता है, तो उसे शुरू से फिर से सिंक करना पड़ेगा। यानी आप ऐसा Replication Oplog Window मान चाहते हैं, जो उस अधिकतम समय से बड़ा हो जितने समय तक कोई रिप्लिका अनुपलब्ध हो सकती है। ध्यान दें कि Replication Oplog Window मान लिखने के उछालों के प्रति संवेदनशील होता है।
Replication Oplog Window बढ़ाने के लिए कोई oplog कलेक्शन का आकार बढ़ाएगा।

Performance Status
प्रदर्शन सीधे आपके एप्लिकेशन के उपयोगकर्ता अनुभव और क्लस्टर के परिचालन लागत को प्रभावित करता है। एक स्वस्थ क्लस्टर अपने कार्यभार के अनुरूप कुशलता से प्रदर्शन करता है।
यहाँ भी, आइए मॉनिटर करने के लिए महत्वपूर्ण प्रदर्शन पहलुओं पर नज़र डालें।
वर्तमान ऑपरेशन की गिनतियाँ अपेक्षा के अनुरूप हों
सबसे पहले, मैं यह देखना पसंद करता हूँ कि क्या क्लस्टर अपेक्षित संख्या में ऑपरेशंस प्राप्त कर रहा है। यहाँ "अपेक्षित" का अर्थ है कि आप मान जानते हों। यदि नहीं, तो पिछले घंटे, दिन, सप्ताह आदि में क्वेरियों की प्रवृत्ति की जाँच करना यह समझने में मदद कर सकता है कि सामान्य क्या है और क्या कोई शिखर या असामान्यता हो रही है। किसी निश्चित समय पर नियमित साप्ताहिक शिखर क्लस्टर को पूर्व-emtive रूप से स्केल अप करने की आवश्यकता दिखा सकता है।
ऑपरेशंस की दर (रीड, राइट, कमांड) पर नज़र रखें। कोई भी अचानक, अप्रत्याशित स्पाइक या गिरावट किसी समस्या का संकेत हो सकती है—जैसे एप्लिकेशन समस्या, संसाधन बाधा, या अक्षम क्वेरी पैटर्न। मदद के लिए, ऑपरेशंस की संख्या पर अलर्ट सेट करें, जो क्लस्टर मीट्रिक्स के "Opcounters" अनुभाग में दिखाई देती है।
इसके अतिरिक्त, वर्तमान ऑपरेशंस दर के बारे में वास्तविक-समय की जानकारी "Real Time Tab" के माध्यम से मिल सकती है।

धीमी क्वेरियों के बारे में गहन जानकारी प्राप्त करें
जो क्वेरियाँ असामान्य रूप से अधिक समय लेती हैं, उन्हें धीमी क्वेरी कहा जाता है। ये अक्सर इंडेक्सिंग या क्वेरी ऑप्टिमाइज़ेशन की आवश्यकता दर्शाती हैं। इसके अलावा, ऐसी क्रियाओं की मॉनिटरिंग करना आवश्यक है जिन्हें in-memory sorting की ज़रूरत होती है, क्योंकि यह सर्वर संसाधनों का बड़ा हिस्सा खा सकती है और प्रदर्शन घटा सकती है।
"Query Insights" टैब आपको क्वेरियों को देखने, मानदंडों के अनुसार फ़िल्टर करने, और अतिरिक्त कार्य करने देता है। आप इस पृष्ठ का उपयोग यह पहचानने के लिए करना चाहेंगे कि किन क्वेरियों को ऑप्टिमाइज़ करना चाहिए और किन्हें किसी अन्य नोड पर या बाद में चलाना चाहिए।

लापता इंडेक्स
MongoDB में धीमी क्वेरियों का सबसे सामान्य कारण उपयुक्त इंडेक्स का अभाव है। इंडेक्स न होने पर MongoDB कलेक्शन स्कैन (कलेक्शन के हर दस्तावेज़ की जाँच) कर सकता है, लेकिन यह विशेष रूप से बड़े कलेक्शनों पर बहुत अक्षम क्रिया है। लापता इंडेक्स की पहचान करना और उन्हें बनाना क्वेरी प्रदर्शन बनाए रखने के लिए आवश्यक है।
"Performance Advisor" टैब प्रदर्शन को ऑप्टिमाइज़ करने में मदद के लिए कई उपयोगी उपकरण प्रदान करता है। नीचे दिखाया गया पृष्ठ "Create Indexes" है।

Backup Status
जब संसाधन—जैसे किसी सर्वर की डिस्क—खो जाएँ या भ्रष्ट हो जाएँ, तो डेटा हानि को कम करने में प्रतिकृति एक मूल्यवान साधन है। आपके क्लस्टर की नेटिव उच्च उपलब्धता अधिकांश हार्डवेयर विफलताओं को कवर कर लेगी। फिर भी, एक भरोसेमंद बैकअप रणनीति डेटा हानि के विरुद्ध अंतिम सुरक्षा है। एक स्वस्थ क्लस्टर में परखा हुआ, कार्यशील बैकअप और रिकवरी सिस्टम होता है।
अन्य अनुभागों की तरह, आइए आपकी बैकअप रणनीति के कुछ प्रमुख विचारों की जाँच करें।
रिकवरी लक्ष्यों को परिभाषित करें
अपना Recovery Point Objective (RPO) परिभाषित करें, जो अधिकतम स्वीकार्य डेटा हानि है, और अपना Recovery Time Objective (RTO), जो सेवा बहाल करने का अधिकतम अनुमेय समय है। ये लक्ष्य आपके बैकअप की आवश्यक आवृत्ति और विधि निर्धारित करते हैं।
बैकअप की मूल बातें
MongoDB के साथ डेटा बैकअप करने के विभिन्न उपकरण हैं। यह mongodump का उपयोग करके आपके डेटा के सरल डंप से शुरू होता है। फिर यह स्नैपशॉट लेने और व्यक्तिगत ऑपरेशंस (oplog) को संरक्षित करने के लिए MongoDB प्रबंधन उपकरणों के उपयोग तक बढ़ता है, ताकि किसी भी समय बिंदु की छवि पुनर्सृजित की जा सके। होस्टेड क्लस्टर्स के लिए MongoDB Atlas इन उपकरणों को शामिल करता है, जबकि ऑन-प्रिमाइसेस क्लस्टर्स के लिए MongoDB OpsManager समान कार्य करता है।
बैकअप के रूप में डेटा के कई संस्करण रखना आमतौर पर मूल डेटाबेस से अधिक स्थान लेता है। आपको लागतों को समझना चाहिए ताकि अपनी आवश्यकताओं से बेहतर मेल हो सके। यह अभ्यास एक ऐसा शेड्यूल तैयार करेगा जो बनाए जाने वाले स्नैपशॉट्स की संख्या और उनकी संबंधित आवृत्ति दिखाता है।

बैकअप को ट्रैक करना, एक्सेस करना, और पुनर्स्थापित करना
यदि आप MongoDB Atlas का उपयोग कर रहे हैं, तो सत्यापित करें कि प्रबंधित बैकअप प्रक्रिया सफलतापूर्वक चल रही है, नियमित रूप से स्नैपशॉट ले रही है, और रिटेंशन नीतियाँ आपके RPO के अनुरूप हैं।
एक पुनर्स्थापन करें: अपने बैकअप के मान्य होने की वास्तविक पुष्टि करने का एकमात्र तरीका नियमित रूप से रिस्टोर परीक्षण करना है। यह पूरी बैकअप-और-रिस्टोर पाइपलाइन को मान्य करता है, यह सुनिश्चित करते हुए कि आपातकाल की स्थिति में डेटा पुनर्प्राप्त किया जा सकता है।

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

सीनियर स्टाफ डेवलपर एडवोकेट @ MongoDB
FAQs
MongoDB क्लस्टर को सुरक्षित करने में पहला महत्वपूर्ण कदम क्या है?
सुरक्षा अत्यंत महत्वपूर्ण है। प्रमाणीकरण सक्षम करना और role-based access control (RBAC) सेट करना पहला आवश्यक कदम है, ताकि केवल अधिकृत उपयोगकर्ता और एप्लिकेशन ही डेटा तक पहुँच और उसे संशोधित कर सकें। क्लस्टर नोड्स के बीच संचार को SSL से सुरक्षित करना भी आवश्यक है।
एक स्वस्थ प्रोडक्शन क्लस्टर में replication lag की स्वीकार्य ऊपरी सीमा क्या मानी जाती है?
हालाँकि यह कार्यभार और टोपोलॉजी के अनुसार भिन्न हो सकता है, replication lag आदर्श रूप से एक सेकंड के आसपास होना चाहिए। कोई भी lag जो लगातार 10 सेकंड से अधिक हो, प्रायः एक समस्या माना जाता है जो उच्च उपलब्धता से समझौता कर सकता है।
Replication Oplog Window के इष्टतम आकार का निर्धारण मैं कैसे करूँ?
एक सामान्य श्रेष्ठ अभ्यास यह है कि oplog का आकार इतना रखा जाए कि वह कम-से-कम 24 से 72 घंटे के ऑपरेशंस समाहित कर सके। फिर भी, कई उपयोगकर्ता एक सप्ताह के ऑपरेशंस रखना पसंद करते हैं। यह अधिकांश मेंटेनेंस विंडो या आउटेज के बाद द्वितीयकों को बिना पूर्ण रिसिंक के कैच-अप करने के लिए पर्याप्त बफ़र समय देता है। इसे देखने का एक और तरीका यह है कि कितने दिन बीत सकते हैं, इससे पहले कि आपकी टीम फिर से एक स्वस्थ क्लस्टर ऑनलाइन ला सके।
लापता इंडेक्स के अलावा, धीमी क्वेरियों का एक अन्य सामान्य कारण क्या है, जिसके लिए गहन प्रदर्शन समीक्षा की आवश्यकता होती है?
अक्षम स्कीमा डिज़ाइन बड़े प्रदर्शन मुद्दों का कारण बन सकता है, विशेषकर वे क्वेरियाँ जो अनावश्यक रूप से बड़े दस्तावेज़ रीड या गैर-इष्ट write ऑपरेशंस की ओर ले जाती हैं।
लेख में बताया गया है कि भरोसेमंद बैकअप रणनीति अंतिम सुरक्षा है। पूर्ण रिस्टोर परीक्षण कितनी बार चलाना चाहिए?
कम-से-कम प्रत्येक तिमाही में एक बार, या क्लस्टर या बैकअप सिस्टम में किसी बड़े कॉन्फ़िगरेशन परिवर्तन के बाद, पूर्ण रिस्टोर परीक्षण किया जाना चाहिए। यह पूरे रिकवरी पाइपलाइन को मान्य करता है ताकि सुनिश्चित हो सके कि आवश्यकता पड़ने पर डेटा वास्तव में पुनर्प्राप्त किया जा सकता है।