Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> डेटाबेस

एईएम के साथ मोंगोडीबी के लिए एक मामला

MongoDB क्या है?

MongoDB, अन्य बातों के अलावा, एक दस्तावेज़-उन्मुख NoSQL डेटाबेस है। इसका मतलब है कि यह डेटा प्रबंधन और संगठन के लिए एक लचीला, क्षैतिज रूप से स्केलिंग मॉडल पेश करने के लिए पारंपरिक, संबंधपरक मॉडल से विचलित होता है।

MongoDB AEM के साथ कैसे काम करता है?

MongoDB Crx3mongo रनमोड और JVM विकल्पों के माध्यम से Adobe अनुभव प्रबंधक (AEM) के साथ एकीकृत होता है:-Doak.mongo.uri और -Doak.mongo.db

मैं MongoDB क्यों करूंगा?

मुख्य रूप से MongoDB पुराने CRX क्लस्टर कॉन्फ़िगरेशन के लिए एक वैकल्पिक HA कॉन्फ़िगरेशन प्रदान करता है। वास्तव में, आर्किटेक्चर वास्तविक क्लस्टरिंग की तुलना में एनएफएस या नेटएप पर साझा कैटलॉग के समान है। MongoDB का उपयोग करने वाले लेखक और प्रकाशक एक दूसरे के बारे में आवश्यक रूप से जागरूक नहीं हैं।

आइए इसे रास्ते से हटा दें - CRX क्लस्टरिंग का कोई बेदाग ट्रैक रिकॉर्ड नहीं है। केवल-स्थानीय ऑब्जेक्ट कैटलॉग के लिए अंतर्निहित चुनौतियों में से एक यह है कि, बड़े पैमाने पर, एक कैटलॉग कई लाभ प्रस्तुत करता है:

  • डेटा के दोहराव में कमी
  • प्रदर्शन विश्लेषण और ट्यूनिंग के लिए केंद्रित गुंजाइश
  • मल्टी-नोड इंटरैक्शन की आवश्यकता के बिना HA उपलब्धता
  • अतिरेक और प्रदर्शन के लिए क्षैतिज स्केलिंग

यहां तक ​​​​कि पूरी तरह से काम कर रहे सीआरएक्स क्लस्टर के साथ, इनमें से कोई भी लाभ संबोधित नहीं किया जाता है। साझा डेटा स्तर के इतने पुराने दिन दर्ज करें।

5.6.1 और इससे पहले के संस्करण के साथ, बड़े और बढ़ते परिनियोजन अपने ऑब्जेक्ट रिपॉजिटरी को साझा एनएफएस के रूप में माउंट कर सकते हैं, जहां प्रोटोकॉल, या एनएफएस सर्वर, कम टकराव के साथ बहु-लेखन व्यवहार के लिए लॉकिंग समर्थन प्रदान करता है। यह अभी भी एक व्यवहार्य विकल्प है, लेकिन, जब तक नेटएप को नियोजित नहीं किया जाता है, तब अक्सर नियंत्रक, या डेटा स्तर में विफलता के एकल बिंदु का जोखिम होता है, जो n*9 आर्किटेक्चर को पीछे रखता है।

एईएम 6.x में मोंगोडीबी माइक्रोकर्नेल की शुरूआत अनिवार्य रूप से वही आर्किटेक्चर प्रदान करती है जिसमें अधिक buzzword-भारी डेटाबेस होता है जिसे हम पसंद करते हैं।

मोंगोएमके के लिए प्राथमिक उपयोग-मामला एईएम लेखक उदाहरणों के साथ है, जहां सक्रिय उपयोगकर्ता सीमा (~ 25-30) का अर्थ है कि क्षैतिज स्केलिंग को पहले समवर्ती मुद्दे को संबोधित करना चाहिए। यहां, साझा डेटा स्तर सबसे चमकीला होता है क्योंकि प्रदर्शन पैमाने और स्थिरता के लिए दूसरी पहेली है, साथ ही साथ नोड-टू-नोड संचार की आवश्यकता को समाप्त करता है।

प्रकाशकों से अभी भी इसी तरह से जुड़ना निश्चित रूप से संभव है, हालांकि, एक समवर्ती मुद्दे की कमी के कारण लाभ कम हो जाते हैं (अर्थात अधिक प्रकाशकों को अधिक पैमाने पर जोड़ें) और गैर-स्थानीय कैटलॉग के प्रदर्शन दंड के कारण।

तो बस इतना ही! स्केल टू इनफिनिटी और उससे आगे!

धीमा, बज़ लाइटियर, एक समस्या है। सिंगल-साइट MongoDB से तेजी से एक्सेस डेटा और इन-लाइन नेटवर्किंग के अपने विकल्प को देखते हुए बहुत प्रभावी ढंग से स्केल करने की उम्मीद है। यहाँ, आकाश की सीमा हो सकती है। हालांकि, एक बहु-साइट परिनियोजन पर विचार करें जहां MongoDB प्रतिकृतियों को अलग-अलग डेटा केंद्रों और अज्ञात मील फाइबर में संचार करना चाहिए। ऑपरेशन लॉग दर्ज करें (oplog)।

oplog प्रतिकृतियों को सिंक्रनाइज़ रहने के लिए मध्यस्थ है; अनिवार्य रूप से क्रम में लागू किए जाने वाले डेल्टा संचालन की श्रृंखला प्रदान करना। यह काफी हद तक कुछ अन्य डेटाबेस क्लस्टर कॉन्फ़िगरेशन के समान है।

अनुकूलित ऑपरेशन के दौरान, ओपलॉग को प्राथमिक संभव के साथ रीयलटाइम के करीब निष्पादित किया जाता है, हालांकि मोंगोडीबी बहाव की अनुमति देता है। बहु-साइट संचालन के दौरान, हालांकि, वायरलैटेंसी और ऑपरेशन लेटेंसी अधिक बहाव को पेश करने और इस कॉन्फ़िगरेशन के लिए निम्नलिखित चुनौतियां पेश करने के लिए ढेर हो सकते हैं:

  • ऑप्लॉग कार्यात्मक रूप से आदेशों का एक ढेर है।
  • कई स्टैक की तरह, यह पहले-में-प्रथम-आउट है।
  • स्टैक व्यवहार बताता है कि, जब अगला पुश एक अन-पॉप किए गए रिकॉर्ड को अधिलेखित कर देगा, तो डेटा हानि होगी।

MongoDB प्रोग्रामर ने इसके पुनर्निर्माण के बाद (नए) oplog से रेप्लिकहॉल्ट, पुनर्निर्माण और सिंक को आगे बढ़ाकर इस स्थिति को पकड़ने और संबोधित करने के लिए चुना है।

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

कुछ मामलों में, यह व्यवहार प्रतिकृति अंतराल और पुनर्निर्माण के एक अंतहीन लूप में प्रवेश करता है, जिसके परिणामस्वरूप दूरस्थ सेकेंडरी होते हैं जो कभी भी कार्यात्मक स्थिति में नहीं होते हैं।

एईएम के लिए, इसका मतलब है कि क्रॉस-साइट ऑथरिंग के लिए प्राथमिक डेटा स्रोत के रूप में मोंगोडीबी प्रतिकृतियों का उपयोग करने से दूरस्थ लेखकों को महत्वपूर्ण जोखिम होता है।


  1. MongoDB के लिए शीर्ष उपयोग के मामले

    मूल रूप से 13 जून, 2018 को ObjectRocket.com/blog पर प्रकाशित लगातार अच्छे ग्राहक अनुभव बनाना कई संगठनों के लिए एक प्रमुख चुनौती बन गया है। वास्तविकता यह है कि पिछले कुछ वर्षों में एक अच्छा ग्राहक अनुभव क्या है, इसके बारे में हमारी उम्मीदें नाटकीय रूप से बढ़ी हैं। जो पहले कूल और अलग हुआ करता था वह

  1. MongoDB के साथ स्केलिंग:एक शार्डिंग इन्फ्रास्ट्रक्चर की स्थापना

    हाल ही में एक ब्लॉग पोस्ट में, मैंने चर्चा की कि आपको MongoDB को कब स्केल करना है। इस पोस्ट में, मोंगोडीबी को स्केल करने के तरीके पर ध्यान केंद्रित किया गया है। MongoDB संस्करण 3.0 ने WiredTiger को डिफ़ॉल्ट स्टोरेज इंजन के रूप में पेश किया। स्केलेबिलिटी की बात करें तो MongoDB दो दृष्टिकोण प्रदान कर

  1. MongoDB अंतरिक्ष उपयोग को समझना

    आप में से जो MongoDB का उपयोग करने के लिए नए हैं, उनके लिए MongoDB अंतरिक्ष उपयोग काफी भ्रमित करने वाला लग सकता है। इस लेख में, मैं समझाऊंगा कि MongoDB कैसे स्थान आवंटित करता है और हमारे ऑब्जेक्टरॉकेट डैशबोर्ड में अंतरिक्ष उपयोग की जानकारी की व्याख्या कैसे करें, इस बारे में निर्णय लेने के लिए कि आपक