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

कैसे मारियाडीबी ने Xpand . के साथ वैश्विक स्तर हासिल किया

यह लेख पहली बार InfoWorld . में प्रकाशित हुआ था . इसे अनुमति के साथ पुनर्मुद्रित किया जाता है। © IDG Communications, Inc., 2020। सभी अधिकार सुरक्षित हैं कि कैसे MariaDB Xpand के साथ वैश्विक स्तर पर पहुंचती है। एक्सपैंड अब मारियाडीबी स्काईएसक्यूएल में उपलब्ध है जो क्लाउड में स्केलेबिलिटी और लोच के लिए वितरित एसक्यूएल जोड़ रहा है।

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

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

अनुकूलित प्लग करने योग्य स्मार्ट इंजन

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

MariaDB Xpand को जोड़ने से एंटरप्राइज़ ग्राहकों को वितरित SQL के सभी लाभ प्राप्त करने में सक्षम बनाता है - गति, उपलब्धता और मापनीयता - मारियाडीबी लाभों को बनाए रखते हुए जिनके वे आदी हैं।

आइए एक उच्च-स्तरीय नज़र डालें कि कैसे MariaDB Xpand वितरित SQL प्रदान करता है।

एसक्यूएल को इंडेक्स में बांट दिया

Xpand नोड्स में डेटा को स्लाइस, प्रतिकृति और वितरित करके वितरित SQL प्रदान करता है। इसका क्या मतलब है? हम अवधारणाओं को प्रदर्शित करने के लिए एक टेबल और तीन नोड्स के साथ एक बहुत ही सरल उदाहरण का उपयोग करेंगे। इस उदाहरण में नहीं दिखाया गया है कि सभी स्लाइस दोहराए गए हैं।

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

अब हम स्लाइस . की धारणा जोड़ते हैं . स्लाइस अनिवार्य रूप से तालिका के क्षैतिज विभाजन हैं। हमारी तालिका में पाँच पंक्तियाँ हैं। चित्र 2 में, तालिका को काटकर वितरित किया गया है। नोड # 1 में दो पंक्तियाँ हैं। नोड # 2 में दो पंक्तियाँ हैं, और नोड # 3 में एक पंक्ति है। लक्ष्य यह है कि डेटा को नोड्स में यथासंभव समान रूप से वितरित किया जाए।

सूचकांक भी काटा और वितरित किया गया है। यह Xpand और अन्य वितरित समाधानों के बीच एक महत्वपूर्ण अंतर है। आमतौर पर, वितरित डेटाबेस में स्थानीय सूचकांक होते हैं, इसलिए प्रत्येक नोड का अपना डेटा सूचकांक होता है। Xpand में, अनुक्रमणिका को तालिका से स्वतंत्र रूप से वितरित और संग्रहीत किया जाता है। यह सभी नोड्स (स्कैटर/इकट्ठा) को एक क्वेरी भेजने की आवश्यकता को समाप्त करता है। उपरोक्त उदाहरण में, नोड # 1 में तालिका की पंक्तियाँ 2 और 4 हैं, और पंक्तियों 32 और 35 और पंक्तियों के लिए अनुक्रमणिकाएँ भी हैं अप्रैल और मार्च। टेबल और इंडेक्स को अलग-अलग नोड्स में स्लाइस, वितरित और दोहराया जाता है।

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

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

प्रबंधन पढ़ें और लिखें

आइए एक और उदाहरण लेते हैं। चित्र 3 में, हमारे पास Xpand (नोड्स) के साथ MariaDB एंटरप्राइज़ सर्वर के पाँच उदाहरण हैं। ग्राहक प्रोफाइल स्टोर करने के लिए एक टेबल है। शेन की प्रोफाइल वाला टुकड़ा नोड # 1 पर है और नोड #3 और नोड #5 पर प्रतियां हैं। क्वेरीज़ किसी भी नोड पर आ सकती हैं और इस पर निर्भर करते हुए कि वे पढ़ी या लिखी जाती हैं, अलग-अलग तरीके से प्रोसेस की जाएंगी।

वितरित लेनदेन के अंदर सभी प्रतियों को समकालिक रूप से लिखा जाता है। जब भी मैं अपना "शेन" प्रोफाइल अपडेट करता हूं क्योंकि मैंने अपना ईमेल बदल दिया है या मैंने अपना पता बदल दिया है, तो वे लिखते हैं एक लेनदेन के भीतर एक ही समय में सभी प्रतियों पर जाते हैं। यह वही है जो मजबूत स्थिरता प्रदान करता है।

चित्र 3 में, अद्यतन विवरण नोड #2 पर गया। मेरी प्रोफ़ाइल के संबंध में नोड #2 पर कुछ भी नहीं है, लेकिन नोड #2 जानता है कि मेरी प्रोफ़ाइल कहां है और नोड # 1, नोड #3 और नोड #5 को अपडेट भेजता है, फिर वह लेनदेन करता है और एप्लिकेशन पर वापस लौटता है।

रीड्स को अलग तरह से हैंडल किया जाता है। आरेख में, मेरी प्रोफ़ाइल के साथ टुकड़ा नोड # 1 पर नोड # 3 और नोड # 5 पर प्रतियों के साथ है। यह Node #1 को रैंकिंग प्रतिकृति बनाता है। प्रत्येक स्लाइस में एक रैंकिंग प्रतिकृति होती है, जिसे नोड कहा जा सकता है जो डेटा का "मालिक" है। डिफ़ॉल्ट रूप से, कोई फर्क नहीं पड़ता कि कोई रीड किस नोड पर आता है, यह हमेशा रैंकिंग प्रतिकृति में जाता है, इसलिए मेरे लिए हल करने वाला प्रत्येक चयन नोड # 1 पर जाएगा।

लचीलापन प्रदान करना

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

उदाहरण के लिए, मान लें कि हम तीन नोड्स के साथ चल रहे हैं लेकिन ट्रैफ़िक बढ़ रहा है और हमें स्केल करने की आवश्यकता है - हम ट्रैफ़िक को संभालने के लिए चौथा नोड जोड़ते हैं। जब हम इसे जोड़ते हैं तो नोड # 4 खाली होता है जैसा कि चित्र 4 में दिखाया गया है। रिबैलेंसर स्वचालित रूप से नोड # 4 का उपयोग करने के लिए स्लाइस और प्रतिकृतियों को स्थानांतरित करता है, जैसा कि चित्र 5 में दिखाया गया है।

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

चित्र 6. यदि कोई नोड विफल हो जाता है, तो Xpand रीबैलेंसर अन्य नोड्स पर प्रतिकृति डेटा से स्लाइस और विफल नोड पर रहने वाले प्रतिकृतियों को फिर से बनाता है।

कार्यभार को संतुलित करना

स्केल आउट और उच्च उपलब्धता के अलावा, रिबैलेंसर असमान कार्यभार वितरण को कम करता है - या तो हॉट स्पॉट या कम उपयोग। यहां तक ​​​​कि जब डेटा को एक आदर्श हैश एल्गोरिथ्म के साथ बेतरतीब ढंग से वितरित किया जाता है, तो हॉट स्पॉट हो सकते हैं। उदाहरण के लिए, यह केवल संयोग से हो सकता है कि इस महीने बिक्री के 10 उत्पाद नोड # 1 पर बैठे हों। डेटा समान रूप से वितरित किया जाता है लेकिन कार्यभार नहीं है (चित्र 7)। इस प्रकार के परिदृश्य में, रिबैलेंसर संसाधनों के उपयोग को संतुलित करने के लिए स्लाइस को पुनर्वितरित करेगा (चित्र 8)।

चित्र 7. Xpand ने समान रूप से डेटा वितरित किया है लेकिन कार्यभार असमान है। नोड 1 में अन्य तीन नोड्स की तुलना में काफी अधिक कार्यभार है।

चित्र 8. एक्सपैंड रीबैलेंसर सभी नोड्स में कार्यभार को संतुलित करने के लिए डेटा स्लाइस को पुनर्वितरित करता है।

मापनीयता, गति, उपलब्धता, संतुलन

सूचना और प्रसंस्करण की जरूरतें बढ़ती रहेंगी। वह दे दिया गया। MariaDB Xpand उन उद्यमों के लिए एक सुसंगत, ACID-संगत स्केलिंग समाधान प्रदान करता है, जिन्हें प्रतिकृति और शार्डिंग जैसे अन्य विकल्पों के साथ पूरा नहीं किया जा सकता है।

डिस्ट्रीब्यूटेड SQL स्केलेबिलिटी प्रदान करता है, और MariaDB Xpand यह चुनने के लिए लचीलापन प्रदान करता है कि आपको कितनी स्केलेबिलिटी की आवश्यकता है। एक टेबल या कई टेबल या यहां तक ​​कि अपना पूरा डेटाबेस वितरित करें, चुनाव आपका है। परिचालन रूप से, किसी भी समय बदलती कार्यभार मांगों को पूरा करने के लिए क्षमता को आसानी से समायोजित किया जाता है। आपको कभी भी अधिक प्रावधान करने की आवश्यकता नहीं है।

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

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. WHM/cPanel सर्वर पर ProxySQL के साथ MySQL प्रतिकृति:भाग एक

  2. कैसे लॉग () मारियाडीबी में काम करता है

  3. ClusterControl के साथ अत्यधिक उपलब्ध डेटाबेस और क्लस्टर को परिनियोजित करना

  4. मारियाडीबी में एक तिथि से सप्ताह संख्या निकालने के लिए 5 कार्य

  5. SQL फ़ायरवॉल को ClusterControl और ProxySQL के साथ आसान बनाया गया है