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

मारियाडीबी TX क्या है? न्यू मारियाडीबी माईएसक्यूएल फोर्क को कैसे प्रबंधित करें!

आपने मारियाडीबी TX के बारे में सुना होगा और आपने सोचा होगा कि यह क्या है?

क्या इसमें और मारियाडीबी सर्वर 10.3 में कोई अंतर है?

इस ब्लॉग पोस्ट में हम आपको MariaDB TX का एक सिंहावलोकन देना चाहते हैं और यह क्या है।

संक्षेप में:MariaDB TX एक सब्सक्रिप्शन है जिसमें MariaDB एक पूर्ण-विशेषताओं वाले ट्रांजेक्शनल डेटाबेस का निर्माण करते हुए कई पेशकशों को जोड़ती है।

मारियाडीबी TX में उपयोग किया जाने वाला डेटाबेस मारियाडीबी सर्वर 10.3 है, जिसमें सिंक्रोनस मल्टी-मास्टर प्रतिकृति के लिए गैलेरा क्लस्टर भी शामिल है। प्रॉक्सी परत के लिए MariaDB TX MaxScale का उपयोग करता है।

आइए उन दो मुख्य पेशकशों पर थोड़ा ध्यान दें, उनकी विशेषताओं पर ध्यान दें।

MariaDB सर्वर 10.3


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

Oracle संगतता

MariaDB 10.3 SQL_MODE=ORACLE के साथ आता है, जो Oracle PL/SQL के साथ MariaDB 10.3 में उपयोग किए गए SQL सिंटैक्स के लिए संगतता में सुधार करता है। मारियाडीबी TX में निम्नलिखित संगतता विशेषताएं शामिल हैं:

  • संग्रहीत प्रक्रिया पैरामीटर
  • गैर-एएनएसआई संग्रहित प्रक्रिया निर्माण
  • कर्सर सिंटैक्स
  • लूप सिंटैक्स
  • परिवर्तनीय घोषणा
  • डेटा प्रकार इनहेरिटेंस (%TYPE, %ROWTYPE)
  • PL/SQL शैली अपवाद
  • मूल SQL प्रकार के समानार्थी शब्द (VARCHAR2, NUMBER,…)

यह Oracle डेटाबेस से आपके एप्लिकेशन को MariaDB TX में आसानी से स्थानांतरित करने की अनुमति देता है।

Oracle PL/SQL कोड के 80% तक को अब मारियाडीबी पर बिना किसी बदलाव की आवश्यकता के निष्पादित किया जा सकता है; यह समग्र सीखने की अवस्था को गंभीरता से प्रभावित करता है और मारियाडीबी TX पर चलने के लिए लीगेसी कोड को फिर से लिखने के लिए आवश्यक समय को कम करता है।

यह भी ध्यान में रखना महत्वपूर्ण है, मारियाडीबी TX एक समर्थन पैकेज के साथ आता है और आपको ऐसे सलाहकारों तक पहुंच प्राप्त होगी जो आपके साथ प्रवास की सर्वोत्तम प्रथाओं को साझा करने में सक्षम होंगे या संक्रमण को और भी कम परेशानी बनाने के लिए योजना प्रक्रिया में सीधे आपकी मदद करेंगे।

एसक्यूएल में सुधार

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

सभी सुविधाएं नीचे सूचीबद्ध हैं:

  • अस्थायी उपखंड (उदा., AS OF)
  • उपयोगकर्ता द्वारा परिभाषित समग्र कार्य
  • आदेशित-सेट समग्र कार्य
  • प्रतिच्छेद/छोड़कर
  • टेबल वैल्यू कंस्ट्रक्टर
  • डीडीएल/सेलेक्ट लॉक टाइमआउट
  • सामान्य तालिका भाव
  • विंडो फ़ंक्शन
  • JSON कार्य करता है

बाहरी संग्रहण इंजन

MariaDB के लिए डिफ़ॉल्ट इंजन InnoDB, ट्रांजेक्शनल, ऑल-राउंड स्टोरेज इंजन है।

यह अधिकांश कार्यभार के लिए उपयुक्त है और यह OLTP (ऑनलाइन लेनदेन प्रसंस्करण) कार्यभार के लिए बहुत अच्छा काम करता है। हालांकि, यह मारियाडीबी TX में उपलब्ध एकमात्र स्टोरेज इंजन नहीं है। आपको स्पाइडर इंजन तक पहुंच प्राप्त होती है, जिसका उपयोग XA लेनदेन के लिए समर्थन बनाए रखते हुए आपके डेटा को कई MariaDB उदाहरणों में विभाजित करने के लिए किया जा सकता है।

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

गैलेरा क्लस्टर

मारियाडीबी TX आपको गैलेरा क्लस्टर तक आसान पहुंच प्रदान करता है, जो वस्तुतः तुल्यकालिक, बहु-मास्टर प्रतिकृति है। गैलेरा क्लस्टर का उपयोग अत्यधिक उपलब्ध, WAN-फैले क्लस्टरों को डिजाइन करने के लिए किया जा सकता है।

गैलेरा क्लस्टर कोरम-जागरूक प्रोटोकॉल के शीर्ष पर बनाया गया है, जो यह सुनिश्चित करता है कि नेटवर्क विभाजन कोई समस्या नहीं होगी और विभाजित मस्तिष्क अब कोई समस्या नहीं होनी चाहिए। Galera Cluster नए या विफल नोड्स को स्वत:प्रावधान करने के साधन प्रदान करता है, जिससे प्रबंधन पदचिह्न कम हो जाता है।

ऑपरेशनल सुविधाएं

मारियाडीबी TX परिचालन कार्यों से संबंधित कुछ सुविधाएँ भी प्रदान करता है। तत्काल जोड़ें कॉलम सबसे सामान्य स्कीमा परिवर्तनों में से एक के प्रभाव को कम करने में मदद करता है। अदृश्य कॉलम पुराने और नए कोड के बीच संगतता बनाए रखने में मदद करते हैं। वर्चुअल कॉलम पर इंडेक्स प्रदर्शन को बढ़ावा देंगे।

मारियाबैकअप

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

MariaDB MaxScale

मारियाडीबी 10.3 के अलावा, मारियाडीबी TX मैक्सस्केल 2.3 के साथ आता है, एक एसक्यूएल-जागरूक प्रॉक्सी जिसका उपयोग अत्यधिक उपलब्ध वातावरण बनाने के लिए किया जा सकता है। यह कई विशेषताओं के साथ आता है और हम यहां उनमें से सबसे महत्वपूर्ण पर जाना चाहेंगे।

स्वचालित विफलता

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

पढ़ें-लिखें विभाजन

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

पारदर्शी क्वेरी रूटिंग

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

क्वेरी परिणाम कैशिंग

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

क्वेरी ब्लॉक करना

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

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

MariaDB TX के लिए उद्यम निगरानी और प्रबंधन

ClusterControl पूरी तरह से MariaDB TX को सपोर्ट करता है। आप मारियाडीबी सर्वर 10.3 और मैक्सस्केल 2.3 दोनों को आसानी से तैनात कर सकते हैं। ClusterControl मारियाडीबी प्रतिकृति सेटअप के साथ-साथ मारियाडीबी गैलेरा क्लस्टर का समर्थन करता है।

जब तक आपके पास अपने ClusterControl इंस्टेंस से SSH कनेक्टिविटी उन नोड्स तक है, जिन पर आप MariaDB TX को परिनियोजित करना चाहते हैं, आप ऐसा कुछ ही क्लिक में कर सकते हैं।

सबसे पहले आपको यह परिभाषित करना होगा कि ClusterControl मारियाडीबी TX नोड्स तक कैसे पहुंचेगा।

फिर, मारियाडीबी को विक्रेता के रूप में चुनें और समर्थित संस्करणों में से एक के लिए जाएं। मारियाडीबी रूट पासवर्ड पास करें।

अंत में, टोपोलॉजी पर निर्णय लें। आप मारियाडीबी TX को एक मास्टर - मास्टर, सक्रिय - अतिरिक्त दासों के साथ स्टैंडबाय सेटअप में तैनात कर सकते हैं। प्रतिकृति MariaDB GTID का उपयोग करेगी।

मारियाडीबी गैलेरा क्लस्टर के लिए पहला कदम बिल्कुल वैसा ही है, फिर आपको बस मारियाडीबी को विक्रेता के रूप में चुनना होगा, संस्करण पर फैसला करना होगा और मारियाडीबी गैलेरा क्लस्टर में नोड्स को परिभाषित करना होगा:

क्लस्टर तैनात करके आप अपने मारियाडीबी TX क्लस्टर्स की निगरानी और प्रबंधन के लिए क्लस्टर कंट्रोल की शक्ति का उपयोग कर सकते हैं।

उदाहरण के लिए, MaxScale लोड बैलेंसर्स को जोड़ने में बस कुछ ही क्लिक दूर हैं:

एक बार परिनियोजित हो जाने पर, आप ClusterControl का उपयोग करके अपने MaxScale को प्रबंधित कर सकते हैं:

आप नए गैलेरा नोड्स या एसिंक्रोनस प्रतिकृति दास जोड़कर अपने गैलेरा क्लस्टर को भी स्केल कर सकते हैं। आप अपने प्रतिकृति सेटअप में दास या विलंबित दास जोड़ सकते हैं, या एक दास को मास्टर में बढ़ावा देकर, और शेष सेटअप को पुनः स्थापित करके टोपोलॉजी परिवर्तन कर सकते हैं। ClusterControl क्लस्टर की निगरानी करेगा और एक घटना होने पर विफल नोड्स या क्लस्टर को पुनर्प्राप्त करने का प्रयास करेगा। बैकअप के लिए, ClusterControl आपको mysqldump और Mariabackup दोनों का उपयोग करके एक बैकअप शेड्यूल को परिभाषित करने में मदद कर सकता है ताकि आप MariaDB TX की एन्क्रिप्शन सुविधाओं से आसानी से लाभ उठा सकें।

निगरानी और रुझान वाले हिस्से के लिए, ClusterControl का उपयोग एजेंट रहित मोड में किया जा सकता है:

या इसका उपयोग प्रोमेथियस और एजेंटों के साथ मारियाडीबी TX क्लस्टर में क्या हो रहा है, इस बारे में बेहतर जानकारी प्रदान करने के लिए किया जा सकता है।

हमें उम्मीद है कि इस परिचयात्मक ब्लॉग पोस्ट ने आपको यह समझने में मदद की है कि MariaDB TX क्या है और कैसे 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. मारियाडीबी SYSTEM_USER () समझाया गया

  2. हाइब्रिड क्लाउड सेटअप में ड्राइविंग प्रदर्शन

  3. मारियाडीबी JSON_LOOSE () समझाया गया

  4. मारियाडीबी में "त्रुटि 1054 (42S22):अज्ञात कॉलम '...' को 'ऑन क्लॉज" में ठीक करें

  5. मारियाडीबी में SUBSTRING_INDEX () कैसे काम करता है