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

DBaaS, क्लाउड और पारदर्शी क्वेरी रूटिंग

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

RDS, Azure डेटाबेस और क्लाउड SQL सभी आपको डेटाबेस इंस्टेंस के लिए अलग-अलग समापन बिंदु प्रदान करते हैं, एक प्राथमिक के लिए और एक प्रत्येक प्रतिकृति के लिए। यदि आप बैलेंस रीडिंग लोड करना चाहते हैं, तो आपको कई कनेक्शन बनाने होंगे (प्रत्येक प्रतिकृति के लिए एक) और इसे स्वयं करें। यदि आप प्राथमिक पर लिखना चाहते हैं और प्रतिकृतियों पर पढ़ना चाहते हैं (यानी, विभाजन को पढ़ना/लिखना), तो आपको प्राथमिक से एक अतिरिक्त कनेक्शन बनाना होगा और इसे स्वयं करना होगा।

मज़ा नहीं। अच्छा नहीं है।

मैक्सस्केल के साथ, मारियाडीबी एंटरप्राइज सर्वर के लिए एक उन्नत डेटाबेस प्रॉक्सी, आपको इसके बारे में चिंता करने की ज़रूरत नहीं है। MaxScale आपके लिए रीड लोड बैलेंसिंग और रीड/राइट स्प्लिटिंग करता है - इसे हम पारदर्शी क्वेरी रूटिंग कहते हैं। डेवलपर्स को भौतिक बुनियादी ढांचे (यानी, डेटाबेस टोपोलॉजी) के बारे में चिंतित नहीं होना चाहिए। उन्हें क्यों चाहिए? शायद एक प्रतिकृति है, शायद पाँच हैं। हो सकता है कि डीबीए ने कल रात एक प्रतिकृति जोड़ी हो, हो सकता है कि उन्होंने दो को हटा दिया हो। इससे कोई फर्क नहीं पड़ना चाहिए, और आवेदनों को इसके लिए जिम्मेदार नहीं होना चाहिए।

मैक्सस्केल के बारे में यह बहुत अच्छी बात है। यह अंतर्निहित डेटाबेस अवसंरचना और परिनियोजन टोपोलॉजी को दूर करता है। शायद यह एक स्टैंडअलोन डेटाबेस है। शायद यह एक दोहराया डेटाबेस है। शायद यह एक संकुल डेटाबेस है। किसे पड़ी है? विशेष रूप से बादल में।

तो, ऐसा क्यों है कि आप परिसर में पारदर्शी क्वेरी रूटिंग का लाभ उठा सकते हैं, लेकिन क्लाउड में नहीं? क्योंकि RDS, Azure डेटाबेस और Google Cloud SQL में MaxScale नहीं है। यदि केवल मैक्सस्केल और पारदर्शी क्वेरी रूटिंग के साथ एक डीबीएएएस था। यदि केवल हम परम मारियाडीबी क्लाउड के साथ ऊंची उड़ान भर सकते हैं। रुको, नमस्ते स्काईएसक्यूएल!

हां, हम मैक्सस्केल की शक्ति को स्काईएसक्यूएल में लाए हैं।

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

आप खुद से पूछ रहे होंगे, क्या शेन ने सिर्फ अपने डेटाबेस का होस्टनाम और पोर्ट साझा किया था?

क्यों हाँ, हाँ मैंने किया। डिफ़ॉल्ट रूप से, SkySQL डेटाबेस पहुँच योग्य नहीं हैं। आपको एक्सेस की आवश्यकता वाले किसी भी क्लाइंट और एप्लिकेशन सर्वर के आईपी पते (या रेंज) को श्वेतसूची में डालना होगा। और मेरे द्वारा श्वेतसूची में डाला गया एकमात्र IP पता घर पर मेरे लैपटॉप के लिए है। सफलता मिले।

विषय पर वापस, आपको दो पोर्ट दिखाई देंगे:5001 रीड / राइट स्प्लिटिंग के लिए (प्राथमिक को लिखता है, प्रतिकृतियों में लोड बैलेंस पढ़ता है) और 5002 रीड-ओनली लोड बैलेंसिंग के लिए। मेरे डेटाबेस में दो प्रतिकृतियां हैं, लेकिन इससे जुड़ने वाले अनुप्रयोगों को इसके बारे में चिंतित होने की आवश्यकता नहीं है। मैं कल दो और प्रतिकृतियां जोड़ सकता हूं, और उनका लाभ उठाने के लिए किसी भी आवेदन परिवर्तन की आवश्यकता नहीं होगी। MaxScale बस, और स्वचालित रूप से, उन्हें रूट करना शुरू कर देगा।

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

लेकिन, मैं विषय से बहुत दूर नहीं भटकना चाहता। मेरे मन में एचए के लिए कुछ और योजना बनाई गई है। बने रहें।


  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. मारियाडीबी ओपनवर्क्स सम्मेलन में परिवर्तनकारी कहानियां

  3. कैसे वर्ष () मारियाडीबी में काम करता है

  4. MySQL और MariaDB में आकस्मिक डेटा विलोपन को कैसे दूर करें

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