MariaDB
 sql >> डेटाबेस >  >> RDS >> MariaDB

उच्च उपलब्धता के लिए मारियाडीबी प्रतिकृति की तैनाती

MariaDB सर्वर एसिंक्रोनस और सिंक्रोनस प्रतिकृति प्रदान करता है। इसे बहु-स्रोत प्रतिकृति या बहु-मास्टर सेटअप के साथ स्थापित किया जा सकता है।

पढ़ने और लिखने के गहन एप्लिकेशन के लिए, एक मास्टर-स्लेव सेटअप सामान्य है, लेकिन अत्यधिक उपलब्ध डेटाबेस वातावरण बनाने के लिए आवश्यक अंतर्निहित स्टैक के आधार पर भिन्न हो सकता है।

मास्टर-स्लेव प्रतिकृति सेटअप होने से आपकी ज़रूरतें पूरी नहीं हो सकती हैं, खासकर उत्पादन परिवेश में। अकेले एक मारियाडीबी सर्वर (मास्टर-स्लेव सेटअप) उच्च उपलब्धता की पेशकश करने के लिए पर्याप्त नहीं है क्योंकि इसमें अभी भी विफलता का एक बिंदु (एसपीओएफ) है।

MariaDB ने इस उच्च उपलब्धता समस्या को हल करने के लिए एक एंटरप्राइज़ उत्पाद (MariaDB प्लेटफ़ॉर्म) पेश किया। इसमें विभिन्न घटक शामिल हैं:मारियाडीबी, मारियाडीबी कॉलमस्टोर, मैक्सस्केल, और हल्के मारियाडीबी कनेक्टर्स का एक उद्यम संस्करण। समान उद्यम समाधान पेशकश वाले अन्य विक्रेताओं की तुलना में, यह एक लागत प्रभावी विकल्प हो सकता है, हालांकि सभी को इस स्तर की जटिलता की आवश्यकता नहीं होती है।

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

MariaDB उच्च-उपलब्धता टोपोलॉजी सेटअप

MariaDB सर्वर के साथ एक मास्टर-स्लेव टोपोलॉजी के लिए एक सामान्य सेटअप एसिंक्रोनस या सिंक्रोनस दृष्टिकोण का उपयोग करता है जिसमें केवल एक मास्टर लिखता है, फिर नीचे दिए गए आरेख की तरह दासों में इसके परिवर्तनों को दोहराता है:

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

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

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

मैक्सस्केल का उपयोग करने की चेतावनी के रूप में एक बात, वे बीएसएल (बिजनेस सोर्स लाइसेंस) का उपयोग कर रहे हैं। इस सॉफ़्टवेयर को अपनाने से पहले आपको अक्सर पूछे जाने वाले प्रश्नों की समीक्षा करनी पड़ सकती है।

चुनने का एक अन्य विकल्प अधिक सुविधाजनक दृष्टिकोण का उपयोग करना है। ClusterControl का उपयोग करना आपके लिए किफायती हो सकता है और HaProxy, MaxScale, या ProxySQL का उपयोग करके बीच में प्रॉक्सी हो सकती है, जिसके लिए बाद वाले को लाइट-वेट से अधिक उत्पादन-स्तर कॉन्फ़िगरेशन में कॉन्फ़िगर किया जा सकता है जो क्वेरी रूटिंग करता है, क्वेरी फ़िल्टरिंग, फ़ायरवॉल, या सुरक्षा। नीचे दिया गया उदाहरण देखें:

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

उच्च उपलब्धता के लिए अपने MariaDB मास्टर-स्लेव प्रतिकृति को परिनियोजित करना

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

अब, चलिए यहां MaxScale का उपयोग MariaDB प्लेटफॉर्म से एक वैकल्पिक समाधान के रूप में करते हैं, जो भी उच्च उपलब्धता प्रदान करता है। ऐसा करने के लिए, क्लस्टरकंट्रोल के साथ कुछ ही क्लिक में इसका उपयोग करना बहुत आसान है, फिर आप अपने मैक्सस्केल को सेट करने में सक्षम हैं जो आपके मौजूदा मारियाडीबी प्रतिकृति क्लस्टर के शीर्ष पर चल रहा है। ऐसा करने के लिए, बस मैनेज करें → लोड बैलेंसर → मैक्सस्केल पर जाएं, और आप नीचे दिए गए अनुसार उचित मान सेटअप और प्रदान करने में सक्षम होंगे,

फिर यह चुनने के लिए कि कौन सा सर्वर होना चाहिए, बस सक्षम करें या चेकबॉक्स विकल्प पर क्लिक करें। आपके मैक्सस्केल मॉनिटरिंग के हिस्से के रूप में जोड़ा गया। नीचे देखें,

यह मानते हुए कि आपके पास जोड़ने के लिए एक से अधिक MaxScale नोड हैं, बस इसे दोहराएं एक ही कदम।

आखिरकार, जब भी आवश्यक हो, हम अपने MaxScale नोड्स को हमेशा उपलब्ध रखने के लिए Keepalived की स्थापना करेंगे। ClusterControl का उपयोग करके केवल सरल चरणों के साथ यह बहुत जल्दी है। फिर से, आपको मैनेज → लोड बैलेंसर पर जाना होगा, लेकिन इसके बजाय, Keepalived चुनें,

जैसा कि आपने देखा, मैंने अपने Keepalived को MaxScale के साथ रखा है मेरे दास के एक ही नोड पर (192.168.10.30)। जबकि, दूसरी ओर, दूसरा (दूसरा) Keepalived 192.168.10.40 को उसी होस्ट पर मैक्सस्केल के साथ चल रहा है।

टोपोलॉजी का परिणाम उत्पादन के लिए तैयार है जो आपको क्वेरी रूटिंग, उच्च उपलब्धता, और क्लस्टरकंट्रोल का उपयोग करके व्यापक निगरानी और अवलोकन से सुसज्जित ऑटो-फेलओवर प्रदान कर सकता है। नीचे देखें,

निष्कर्ष

केवल MariaDB सर्वर प्रतिकृति का उपयोग करने से आपको उच्च उपलब्धता की पेशकश नहीं होती है। तृतीय-पक्ष टूल का विस्तार और उपयोग करने से आप अपने डेटाबेस स्टैक को न केवल मारियाडीबी उत्पादों पर भरोसा करके या यहां तक ​​कि मारियाडीबी प्लेटफॉर्म का उपयोग करके भी उपलब्ध कराएंगे।

इसे प्राप्त करने और इसे अधिक लागत प्रभावी बनाने के लिए इसे प्रबंधित करने के तरीके हैं। फिर भी, बाजार में उपलब्ध इन समाधानों का लाभ उठाने में बहुत बड़ा अंतर है जैसे कि ClusterControl क्योंकि यह आपको गति प्रदान करता है, कम परेशानी, और निश्चित रूप से वास्तविक समय और अप-टू-डेट घटनाओं के साथ अंतिम अवलोकन न केवल स्वास्थ्य लेकिन आपके डेटाबेस क्लस्टर में होने वाली घटनाएं भी।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. हमारे ग्राहक क्या पात्र हैं:पेश है मारियाडीबी एंटरप्राइज डॉक्यूमेंटेशन

  2. मारियाडीबी कनेक्टर/सी . द्वारा SQLyog के लिए Kerberos

  3. कैसे मारियाडीबी ने Xpand . के साथ वैश्विक स्तर हासिल किया

  4. मारियाडीबी स्काईएसक्यूएल के साथ क्लाउड में ऊंची उड़ान भरें

  5. मारियाडीबी फ्लोर () बनाम ट्रंकेट ()