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

MongoDB कैसे स्केल करें?

यदि आपकी डिस्क समाप्त हो रही है, तो आपको स्पष्ट रूप से एक बड़ी डिस्क प्राप्त करने की आवश्यकता है।

आपके डेटा को माइग्रेट करने के कई तरीके हैं, यह वास्तव में आपके लिए आवश्यक अप-टाइम के प्रकार पर निर्भर करता है। बेशक पहले चरण में मशीन को बंडल करना और नया वॉल्यूम बनाना शामिल है।

ये टिप्स आसान से कठिन तक जाती हैं।

क्या आप कई मिनटों के लिए डेटाबेस को पूरी तरह से ऑफ़लाइन ले सकते हैं?

यदि ऐसा है, तो यह करें (प्रतिलिपि द्वारा प्रवासन):

  1. सर्वर पर नया ईबीएस माउंट करें।
  2. अपने ऐप को Mongo से कनेक्ट होने से रोकें।
  3. मोंगॉड को बंद करें और सब कुछ लिखने के लिए प्रतीक्षा करें (लॉग जांचें)
  4. सभी डेटा फ़ाइलों (और शायद लॉग) को नए EBS वॉल्यूम में कॉपी करें।
  5. जब तक कॉपी हो रही है, नए वॉल्यूम को इंगित करने के लिए अपनी मोंगॉड स्टार्ट स्क्रिप्ट (या कॉन्फिग फाइल) को अपडेट करें।
  6. मोंगॉड शुरू करें और कनेक्शन जांचें
  7. अपना ऐप रीस्टार्ट करें।

क्या आप डेटाबेस को कुछ ही मिनटों के लिए ऑफ़लाइन ले सकते हैं?

अगर ऐसा है, तो ऐसा करें (गुलाम करना और स्विच करें):

  1. नया इंस्टेंस शुरू करें और उस सर्वर पर नया ईबीएस माउंट करें।
  2. मोंगोड को वर्तमान डेटाबेस की ओर इशारा करते हुए --स्लेव के रूप में स्थापित / प्रारंभ करें। (आपको --मास्टर के रूप में करंट को फिर से शुरू करने की आवश्यकता हो सकती है)
  3. गुलाम एक नया सिंक्रनाइज़ेशन करेगा। दास के अप-टू-डेट होने के बाद, आप एक "स्विच" (अगले चरण) करेंगे।
  4. सिस्टम से लिखना बंद करें।
  5. मूल मोंगॉड प्रक्रिया को बंद करें।
  6. गुलाम के बजाय गुरु के रूप में "नया" मोंगोड को फिर से शुरू करें।
  7. नए मास्टर की ओर इशारा करते हुए सिस्टम राइट्स को फिर से सक्रिय करें।

सही ढंग से किया गया वे अंतिम तीन चरण मिनटों या सेकंडों में हो सकते हैं।

क्या आप कोई डाउन-टाइम बर्दाश्त नहीं कर सकते?

अगर ऐसा है, तो ऐसा करें (मास्टर-मास्टर ):

  1. नया इंस्टेंस शुरू करें और उस सर्वर पर नया ईबीएस माउंट करें।
  2. मोंगोड को वर्तमान डेटाबेस के खिलाफ एक मास्टर और एक दास के रूप में स्थापित / प्रारंभ करें। (वर्तमान को मास्टर के रूप में फिर से शुरू करने की आवश्यकता हो सकती है, न्यूनतम डाउन-टाइम?)
  3. नए कंप्यूटर को एक नया सिंक्रनाइज़ेशन करना चाहिए।
  4. नए कंप्यूटर के अप-टू-डेट होने के बाद, सिस्टम को नए सर्वर पर पॉइंट करने के लिए स्विच करें।

मुझे पता है कि ऐसा लगता है कि यह अंतिम संस्करण वास्तव में सबसे अच्छा है, लेकिन यह थोड़ा पासा हो सकता है (इस लेखन के अनुसार)। इसका कारण यह है कि मुझे ईमानदारी से "मास्टर-मास्टर" प्रतिकृति के साथ बहुत सारी समस्याएं हैं, खासकर यदि आप दोनों सक्रिय के साथ शुरू नहीं करते हैं।

यदि आप इस पद्धति का उपयोग करने की योजना बना रहे हैं, तो मेरा सुझाव है कि पहले एक छोटा अभ्यास चलाया जाए। अगर यहां कुछ होता है, तो मोंगो आपकी सभी डेटा फ़ाइलों को आसानी से मिटा सकता है, जिसका प्रभाव अधिक सामान नीचे ले जाने का होगा।

यदि आपको इसका एक अच्छा संस्करण मिलता है, तो कृपया कमांड पोस्ट करें, मैं इसे क्रिया में देखना चाहता हूं।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगो प्रदान किए गए डेटा की एक सरणी से पंक्तियों की गणना करता है

  2. पाइमोंगो के साथ मोनगोइम्पोर्ट सीएसवी

  3. नेवला उप-दस्तावेज़ बनाम नेस्टेड स्कीमा

  4. Node.js Mongoose.js स्ट्रिंग ObjectId फ़ंक्शन के लिए

  5. MongoDB $graphLookup बच्चों को सभी स्तरों पर गहराई से प्राप्त करें - नेस्टेड परिणाम