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

मारियाडीबी क्लस्टर के लिए मल्टी-क्लाउड पूर्ण डेटाबेस क्लस्टर विफलता विकल्प

आज की व्यावसायिक वास्तविकता में उच्च उपलब्धता सर्वोपरि होने के कारण, उपयोगकर्ताओं के लिए सबसे आम परिदृश्यों में से एक यह है कि यह कैसे सुनिश्चित किया जाए कि डेटाबेस हमेशा एप्लिकेशन के लिए उपलब्ध रहेगा।

हर सेवा प्रदाता के पास सेवा व्यवधान का विरासत में मिला जोखिम होता है, इसलिए जो कदम उठाए जा सकते हैं उनमें से एक जोखिम और अतिरिक्त अतिरेक को कम करने के लिए कई प्रदाताओं पर भरोसा करना है।

क्लाउड सेवा प्रदाता अलग नहीं हैं - वे विफल हो सकते हैं और आपको इसके लिए पहले से योजना बनानी चाहिए। मारियाडीबी क्लस्टर के लिए कौन से विकल्प उपलब्ध हैं? आइए इस ब्लॉग पोस्ट में इसे देखें।

मल्टी-क्लाउड वातावरण में MariaDB डेटाबेस क्लस्टरिंग

यदि एक क्लाउड सेवा प्रदाता द्वारा प्रस्तावित SLA पर्याप्त नहीं है, तो उस प्रदाता के बाहर आपदा पुनर्प्राप्ति साइट बनाने का विकल्प हमेशा होता है। इसके लिए धन्यवाद, जब भी क्लाउड प्रदाताओं में से कोई एक सेवा में गिरावट का अनुभव करता है, तो आप हमेशा किसी अन्य प्रदाता पर स्विच कर सकते हैं और अपने डेटाबेस को ऊपर और उपलब्ध रख सकते हैं।

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

MariaDB क्लस्टर कम-विलंबता नेटवर्क पर बढ़िया काम करता है। यह एक कोरम-आधारित क्लस्टर है जहां संचालन को सुचारू रखने के लिए सभी नोड्स के बीच शीघ्र संचार की आवश्यकता होती है। नेटवर्क विलंबता में वृद्धि क्लस्टर संचालन को प्रभावित करेगी, विशेष रूप से लेखन के प्रदर्शन को। ऐसे कई तरीके हैं जिनसे इस समस्या का समाधान किया जा सकता है।

सबसे पहले हमारे पास एसिंक्रोनस प्रतिकृति लिंक का उपयोग करके जुड़े अलग समूहों का उपयोग करने का विकल्प है। यह हमें विलंबता के बारे में लगभग भूलने की अनुमति देता है क्योंकि अतुल्यकालिक प्रतिकृति उच्च विलंबता वातावरण में काम करने के लिए काफी बेहतर है।

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

मारियाडीबी क्लस्टर्स के बीच अतुल्यकालिक प्रतिकृति

आइए अतुल्यकालिक दृष्टिकोण पर एक नज़र डालते हैं। विचार सरल है - अतुल्यकालिक प्रतिकृति का उपयोग करके एक दूसरे से जुड़े दो क्लस्टर।

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

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

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

मल्टी-डीसी मारियाडीबी क्लस्टर

एसिंक्रोनस प्रतिकृति का विकल्प एक ऑल-मारियाडीबी क्लस्टर समाधान हो सकता है जो कई डेटासेंटर में फैला हो।

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

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

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

ClusterControl का उपयोग करके एक मल्टी-क्लाउड मारियाडीबी क्लस्टर परिनियोजित करना

आइए दो विकल्पों पर एक नज़र डालते हैं जिनका उपयोग आप ClusterControl का उपयोग करके मल्टी-क्लाउड मारियाडीबी क्लस्टर्स को परिनियोजित करने के लिए कर सकते हैं। कृपया ध्यान रखें कि ClusterControl को उन सभी नोड्स के लिए SSH कनेक्टिविटी की आवश्यकता होती है जो इसे प्रबंधित करेगा, इसलिए यह आपके ऊपर होगा कि आप कई डेटासेंटर या क्लाउड प्रदाताओं में नेटवर्क कनेक्टिविटी सुनिश्चित करें। जब तक कनेक्टिविटी है, हम दो तरीकों से आगे बढ़ सकते हैं।

एसिंक्रोनस प्रतिकृति का उपयोग करके मारियाडीबी क्लस्टरों को परिनियोजित करना

ClusterControl एसिंक्रोनस प्रतिकृति का उपयोग करके जुड़े दो समूहों को परिनियोजित करने में आपकी सहायता कर सकता है। जब आपके पास एक मारियाडीबी क्लस्टर तैनात है, तो आप यह सुनिश्चित करना चाहते हैं कि नोड्स में से एक में बाइनरी लॉग सक्षम हैं। यह आपको उस नोड को दूसरे क्लस्टर के लिए मास्टर के रूप में उपयोग करने की अनुमति देगा जिसे हम शीघ्र ही बनाएंगे।

एक बार बाइनरी लॉग सक्षम हो जाने के बाद, हम क्रिएट स्लेव क्लस्टर जॉब का उपयोग कर सकते हैं परिनियोजन विज़ार्ड प्रारंभ करने के लिए।

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

फिर आपको एक मानक क्लस्टर परिनियोजन विज़ार्ड के साथ प्रस्तुत किया जाता है जहां आपको पास करना होता है SSH कनेक्टिविटी विवरण।

आपको विक्रेता और डेटाबेस का संस्करण भी चुनने के लिए कहा जाएगा जैसा कि रूट उपयोगकर्ता के लिए पासवर्ड मांगा गया है।

आखिरकार, आपसे उन नोड्स को परिभाषित करने के लिए कहा जाता है जिन्हें आप जोड़ना चाहते हैं क्लस्टर और आप पूरी तरह तैयार हैं।

जब आप इसे तैनात करते हैं, तो आप इसे क्लस्टर की सूची में देखेंगे ClusterControl UI.

मल्टी-क्लाउड मारियाडीबी क्लस्टर परिनियोजित करना

जैसा कि हमने पहले उल्लेख किया है, मारियाडीबी क्लस्टर को तैनात करने का एक अन्य विकल्प क्लस्टर में नोड्स जोड़ते समय अलग सेगमेंट का उपयोग करना होगा। ClusterControl UI में आपको "नोड जोड़ें" का विकल्प मिलेगा:

जब आप इसका उपयोग करते हैं, तो आपको निम्न स्क्रीन के साथ प्रस्तुत किया जाएगा:

डिफ़ॉल्ट खंड 0 है इसलिए आप इसे किसी भिन्न मान में बदलना चाहते हैं ।

नोड्स जोड़े जाने के बाद आप अवलोकन टैब को देखकर जांच सकते हैं कि वे किस सेगमेंट में स्थित हैं:

निष्कर्ष

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MariaDB में किसी संख्या में प्रतिशत चिह्न जोड़ें

  2. मारियाडीबी में SHOW COLLATION कैसे काम करता है?

  3. अपने MySQL या MariaDB डेटाबेस को AWS और Google क्लाउड पर अत्यधिक उपलब्ध कैसे करें

  4. मारियाडीबी में मिन () फ़ंक्शन

  5. एक उत्तरदायी भूमिका का उपयोग करके MySQL परिनियोजन का परिचय