MongoDB - शेयरिंग

साझाकरण कई मशीनों में डेटा रिकॉर्ड को संग्रहीत करने की प्रक्रिया है और यह डेटा विकास की मांगों को पूरा करने के लिए MongoDB का दृष्टिकोण है। जैसे-जैसे डेटा का आकार बढ़ता है, एक भी मशीन डेटा को स्टोर करने के लिए पर्याप्त नहीं हो सकती है और न ही एक स्वीकार्य रीड और थ्रूपुट लिख सकती है। साझाकरण क्षैतिज स्केलिंग के साथ समस्या को हल करता है। तीक्ष्णता के साथ, आप डेटा वृद्धि और पढ़ने और लिखने के संचालन की मांगों का समर्थन करने के लिए अधिक मशीनें जोड़ते हैं।

शेयरिंग क्यों?

  • प्रतिकृति में, सभी लिखते हैं मास्टर नोड पर जाएं

  • लेटेंसी सेंसिटिव क्वेरीज़ अभी भी मास्टर के पास जाती हैं

  • एकल प्रतिकृति सेट में 12 नोड्स की सीमा होती है

  • जब सक्रिय डेटासेट बड़ा होता है तो मेमोरी काफी बड़ी नहीं हो सकती है

  • स्थानीय डिस्क पर्याप्त बड़ी नहीं है

  • वर्टिकल स्केलिंग बहुत महंगी है

MongoDB में साझा करना

निम्नलिखित आरेख शेंगोल्ड क्लस्टर का उपयोग करते हुए MongoDB में शेयरिंग दिखाता है।

निम्नलिखित चित्र में, तीन मुख्य घटक हैं -

  • Shards- डेटा स्टोर करने के लिए शेयर का इस्तेमाल किया जाता है। वे उच्च उपलब्धता और डेटा स्थिरता प्रदान करते हैं। उत्पादन वातावरण में, प्रत्येक शार्क एक अलग प्रतिकृति सेट है।

  • Config Servers- कॉन्फ़िगरेशन सर्वर क्लस्टर के मेटाडेटा को संग्रहीत करते हैं। इस डेटा में शार्प्स के लिए सेट क्लस्टर डेटा की मैपिंग है। क्वेरी राउटर इस मेटाडेटा का उपयोग विशिष्ट शार्क के संचालन को लक्षित करने के लिए करता है। उत्पादन परिवेश में, शार्प्ड क्लस्टर में बिल्कुल 3 कॉन्फिग सर्वर होते हैं।

  • Query Routers- क्वेरी राउटर मूल रूप से मोंगो उदाहरण हैं, क्लाइंट एप्लिकेशन के साथ इंटरफ़ेस और उचित शार्द पर सीधे संचालन। क्वेरी राउटर प्रक्रिया करता है और संचालन को शार्प करने का लक्ष्य रखता है और फिर क्लाइंट को परिणाम देता है। क्लाइंट अनुरोध लोड को विभाजित करने के लिए एक शार्प्ड क्लस्टर में एक से अधिक क्वेरी राउटर हो सकते हैं। एक ग्राहक एक क्वेरी राउटर को अनुरोध भेजता है। आमतौर पर, एक शार्प्ड क्लस्टर में कई क्वेरी राउटर होते हैं।