MariaDB Xpand, MariaDB का एक नया उत्पाद है। इसे पहले ClustrixDB के नाम से जाना जाता था जिसे 2018 के सितंबर में MariaDB Corporation द्वारा अधिग्रहित किया गया था।
ClustrixDB अब एक अलग इकाई के रूप में उपलब्ध नहीं है, लेकिन अब इसे MariaDB Enterprise Server के हिस्से के रूप में शामिल किया गया है। अब एक्सपैंड कहा जाता है, यह वितरित डेटा और लेनदेन प्रसंस्करण के साथ मारियाडीबी एंटरप्राइज सर्वर का विस्तार करता है, इसे एक वितरित एसक्यूएल डेटाबेस में बदल देता है जो साझा-कुछ भी नहीं वास्तुकला के साथ प्रति सेकंड लाखों लेनदेन को स्केल करने में सक्षम होता है। हालाँकि, Xpand सभी या कुछ भी नहीं है, क्योंकि DBA प्रतिकृति और वितरित दोनों तालिकाओं का उपयोग करना चुन सकते हैं। Xpand जटिल प्रश्नों और विश्लेषण प्रसंस्करण के लिए अच्छा है क्योंकि यह क्लस्टर के भीतर उपलब्ध नोड्स में समानांतर क्वेरी कर सकता है।
मूल रूप से, Xpand एक साझा-कुछ भी नहीं आर्किटेक्चर है और इसे स्केल-आउट SQL डेटाबेस के रूप में डिज़ाइन किया गया है, जो मूल रूप से स्वचालित डेटा पुनर्वितरण के साथ कमोडिटी हार्डवेयर पर चल सकता है (इसलिए आपको कभी भी शार्प करने की आवश्यकता नहीं है) ) इसमें बिल्ट-इन फॉल्ट टॉलरेंस है, सभी एक साधारण SQL इंटरफ़ेस द्वारा सुलभ हैं और व्यावसायिक महत्वपूर्ण MySQL सुविधाओं (प्रतिकृति, ट्रिगर, संग्रहीत दिनचर्या, आदि) के लिए समर्थन करते हैं। इसका लाइसेंस केवल स्वामित्व के रूप में उपलब्ध है, इसलिए यदि आप इस उत्पाद का लाभ उठाना चाहते हैं, तो आपको वैध लाइसेंस प्राप्त करने के लिए पहले MariaDB बिक्री से संपर्क करना होगा।
MariaDB Xpand का उपयोग कब करें
Xpand को बड़ी मात्रा में डेटा को संभालने के लिए डिज़ाइन किया गया है और इससे आप अपने डेटाबेस को अधिक कुशलता से माप सकते हैं। इसका मतलब है कि आपके क्लस्टर का स्केलिंग आसानी से और स्वचालित रूप से Xpand द्वारा ही किया जाता है। मारियाडीबी प्लेटफॉर्म एक्स5 के रिलीज होने के बाद से, एक्सपैंड पहले से ही वितरित एसक्यूएल समाधान के हिस्से के रूप में ग्राहकों को प्रदान किए गए प्लेटफॉर्म का हिस्सा है। एक्सपैंड स्मार्ट इंजन ग्राहकों को इनो डीबी स्टोरेज इंजन के उच्च-प्रदर्शन मिश्रित रीड/राइट वर्कलोड के एक ही नोड से आगे बढ़ने की अनुमति देता है, जिसमें प्रतिकृति के माध्यम से स्केल जोड़ने और बड़े- वर्कलोड स्केल करें।
Xpand के साथ, आपके पास प्रति टेबल के आधार पर स्केल करने की सुविधा है। केवल एक तालिका के लिए एक्सपैंड का उपयोग करके प्रारंभ करें और उपयोग का विस्तार करें क्योंकि आपकी ज़रूरतें एक नोड से अधिक हो सकती हैं। वितरित SQL का उपयोग बढ़ाएँ क्योंकि आपके उद्यम को प्रतिकृति या क्लस्टरिंग से आगे बढ़ने की आवश्यकता है। जब डेटा या क्वेरी वॉल्यूम खराब प्रदर्शन के बिंदु तक बढ़ जाते हैं, तो आप बेहतर थ्रूपुट और संगामिति के लिए तालिकाओं या संपूर्ण डेटाबेस को वितरित करने के लिए Xpand का उपयोग कर सकते हैं। Xpand में अंतर्निहित उच्च उपलब्धता और लोच है, इसलिए स्केल-आउट करने के लिए आवश्यकतानुसार नोड्स को पारदर्शी रूप से जोड़ा या हटाया जा सकता है।
जैसे मारियाडीबी कॉलमस्टोर के साथ, स्तंभकार स्मार्ट इंजन, क्रॉस इंजन जॉइन प्रतिकृति और वितरित तालिकाओं के बीच संभव (और प्रोत्साहित) हैं। अन्य वितरित SQL कार्यान्वयनों के विपरीत, जो पूरे डेटाबेस को वितरित करते हैं और इसलिए, छोटी तालिकाओं पर महत्वपूर्ण ओवरहेड है, MariaDB, Xpand के माध्यम से प्रतिकृति छोटे डेटा सेट और बड़े पैमाने पर वितरित डेटा सेट के लिए InnoDB के संयुक्त उपयोग की अनुमति देता है।
दुर्भाग्य से, ClustrixDB से MariaDB Xpand में परिवर्तन की स्थिति के बारे में कोई औपचारिक दस्तावेज़ीकरण नहीं है, इसलिए आप अभी भी https://docs.clustrix.com/ पर दस्तावेज़ीकरण के लिए भरोसा करना चाह सकते हैं कि ClustrixDB कैसे काम करता है। यह भी ज्ञात है कि GTID ClustrixDB द्वारा समर्थित नहीं है, हालांकि यह शायद MariaDB 10.5 के रिलीज़ होने के बाद से बदल गया है।
MariaDB Xpand कैसे काम करता है?
MariaDB Xpand का उपयोग करते हुए परिनियोजन के लिए आवश्यक है कि आपके पास MariaDB Enterprise Servers हों जिनमें Xpand प्लगइन स्थापित हो, फिर Xpand Nodes साथ में चल रहे हों। यह उसी तरह है जैसे आप उच्च उपलब्धता के लिए मैक्सस्केल और मारियाडीबी सर्वर प्रतिकृति सेटअप कैसे सेट करते हैं और आप कनेक्शन प्रबंधित करने के लिए मैक्सस्केल को शीर्ष पर रख सकते हैं और इनो डीबी में दोहराए गए छोटे डेटा सेट के साथ फ्रंटएंड एंटरप्राइज़ सर्वर इंस्टेंस के बीच पारदर्शी रूप से विफल हो सकते हैं। यह भी अनुशंसा की जाती है कि Xpand के साथ सर्वश्रेष्ठ प्रदर्शन अनुभव के लिए, फ्रंट-एंड सर्वर और नोड्स को अलग-अलग भौतिक सर्वर पर चलाना होगा। यह कैसे काम करता है, इस पर नीचे MariaDB से नीचे MariaDB Xpand टोपोलॉजी आर्किटेक्चर देखें:
https://mariadb.com/resources/blog/mariadb-adds-xpand-for-distributed-sql /ऊपर और अधिक समझाने के लिए, Xpand प्रत्येक तालिका के लिए कई स्लाइस को विभाजित करता है जो Xpand का उपयोग करके बनाई गई है। प्रत्येक टुकड़ा प्राथमिक नोड पर संग्रहीत किया जाता है और फिर गलती सहनशीलता सुनिश्चित करने के लिए एक या अधिक अन्य नोड्स में दोहराया जाता है। प्रत्येक Xpand नोड पढ़ने और लिखने दोनों को निष्पादित कर सकता है। और प्रत्येक नोड में डेटा वितरण का नक्शा होता है।
पढ़ने के संचालन के लिए, क्वेरी के प्रमुख भाग को Xpand पर धकेल दिया जाता है जहां क्वेरी का मूल्यांकन किया जाता है और क्वेरी के प्रासंगिक भाग को उपयुक्त Xpand नोड्स में भेजा जाता है। MariaDB Enterprise Server परिणाम-सेट जेनरेट करने के लिए Xpand नोड्स से रिटर्न डेटा एकत्र करता है।
लेखन कार्यों के लिए, मारियाडीबी एक्सपैंड उपलब्ध एक्सपैंड नोड्स में डेटा को स्वचालित और पारदर्शी रूप से वितरित करने के लिए "रीबैलेंसर" नामक एक घटक का उपयोग करता है।
MariaDB Xpand एक वितरित SQL के रूप में
प्रत्येक Xpand नोड पढ़ना और लिखना दोनों करने में सक्षम है। जब मारियाडीबी एंटरप्राइज सर्वर द्वारा एक क्वेरी प्राप्त की जाती है, तो इसका मूल्यांकन एक क्वेरी ऑप्टिमाइज़र द्वारा किया जाता है और क्वेरी के हिस्से संबंधित एक्सपैंड नोड्स को भेजे जाते हैं। परिणाम एकत्र किए जाते हैं और एक एकल परिणाम-सेट क्लाइंट को लौटा दिया जाता है।
MariaDB Xpand एक साझा-कुछ नहीं वास्तुकला का लाभ उठाता है; एक एकल नोड प्रत्येक अनुरोध को संभालता है, और स्मृति और भंडारण साझा नहीं किया जाता है।
MariaDB Xpand HA और दोष सहनशीलता
MariaDB Xpand डिज़ाइन द्वारा दोष सहिष्णु है। Xpand पृष्ठभूमि में चलने वाली एक पुनर्संतुलन प्रक्रिया का उपयोग करके सभी डेटा की दो प्रतिकृतियां रखता है। Xpand को डेटा हानि के बिना एकल नोड या ज़ोन विफलता का सामना करना पड़ सकता है।
नोड के विफल होने पर, डेटा को शेष नोड्स से पुनर्संतुलित किया जाता है, बिना किसी हस्तक्षेप के डेटा सुरक्षा को स्वचालित रूप से ठीक किया जाता है। ज़ोन की विफलता में, रिबैलेंसर नोड्स और शेष ज़ोन के बीच एक ही ऑपरेशन करता है।
जब विफल नोड को बदल दिया जाता है, तो रीबैलेंसर डेटा को पुनर्वितरित करता है, मारियाडीबी एक्सपैंड को उसकी इच्छित नोड गणना में पुनर्स्थापित करता है।
MariaDB Xpand के साथ क्षैतिज स्केल-आउट
MariaDB Xpand डिज़ाइन के अनुसार लचीला है। यदि मारियाडीबी एंटरप्राइज सर्वर पर लोड बढ़ता है, तो आप अपने परिनियोजन में अतिरिक्त सर्वर जोड़ सकते हैं, मारियाडीबी मैक्सस्केल का उपयोग करके उनके बीच संतुलन लोड कर सकते हैं। प्रत्येक सर्वर Xpand तालिकाओं पर संग्रहीत डेटा तक पहुँचने के लिए Xpand नोड्स से जुड़ सकता है।
यदि मारियाडीबी एक्सपैंड पर लोड बढ़ता है, तो आप नए नोड्स जोड़कर स्केल आउट कर सकते हैं। जब आप परिनियोजन में Xpand नोड जोड़ते हैं, तो पुनर्संतुलन प्रक्रिया मौजूदा नोड्स से डेटा पुनर्वितरित करती है। एक बार पूरा हो जाने पर, Xpand नोड अब MariaDB Enterprise Servers से पढ़ने और लिखने के संचालन को संभाल सकता है।
यदि मारियाडीबी एक्सपैंड पर लोड कम हो जाता है, तो आप नोड्स को हटाकर स्केल डाउन कर सकते हैं। जब आप एक्सपैंड नोड को परिनियोजन से हटाते हैं, तो पुनर्संतुलन प्रक्रिया डेटा को शेष नोड्स में पुनर्वितरित करती है, जिससे दोष सहनशीलता सुनिश्चित होती है।
क्या मारियाडीबी एक्सपैंड को मापनीय बनाता है?
कोई अड़चन नहीं है और विफलता का कोई एक बिंदु नहीं है। सभी प्रोसेसर क्वेरी प्रोसेसिंग के समर्थन में सूचीबद्ध हैं। क्वेरी को समानांतर किया जाता है और संबंधित डेटा को क्लस्टर में वितरित किया जाता है। नए नोड्स स्वचालित रूप से पहचाने जाते हैं और क्लस्टर में शामिल होते हैं। क्लस्टर में सभी नोड्स में वर्कलोड और डेटा स्वचालित रूप से संतुलित होते हैं। क्लस्टर-व्यापी SQL रिलेशनल कैलकुलस और ACID गुण बहु-स्तरीय अनुप्रयोगों के विकास और प्रबंधन से बहु-नोड जटिलता को समाप्त करते हैं। डेटा की बड़ी मात्रा को संभालने के लिए मौजूदा डीबी मॉडल को स्केल करने के लिए आमतौर पर आवश्यक जटिलता समाप्त हो जाती है। और जैसे-जैसे आपका डेटाबेस बढ़ता है, बस नोड्स जोड़ें।
ऐसी कई चीजें हैं जो मापनीयता और प्रदर्शन को प्रभावित करती हैं:
- साझा-कुछ भी नहीं वास्तुकला, जो संभावित बाधाओं को समाप्त करता है। इसकी तुलना शेयर्ड-डिस्क/शेयर्ड-कैश आर्किटेक्चर से करें, जो बाधा उत्पन्न करते हैं, स्केल नहीं करते हैं, और जिन्हें प्रबंधित करना मुश्किल है।
- प्रश्नों का समानांतरीकरण, जो संबंधित डेटा के साथ नोड (नों) को वितरित किए जाते हैं। परिणाम यथासंभव डेटा के करीब बनाए जाते हैं, फिर समेकन के लिए अनुरोध करने वाले नोड पर वापस भेज दिए जाते हैं और क्लाइंट को वापस कर दिए जाते हैं।
यह अन्य प्रणालियों से बहुत अलग है, जो नियमित रूप से बड़ी मात्रा में डेटा को क्वेरी को संसाधित करने वाले नोड में ले जाते हैं, फिर उन सभी डेटा को समाप्त कर देते हैं जो क्वेरी में फिट नहीं होते हैं (आमतौर पर बहुत सारे डेटा) . पूरे नेटवर्क में केवल योग्य डेटा को अनुरोध करने वाले नोड में ले जाकर, Xpand नेटवर्क ट्रैफ़िक की अड़चन को काफी कम करता है। इसके अलावा, अधिक प्रोसेसर डेटा चयन प्रक्रिया में भाग लेते हैं, समानांतर में कई नोड्स पर डेटा का चयन करके, सिस्टम अधिक तेज़ी से परिणाम उत्पन्न करता है यदि सभी डेटा को एक नोड द्वारा चुना जाता है, जिसे पहले दूसरे से सभी आवश्यक डेटा एकत्र करना होता है। सिस्टम में नोड्स।
चूंकि प्रत्येक नोड एक विशेष विभाजन पर ध्यान केंद्रित करता है और अन्य नोड्स से कच्चे डेटा का अनुरोध करने के बजाय अन्य नोड्स को कार्य आइटम भेजता है, प्रत्येक नोड के कैश में उस नोड का अधिक डेटा होता है, और अन्य नोड्स से कम अनावश्यक डेटा होता है। इसका मतलब है कि कैश हिट दर बहुत अधिक होगी, धीमी डिस्क एक्सेस की आवश्यकता को काफी कम कर देगी।
MariaDB Xpand परिनियोजित करना
MariaDB Xpand का उपयोग शुरू करने के लिए दो अलग-अलग MariaDB Xpand परिनियोजन हैं। Xpand परिनियोजन में MariaDB एंटरप्राइज़ सर्वर इंस्टेंस शामिल हैं, जिन्हें फ्रंट-एंड सर्वर कहा जाता है, जिसमें Xpand प्लगइन स्थापित है, फिर Xpand नोड्स इन फ्रंट-एंड सर्वरों के साथ चल रहे हैं। सर्वोत्तम प्रदर्शन के लिए, एंटरप्राइज़ सर्वर और Xpand नोड को अलग-अलग भौतिक सर्वरों पर स्थापित किया जा सकता है।
- आपको MariaDB Xpand Node. Xpand नोड्स को Xpand स्टोरेज इंजन प्लगइन के साथ MariaDB एंटरप्राइज़ सर्वर के लिए स्टोरेज बैक-एंड प्रदान करने के लिए एक परिनियोजन में कॉन्फ़िगर किया गया है। सर्वर Xpand तालिकाओं के लिए डेटा स्थानीय फ़ाइल सिस्टम के बजाय Xpand नोड्स पर संग्रहीत करते हैं। Xpand Node को स्थापित करने के लिए लाइसेंस की आवश्यकता होती है, जो एक JSON ऑब्जेक्ट है, और आप केवल MariaDB Sales तक पहुंचकर ही इसे प्राप्त कर सकते हैं। स्थापना प्रक्रिया केवल एक कमांड या क्लिक जितनी तेज नहीं है, इसलिए हमारा सुझाव है कि आप Xpand नोड के लिए उनके इंस्टॉलेशन गाइड पर जाएं।
- एक फ़्रंट-एंड सर्वर परिनियोजित करें। जैसा कि मैंने यहां उनके द्वारा किए गए परिवर्तनों पर ध्यान दिया है, ऐसा लगता है कि Xpand का उपयोग करने का सबसे अनुशंसित तरीका मारियाडीबी एंटरप्राइज सर्वर 10.5.4 का उपयोग कर रहा है। द एक्सपैंड
MariaDB Xpand हार्डवेयर संगतता
यदि आप इसकी हार्डवेयर संगतता के बारे में उत्सुक हैं, तो MariaDB प्लेटफ़ॉर्म विभिन्न वातावरणों में चल सकता है। जब तक आपके मारियाडीबी सर्वर आपके द्वारा वर्तमान में उपयोग किए जा रहे वातावरण पर चल सकते हैं या होस्ट किए जा सकते हैं, जब तक आप मारियाडीबी सर्वर के साथ-साथ एक्सपैंड नोड्स को स्थापित करने में सक्षम हैं और एक्सपैंड प्लगइन्स स्थापित हैं, तो यह निश्चित रूप से काम करेगा। उनके दस्तावेज़ीकरण से, भौतिक और क्लाउड परिवेशों की सूची नीचे सूचीबद्ध है:
- ऑन-प्रिमाइसेस (ऑन-प्रिमाइसेस)
- कोलोकेटेड (कोलो)
- निजी क्लाउड
- सार्वजनिक बादल
- संकरित
हार्डवेयर आर्किटेक्चर के लिए, यह ध्यान देने योग्य है कि मारियाडीबी एंटरप्राइज सर्वर 10.4.10-4 (2019-11-18) के रूप में, मारियाडीबी एंटरप्राइज सर्वर केवल x86_64 हार्डवेयर आर्किटेक्चर प्लेटफॉर्म का समर्थन करता है।
निष्कर्ष
MariaDB Xpand बहुत सुविधाजनक तरीके से दक्षता और विस्तारणीयता को सरल करता है। इस उत्पाद का सबसे आकर्षक पहलू यह है कि आप मारियाडीबी के मानक एसक्यूएल कार्यों का भी उपयोग कर सकते हैं। इसे आपके मौजूदा मारियाडीबी पर्यावरण के माध्यम से एम्बेड किया जा सकता है, जो इसकी सुविधाओं और मापनीयता का लाभ उठा सकता है। हालांकि यह आकर्षक हो सकता है, इस उत्पाद का लाभ उठाने के लिए आपको विशेष लाइसेंस और बड़ी फीस की आवश्यकता है। यदि यह आपके एंटरप्राइज़ एप्लिकेशन के उद्देश्य को पूरा करता है, तो यह MariaDB Xpand एक कोशिश के काबिल हो सकता है।