MariaDB सर्वर और MariaDB क्लस्टर, MariaDB Corporation द्वारा संचालित ओपन सोर्स उत्पाद हैं। मारियाडीबी सर्वर सबसे लोकप्रिय रिलेशनल डेटाबेस में से एक है, इसे मूल रूप से MySQL सर्वर से फोर्क किया गया था।
मारियाडीबी क्लस्टर, मारियाडीबी सर्वर से निर्मित एक उच्च उपलब्धता समाधान है, जो नोड्स के बीच डेटा को सिंक्रनाइज़ करने के लिए गैलेरा क्लस्टर wsrep लाइब्रेरी का उपयोग करता है। गैलेरा की प्रतिकृति विधि सिंक्रोनस (या 'वस्तुतः सिंक्रोनस') है, यह सुनिश्चित करती है कि डेटा सभी नोड्स पर समान होगा।
मारियाडीबी सर्वर भी मानक प्रतिकृति के माध्यम से अत्यधिक उपलब्ध कराया जा सकता है। प्रतिकृति अतुल्यकालिक या अर्ध-तुल्यकालिक हो सकती है।
तो मानक प्रतिकृति वाला मारियाडीबी सर्वर गैलेरा क्लस्टर वाले मारियाडीबी क्लस्टर से कैसे भिन्न है? इस ब्लॉग में हम उन दोनों की तुलना करेंगे। कुछ अंतरों को स्पष्ट करने के लिए हम ClusterControl का उपयोग करेंगे।
MariaDB सर्वर आर्किटेक्चर
MariaDB सर्वर का आर्किटेक्चर एक सिंगल/स्टैंडअलोन इंस्टेंस या मास्टर/स्लेव प्रतिकृति हो सकता है जैसा कि नीचे दिए गए चित्र में दिखाया गया है।
मारियाडीबी सर्वर सिंगल इंस्टेंस आर्किटेक्चर केवल एक नोड के लिए है। एकल उदाहरण होने का दोष डेटाबेस के लिए विफलता का एकल बिंदु है। यदि आपका डेटाबेस क्रैश हो जाता है और बैक अप नहीं आता है, तो आपके पास कोई विफलता तंत्र नहीं है, और आपको अपने डेटाबेस को अंतिम बैकअप से पुनर्प्राप्त करने के लिए एक पुनर्स्थापना करने की आवश्यकता है।
मास्टर/स्लेव आर्किटेक्चर एक वितरित सेटअप है, जिसमें मास्टर लेखक के रूप में कार्य करता है और दास पाठक (ओं) के रूप में कार्य करता है। मैक्सस्केल या प्रॉक्सीएसक्यूएल जैसे लोड बैलेंसर का उपयोग करके, आप डेटाबेस ट्रैफ़िक को विभाजित कर सकते हैं ताकि मास्टर को लिखा जा सके और दास को पढ़ा जा सके। प्रतिकृति सेटअप होने से डेटाबेस के लिए विफलता का एक बिंदु समाप्त हो जाएगा, लेकिन मास्टर विफल होने पर आपको स्वचालित रूप से विफल होने में सक्षम होना चाहिए। अन्यथा, एप्लिकेशन डेटाबेस में नहीं लिख पाएंगे और वे प्रभावित होंगे। मारियाडीबी प्रतिकृति के लिए स्वचालित विफलता और पुनर्प्राप्ति प्रदान करने के लिए क्लस्टर कंट्रोल को कॉन्फ़िगर किया जा सकता है।
MariaDB क्लस्टर आर्किटेक्चर
MariaDB क्लस्टर एक उच्च उपलब्धता समाधान है जिसमें MariaDB सर्वर और गैलेरा प्रतिकृति शामिल हैं जैसा कि नीचे दिए गए आर्किटेक्चर आरेख में दिखाया गया है:
यह समकालिक ("वस्तुतः तुल्यकालिक") प्रतिकृति है, सभी नोड्स लिखने योग्य हैं। सिंक्रोनस प्रतिकृति गारंटी देता है कि अगर गैलेरा नोड्स में से एक में परिवर्तन होता है, तो यह प्रतिबद्ध होने से पहले क्लस्टर के अन्य सभी नोड्स पर उपलब्ध होगा।
बड़ा अंतर यह है कि सभी नोड्स एप्लिकेशन के दृष्टिकोण से समान हैं, वे किसी भी डेटाबेस इंस्टेंस पर राइट ट्रैफिक भेज सकते हैं। साथ ही, सभी नोड्स में बिल्कुल समान डेटा होना चाहिए ताकि नोड के विफल होने की स्थिति में कोई डेटा हानि न हो।
MariaDB परिनियोजन
MariaDB प्रतिकृति और MariaDB क्लस्टर दोनों को ClusterControl के माध्यम से तैनात किया जा सकता है। जब आप मारियाडीबी सर्वर को तैनात करते हैं, तो आपको मारियाडीबी क्लस्टर के लिए MySQL प्रतिकृति चुनकर शुरू करने की आवश्यकता होती है, आपको MySQL गैलेरा चुनने की आवश्यकता होती है।
मारियाडीबी सर्वर के लिए, आप या तो एकल नोड मारियाडीबी इंस्टेंस को तैनात कर सकते हैं या आप मास्टर/स्लेव और द्वि-दिशात्मक प्रतिकृति सेट कर सकते हैं। एक प्रतिकृति सेटअप में नोड्स की न्यूनतम संख्या दो है, आपको एक मास्टर और कम से कम एक दास की आवश्यकता है। बस मास्टर के लिए आईपी पता भरें और दास जोड़ें (यदि आप मास्टर/दास वास्तुकला चाहते हैं)। यदि आप द्वि-दिशात्मक प्रतिकृति सेट करना चाहते हैं, तो आप द्वितीय मास्टर जोड़ें फ़ील्ड का उपयोग कर सकते हैं। एक मास्टर-मास्टर सेटअप को द्वि-दिशात्मक प्रतिकृति के साथ प्रावधान किया जाएगा, लेकिन नोड्स में से एक को केवल-पढ़ने के लिए सेट किया जाएगा। इसका कारण डेटा बहाव और 'गलत लेनदेन' के जोखिम को कम करना है।
MariaDB क्लस्टर के लिए, आपको लक्ष्य डेटाबेस नोड्स के लिए कम से कम 3 होस्ट की आवश्यकता है स्थापित किया जाए। ऐसा इसलिए है क्योंकि इसे नेटवर्क विभाजन या "स्प्लिट ब्रेन" सिंड्रोम को संभालने में सक्षम होना चाहिए। MySQL सर्वर कॉन्फ़िगरेशन को परिभाषित करते समय आपको केवल ip एड्रेस भरना होगा जब नोड जोड़ें।
मारियाडीबी को डेटाबेस के विक्रेता के रूप में चुनना न भूलें, डेटाबेस संस्करण जो कि आप रूट पासवर्ड को इंस्टॉल और भरना चाहते हैं। आप गैर डिफ़ॉल्ट डेटादिर को किसी अन्य पथ में भी बदल सकते हैं।
सभी चीजों को कॉन्फ़िगर करने के बाद, बस क्लस्टर को परिनियोजित करें। यह डेटाबेस परिनियोजन के लिए एक नया कार्य ट्रिगर करेगा।
ध्यान दें कि तीसरे मेजबान पर 2 गैलेरा नोड्स और एक गैलेरा मध्यस्थ उर्फ गारबड होना भी संभव है।
MariaDB सर्वर और क्लस्टर मॉनिटरिंग
डेटाबेस निगरानी डेटाबेस का एक महत्वपूर्ण हिस्सा है, आप डेटाबेस स्वास्थ्य की वर्तमान स्थिति जान सकते हैं। मारियाडीबी सर्वर और मारियाडीबी क्लस्टर मॉनिटरिंग के बीच अंतर सिंक्रनाइज़ेशन के लिए गैलेरा मेट्रिक्स है।
MariaDB सर्वर पर, आप MySQL मेट्रिक्स के माध्यम से अपने वर्तमान डेटाबेस स्वास्थ्य की जांच कर सकते हैं; MySQL सर्वर - सामान्य, MySQL सर्वर - कैश, MySQL InnoDB मेट्रिक्स जो मारियाडीबी क्लस्टर पर भी दिखाई देता है जैसा कि नीचे दिखाया गया है:
MySQL सर्वर - सामान्य आपको InnoDB बफर पूल हिट अनुपात, डेटाबेस कनेक्शन, क्वेरीज़, लॉकिंग और डेटाबेस मेमोरी उपयोग की वर्तमान स्थिति के बारे में जानकारी देता है।
MySQL सर्वर - कैश, कैश में बहुत सारी जानकारी प्रदान की जाती है। ज्यादातर डेटाबेस में कैशिंग से संबंधित है, उदाहरण के लिए:बफर पूल आकार, बफर पूल उदाहरण। टेबल कैश उपयोग, हिट अनुपात, कैश हिट और मिस के बारे में भी जानकारी है। आप थ्रेड कैश उपयोग और हिट अनुपात की जानकारी भी पा सकते हैं।
MySQL सर्वर - InnoDB मेट्रिक्स InnoDB स्टोरेज से संबंधित मेट्रिक्स दिखाता है जैसे:बफरपूल गतिविधि, InnoDB पंक्ति संचालन, InnoDB लॉग फ़ाइल का आकार, InnoDB डेटा पढ़ें / लिखें।
MariaDB सर्वर पर, यदि आप मास्टर/स्लेव प्रतिकृति सेटअप करते हैं, तो एक है MySQL प्रतिकृति के तहत मेट्रिक्स की उपश्रेणी - मास्टर। मास्टर बाइनरी लॉग फ़ाइल, मास्टर बाइनरी लॉग स्थिति, और बिनलॉग निर्माण आवृत्ति से संबंधित जानकारी है।
MariaDB सर्वर में डेटाबेस से संबंधित बहुत सारी जानकारी है, ये MariaDB क्लस्टर के लिए भी उपलब्ध हैं। अंतर यह है कि मारियाडीबी क्लस्टर के लिए दो डैशबोर्ड हैं - गैलेरा ओवरव्यू और गैलेरा सर्वर चार्ट।
गैलेरा ओवरव्यू गैलेरा प्रतिकृति की वर्तमान स्थिति से संबंधित जानकारी देता है। क्लस्टर आकार, प्रवाह नियंत्रण भेजा गया, प्रवाह नियंत्रण प्राप्त, प्रवाह नियंत्रण रोका गया जैसी जानकारी है।
गैलेरा सर्वर चार्ट में क्लस्टर नाम, क्लस्टर स्थिति, आकार, वैश्विक कैश आकार के बारे में जानकारी है।
निष्कर्ष
मानक प्रतिकृति के साथ मारियाडीबी सर्वर और मारियाडीबी क्लस्टर डेटाबेस सेवा के मामले में वास्तव में अलग-अलग उत्पाद नहीं हैं, लेकिन उपलब्धता और मापनीयता पर आपकी आवश्यकताओं के आधार पर उनकी अलग-अलग विशेषताएं हैं। ClusterControl मानक प्रतिकृति और MariaDB क्लस्टर परिनियोजन के साथ MariaDB सर्वर दोनों का समर्थन करता है, इसलिए दोनों सेटअपों को आज़माएं और हमें अपने विचार बताएं।