विश्वसनीय, स्मार्ट, रीयल-टाइम, तथ्य-आधारित निर्णय लेने के लिए व्यवसाय लगातार जानकारी से अंतर्दृष्टि प्राप्त करना चाहता है। चूंकि कंपनियां डेटा और डेटाबेस पर अधिक भरोसा करती हैं, इसलिए सूचना और डेटा प्रोसेसिंग कई व्यावसायिक संचालन और व्यावसायिक निर्णयों का मूल है। डेटाबेस में विश्वास कुल है। कोई भी दिन-प्रतिदिन की कंपनी सेवा अंतर्निहित डेटाबेस प्लेटफॉर्म के बिना नहीं चल सकती है। परिणामस्वरूप, डेटाबेस सिस्टम सॉफ़्टवेयर की मापनीयता और प्रदर्शन की आवश्यकता पहले से कहीं अधिक महत्वपूर्ण हो गई है। क्लस्टर्ड डेटाबेस सिस्टम के प्रमुख लाभ स्केलेबिलिटी और उच्च उपलब्धता हैं। इस ब्लॉग में, हम इन दो पहलुओं के आलोक में Oracle RAC और Galera Cluster की तुलना करने का प्रयास करेंगे। रियल एप्लिकेशन क्लस्टर (आरएसी) ओरेकल डेटाबेस को क्लस्टर करने के लिए ओरेकल का प्रीमियम समाधान है और उच्च उपलब्धता और स्केलेबिलिटी प्रदान करता है। गैलेरा क्लस्टर MySQL और MariaDB के लिए सबसे लोकप्रिय क्लस्टरिंग तकनीक है।
वास्तुकला अवलोकन
Oracle RAC कई सर्वरों को बाइंड करने के लिए Oracle क्लस्टरवेयर सॉफ़्टवेयर का उपयोग करता है। Oracle क्लस्टरवेयर एक क्लस्टर प्रबंधन समाधान है जो Oracle डेटाबेस के साथ एकीकृत है, लेकिन इसका उपयोग केवल डेटाबेस ही नहीं, अन्य सेवाओं के साथ भी किया जा सकता है। Oracle क्लस्टरवेयर एक ही ऑपरेटिंग सिस्टम चलाने वाले सर्वर पर स्थापित एक अतिरिक्त सॉफ़्टवेयर है, जो सर्वरों को एक सर्वर की तरह संचालित करने के लिए एक साथ जंजीर से बांधे रखने देता है।
Oracle क्लस्टरवेयर इंस्टेंस को देखता है और क्रैश होने पर स्वचालित रूप से इसे पुनरारंभ करता है। यदि आपका एप्लिकेशन अच्छी तरह से डिज़ाइन किया गया है, तो आपको सेवा में किसी रुकावट का अनुभव नहीं हो सकता है। केवल सत्रों का एक समूह (जो विफल इंस्टेंस से जुड़ा होता है) विफलता से प्रभावित होता है। फास्ट एप्लिकेशन नोटिफिकेशन और ओरेकल क्लाइंट के फास्ट कनेक्शन फेलओवर जैसी उन्नत आरएसी सुविधाओं का उपयोग करके अंतिम उपयोगकर्ता के लिए ब्लैकआउट को कुशलतापूर्वक मास्क किया जा सकता है। Oracle क्लस्टरवेयर नोड सदस्यता को नियंत्रित करता है और विभाजित मस्तिष्क लक्षणों को रोकता है जिसमें दो या अधिक इंस्टेंस इंस्टेंस को नियंत्रित करने का प्रयास करते हैं।
गैलेरा क्लस्टर MySQL और MariaDB के लिए एक सिंक्रोनस सक्रिय-सक्रिय डेटाबेस क्लस्टरिंग तकनीक है। गैलेरा क्लस्टर Oracle के MySQL क्लस्टर - NDB के रूप में जाना जाता है से अलग है। मारियाडीबी क्लस्टर कोडरशिप द्वारा प्रदान किए गए मल्टी-मास्टर प्रतिकृति प्लगइन पर आधारित है। संस्करण 5.5 के बाद से, गैलेरा प्लगइन (wsrep API) मारियाडीबी का एक अभिन्न अंग है। Percona XtraDB क्लस्टर (PXC) भी Galera प्लगइन पर आधारित है। गैलेरा प्लगइन आर्किटेक्चर तीन मुख्य परतों पर खड़ा है:प्रमाणन, प्रतिकृति और समूह संचार ढांचा। प्रमाणन परत राइट-सेट तैयार करती है और उन पर प्रमाणन जांच करती है, यह गारंटी देते हुए कि उन्हें लागू किया जा सकता है। प्रतिकृति परत प्रतिकृति प्रोटोकॉल का प्रबंधन करती है और कुल आदेश क्षमता प्रदान करती है। ग्रुप कम्युनिकेशन फ्रेमवर्क एक प्लगइन आर्किटेक्चर को लागू करता है जो अन्य सिस्टम को gcomm बैक-एंड स्कीमा के माध्यम से कनेक्ट करने की अनुमति देता है।
राज्य को पूरे क्लस्टर में समान रखने के लिए, wsrep API एक वैश्विक लेनदेन आईडी का उपयोग करता है। GTID अद्वितीय पहचानकर्ता डेटाबेस नोड पर किए गए प्रत्येक लेनदेन के साथ बनाया और संबद्ध किया जाता है। ओरेकल आरएसी में, विभिन्न डेटाबेस इंस्टेंस डेटा ब्लॉक को एनक्यू करने के लिए बफर कैश में डेटा ब्लॉक जैसे संसाधनों तक पहुंच साझा करते हैं। संघर्ष से बचने के लिए आरएसी उदाहरणों के बीच साझा संसाधनों तक पहुंच को समन्वित करने की आवश्यकता है। इन संसाधनों तक साझा पहुंच को व्यवस्थित करने के लिए, वितरित कैश डेटा ब्लॉक आईडी जैसी जानकारी रखता है, जिसमें आरएसी इंस्टेंस इस डेटा ब्लॉक का वर्तमान संस्करण रखता है, और लॉक मोड जिसमें प्रत्येक इंस्टेंस में डेटा ब्लॉक होता है।
डेटा संग्रहण कुंजी अवधारणाएं
Oracle RAC एक वितरित डिस्क आर्किटेक्चर पर निर्भर करता है। डेटाबेस फ़ाइलें, नियंत्रण फ़ाइलें और डेटाबेस के लिए ऑनलाइन रीडो लॉग क्लस्टर में प्रत्येक नोड के लिए सुलभ होना चाहिए। सीधे संलग्न डिस्क, स्टोरेज एरिया नेटवर्क (सैन), और नेटवर्क अटैच्ड स्टोरेज (एनएएस) और ओरेकल एएसएम सहित साझा भंडारण को कॉन्फ़िगर करने के कई तरीके हैं। दो सबसे लोकप्रिय ओसीएफएस और एएसएम हैं। Oracle क्लस्टर फ़ाइल सिस्टम (OCFS) एक साझा फ़ाइल सिस्टम है जिसे विशेष रूप से Oracle RAC के लिए डिज़ाइन किया गया है। OCFS इस आवश्यकता को समाप्त करता है कि Oracle डेटाबेस फाइलें लॉजिकल ड्राइव से जुड़ी हों और सभी नोड्स को एक Oracle Home ASM, RAW डिवाइस साझा करने में सक्षम बनाता है। Oracle ASM Oracle का सलाह दिया गया भंडारण प्रबंधन समाधान है जो पारंपरिक वॉल्यूम प्रबंधकों, फ़ाइल सिस्टम और कच्चे उपकरणों का विकल्प प्रदान करता है। Oracle ASM डेटाबेस और स्टोरेज के बीच वर्चुअलाइजेशन लेयर प्रदान करता है। यह एकाधिक डिस्क को एकल डिस्क समूह के रूप में मानता है और डेटाबेस को ऑनलाइन बनाए रखते हुए आपको गतिशील रूप से ड्राइव जोड़ने या निकालने देता है।
गैलेरा के लिए परिष्कृत साझा डिस्क भंडारण बनाने की कोई आवश्यकता नहीं है, क्योंकि प्रत्येक नोड में डेटा की पूरी प्रतिलिपि होती है। हालांकि बैटरी-समर्थित राइट कैश के साथ भंडारण को विश्वसनीय बनाना एक अच्छा अभ्यास है।
Oracle RAC, क्लस्टर स्टोरेज गैलेरा प्रतिकृति, डेटाबेस नोड्स से जुड़ी डिस्कक्लस्टर नोड्स संचार और कैशे
ओरेकल रियल एप्लिकेशन क्लस्टर में एक साझा कैश आर्किटेक्चर है, यह सर्वर और स्टोरेज संसाधनों के साझाकरण को सक्षम करने के लिए ओरेकल ग्रिड इंफ्रास्ट्रक्चर का उपयोग करता है। नोड्स के बीच संचार क्लस्टर अखंडता का महत्वपूर्ण पहलू है। प्रत्येक नोड में कम से कम दो नेटवर्क एडेप्टर या नेटवर्क इंटरफेस कार्ड होने चाहिए:एक सार्वजनिक नेटवर्क इंटरफेस के लिए, और एक इंटरकनेक्ट के लिए। प्रत्येक क्लस्टर नोड एक निजी हाई-स्पीड नेटवर्क के माध्यम से अन्य सभी नोड्स से जुड़ा होता है, जिसे क्लस्टर इंटरकनेक्ट के रूप में भी जाना जाता है।
Oracle RAC, नेटवर्क आर्किटेक्चरनिजी नेटवर्क आमतौर पर गीगाबिट ईथरनेट के साथ बनाया जाता है, लेकिन उच्च-मात्रा वाले वातावरण के लिए, कई विक्रेता Oracle RAC के लिए डिज़ाइन किए गए कम-विलंबता, उच्च-बैंडविड्थ समाधान प्रदान करते हैं। बढ़ी हुई बैंडविड्थ और उपलब्धता प्रदान करने के लिए लिनक्स एक ही वर्चुअल एनआईसी में कई भौतिक एनआईसी को जोड़ने का एक साधन भी बढ़ाता है।
जबकि गैलेरा नोड्स को जोड़ने के लिए डिफ़ॉल्ट दृष्टिकोण प्रति मेजबान एक एनआईसी का उपयोग करना है, आपके पास एक से अधिक कार्ड हो सकते हैं। ClusterControl ऐसे सेटअप में आपकी सहायता कर सकता है। मुख्य अंतर इंटरकनेक्ट पर बैंडविड्थ की आवश्यकता है। Oracle RAC इंस्टेंस के बीच डेटा के ब्लॉक को शिप करता है, इसलिए यह गैलेरा राइट-सेट (जिसमें संचालन की एक सूची शामिल है) की तुलना में इंटरकनेक्ट पर भारी भार डालता है।
आरएसी में रिडंडेंट इंटरकनेक्ट उपयोग के साथ, आप बॉन्डिंग या अन्य तकनीकों का उपयोग किए बिना, निजी क्लस्टर नेटवर्क के लिए उपयोग करने के लिए कई इंटरफेस की पहचान कर सकते हैं। यह कार्यक्षमता Oracle डाटाबेस 11gR2 से शुरू होकर उपलब्ध है। यदि आप Oracle क्लस्टरवेयर अत्यधिक इंटरकनेक्ट सुविधा का उपयोग करते हैं, तो आपको इंटरफेस के लिए IPv4 पतों का उपयोग करना चाहिए (UDP एक डिफ़ॉल्ट है)।
उच्च उपलब्धता का प्रबंधन करने के लिए, प्रत्येक क्लस्टर नोड को एक वर्चुअल आईपी एड्रेस (वीआईपी) सौंपा जाता है। नोड की विफलता की स्थिति में, विफल नोड के आईपी पते को एक जीवित नोड को पुन:असाइन किया जा सकता है ताकि अनुप्रयोगों को उसी आईपी पते के माध्यम से डेटाबेस तक पहुंचने की अनुमति मिल सके।
प्रत्येक होस्ट में भौतिक मेमोरी को एक कैश में जोड़ने के लिए Oracle की कैश फ़्यूज़न तकनीक के लिए परिष्कृत नेटवर्क सेटअप आवश्यक है। Oracle कैश फ़्यूज़न एक Oracle उदाहरण के कैश में संग्रहीत डेटा प्रदान करता है जिसे किसी अन्य उदाहरण द्वारा निजी नेटवर्क पर ले जाकर एक्सेस किया जा सकता है। यह क्लस्टर नोड्स से परे लॉकिंग और पूरक सिंक्रनाइज़ेशन जानकारी प्रसारित करके डेटा अखंडता और कैश सुसंगतता की भी रक्षा करता है।
वर्णित नेटवर्क सेटअप के शीर्ष पर, आप अपने एप्लिकेशन के लिए एकल डेटाबेस पता सेट कर सकते हैं - सिंगल क्लाइंट एक्सेस नेम (SCAN)। स्कैन का प्राथमिक उद्देश्य कनेक्शन प्रबंधन में आसानी प्रदान करना है। उदाहरण के लिए, आप अपने क्लाइंट कनेक्शन स्ट्रिंग को बदले बिना क्लस्टर में नए नोड जोड़ सकते हैं। यह कार्यक्षमता इसलिए है क्योंकि ओरेकल स्वचालित रूप से स्कैन आईपी के आधार पर अनुरोधों को वितरित करेगा जो अंतर्निहित वीआईपी को इंगित करता है। स्कैन श्रोता ग्राहकों और अंतर्निहित स्थानीय श्रोताओं के बीच सेतु का काम करते हैं जो वीआईपी-निर्भर हैं।
गैलेरा क्लस्टर के लिए, स्कैन के बराबर गैलेरा नोड्स के सामने एक डेटाबेस प्रॉक्सी जोड़ना होगा। प्रॉक्सी अनुप्रयोगों के लिए संपर्क का एकल बिंदु होगा, यह विफल नोड्स को ब्लैकलिस्ट कर सकता है और स्वस्थ नोड्स को रूट क्वेरी कर सकता है। प्रॉक्सी को ही Keepalived और Virtual IP के साथ बेमानी बनाया जा सकता है।
विफलता और डेटा पुनर्प्राप्ति
Oracle RAC और MySQL Galera Cluster के बीच मुख्य अंतर यह है कि Galera साझा कुछ भी नहीं वास्तुकला है। साझा डिस्क के बजाय, गैलेरा समकालिक प्रतिकृति प्राप्त करने के लिए समूह संचार और लेनदेन आदेश के साथ प्रमाणन आधारित प्रतिकृति का उपयोग करता है। एक डेटाबेस क्लस्टर एक नोड के नुकसान से बचने में सक्षम होना चाहिए, हालांकि यह विभिन्न तरीकों से हासिल किया जाता है। गैलेरा के मामले में, महत्वपूर्ण पहलू नोड्स की संख्या है, गैलेरा को चालू रहने के लिए कोरम की आवश्यकता होती है। एक तीन नोड क्लस्टर एक नोड के क्रैश से बच सकता है। आपके क्लस्टर में अधिक नोड्स के साथ, आपकी उपलब्धता बढ़ेगी। Oracle RAC को नोड क्रैश के बाद चालू रहने के लिए कोरम की आवश्यकता नहीं होती है। यह वितरित भंडारण तक पहुंच के कारण है जो क्लस्टर स्थिति के बारे में लगातार जानकारी रखता है। हालाँकि, आपका डेटा संग्रहण आपकी उच्च उपलब्धता योजना में विफलता का एक संभावित बिंदु हो सकता है। हालांकि गैलेरा क्लस्टर नोड्स को जियोलोकेशन डेटा केंद्रों में फैलाना काफी सीधा काम है, लेकिन आरएसी के साथ यह इतना आसान नहीं होगा। Oracle RAC को अतिरिक्त हाई-एंड डिस्क मिररिंग की आवश्यकता होती है, हालांकि, मूल RAID जैसे अतिरेक को ASM डिस्कग्रुप के अंदर प्राप्त किया जा सकता है।
डिस्क समूह प्रकार | समर्थित मिररिंग स्तर | डिफ़ॉल्ट मिररिंग स्तर |
---|---|---|
बाहरी अतिरेक | असुरक्षित (कोई नहीं) | असुरक्षित |
सामान्य अतिरेक | टू-वे, थ्री-वे, असुरक्षित (कोई नहीं) | दोतरफा |
उच्च अतिरेक | तीन-तरफा | तीन-तरफा |
फ्लेक्स अतिरेक | टू-वे, थ्री-वे, असुरक्षित (कोई नहीं) | दो-तरफा (नव-निर्मित) |
विस्तारित अतिरेक | टू-वे, थ्री-वे, असुरक्षित (कोई नहीं) | दोतरफा |
लॉकिंग योजनाएं
एकल-उपयोगकर्ता डेटाबेस में, एक उपयोगकर्ता एक ही समय में उसी डेटा को संशोधित करने वाले अन्य सत्रों की चिंता किए बिना डेटा को बदल सकता है। हालाँकि, एक बहु-उपयोगकर्ता डेटाबेस बहु-नोड वातावरण में, यह अधिक कठिन हो जाता है। एक बहु-उपयोगकर्ता डेटाबेस को निम्नलिखित प्रदान करना चाहिए:
- डेटा समवर्ती - यह आश्वासन कि उपयोगकर्ता एक ही समय में डेटा तक पहुंच सकते हैं,
- डेटा संगतता - यह आश्वासन कि प्रत्येक उपयोगकर्ता डेटा का एक सुसंगत दृश्य देखता है।
क्लस्टर इंस्टेंस के लिए तीन मुख्य प्रकार के समवर्ती लॉकिंग की आवश्यकता होती है:
- डेटा समवर्ती विभिन्न उदाहरणों पर पढ़ता है,
- डेटा समवर्ती विभिन्न उदाहरणों पर पढ़ता और लिखता है,
- डेटा समवर्ती विभिन्न उदाहरणों पर लिखता है।
Oracle आपको आपकी आवश्यकताओं के आधार पर, निराशावादी या आशावादी, लॉकिंग के लिए नीति चुनने देता है। समवर्ती लॉकिंग प्राप्त करने के लिए, आरएसी में दो अतिरिक्त बफर हैं। वे ग्लोबल कैश सर्विस (जीसीएस) और ग्लोबल एनक्यू सर्विस (जीईएस) हैं। इन दो सेवाओं में उदाहरणों के बीच कैश फ्यूजन प्रक्रिया, संसाधन हस्तांतरण और संसाधन वृद्धि शामिल हैं। GES में कैश लॉक, डिक्शनरी लॉक, ट्रांजेक्शन लॉक और टेबल लॉक शामिल हैं। जीसीएस इंस्टेंस के बीच ब्लॉक मोड और ब्लॉक ट्रांसफर को बनाए रखता है।
गैलेरा क्लस्टर में, प्रत्येक नोड का अपना भंडारण और बफर होता है। जब कोई लेन-देन शुरू किया जाता है, तो उस नोड के लिए स्थानीय डेटाबेस संसाधन शामिल होते हैं। प्रतिबद्ध होने पर, उस लेन-देन का हिस्सा होने वाले संचालन को समूह के बाकी हिस्सों में राइट-सेट के हिस्से के रूप में प्रसारित किया जाता है। चूंकि सभी नोड्स की स्थिति समान होती है, इसलिए राइट-सेट या तो सभी नोड्स पर सफल होगा या सभी नोड्स पर विफल हो जाएगा।
गैलेरा क्लस्टर क्लस्टर-स्तरीय आशावादी समवर्ती नियंत्रण पर उपयोग करता है, जो लेनदेन में प्रकट हो सकता है जिसके परिणामस्वरूप COMMIT निरस्त हो जाता है। पहला कमिट जीतता है। जब क्लस्टर स्तर पर गर्भपात होता है, तो गैलेरा क्लस्टर एक डेडलॉक त्रुटि देता है। यह आपके एप्लिकेशन आर्किटेक्चर को प्रभावित कर भी सकता है और नहीं भी। एकल लेन-देन में दोहराने के लिए पंक्तियों की उच्च संख्या नोड प्रतिक्रियाओं को प्रभावित करेगी, हालांकि इस तरह के व्यवहार से बचने के लिए तकनीकें हैं।
हार्डवेयर और सॉफ़्टवेयर आवश्यकताएँ
दोनों क्लस्टर हार्डवेयर को कॉन्फ़िगर करने के लिए शक्तिशाली संसाधनों की आवश्यकता नहीं होती है। न्यूनतम ओरेकल आरएसी क्लस्टर कॉन्फ़िगरेशन दो सर्वरों द्वारा दो सीपीयू, भौतिक मेमोरी कम से कम 1.5 जीबी रैम, रैम की मात्रा के बराबर स्वैप स्पेस और दो गीगाबिट ईथरनेट एनआईसी के साथ संतुष्ट होगा। गैलेरा का न्यूनतम नोड कॉन्फ़िगरेशन तीन नोड्स है (नोड्स में से एक मध्यस्थ, गार्डब हो सकता है), प्रत्येक में 1GHz सिंगल-कोर सीपीयू 512 एमबी रैम, 100 एमबीपीएस नेटवर्क कार्ड है। हालांकि ये न्यूनतम हैं, हम सुरक्षित रूप से कह सकते हैं कि दोनों ही मामलों में आप शायद अपने उत्पादन प्रणाली के लिए अधिक संसाधन रखना चाहेंगे।
प्रत्येक नोड सॉफ़्टवेयर को संग्रहीत करता है इसलिए आपको अपने संग्रहण के कई गीगाबाइट तैयार करने की आवश्यकता होगी। Oracle और Galera दोनों में एक-एक करके नोड्स को अलग-अलग पैच करने की क्षमता है। यह रोलिंग पैच एक पूर्ण एप्लिकेशन आउटेज से बचाता है क्योंकि ट्रैफ़िक को संभालने के लिए हमेशा डेटाबेस नोड उपलब्ध होते हैं।
यह उल्लेख करना महत्वपूर्ण है कि एक उत्पादन गैलेरा क्लस्टर आसानी से वीएम या मूल नंगे धातु पर चल सकता है, जबकि आरएसी को परिष्कृत साझा भंडारण और फाइबर संचार में निवेश की आवश्यकता होगी।
निगरानी और प्रबंधन
Oracle RAC और Oracle क्लस्टरवेयर की निगरानी के लिए Oracle Enterprise Manager पसंदीदा तरीका है। Oracle Enterprise Manager आपके डेटाबेस परिवेश की निगरानी और व्यवस्थापन के लिए Oracle वेब-आधारित एकीकृत प्रबंधन प्रणाली है। यह Oracle Enterprise लाइसेंस का हिस्सा है और इसे अलग सर्वर पर स्थापित किया जाना चाहिए। क्लस्टर नियंत्रण निगरानी और प्रबंधन crsctl और srvctl कमांड पर संयोजन के माध्यम से किया जाता है जो क्लस्टर बायनेरिज़ का हिस्सा हैं। नीचे आपको कुछ उदाहरण कमांड मिल सकते हैं।
क्लस्टरवेयर संसाधन स्थिति जाँच:
crsctl status resource -t (or shorter: crsctl stat res -t)
उदाहरण:
$ crsctl stat res ora.test1.vip
NAME=ora.test1.vip
TYPE=ora.cluster_vip_net1.type
TARGET=ONLINE
STATE=ONLINE on test1
Oracle क्लस्टरवेयर स्टैक की स्थिति जांचें:
crsctl check cluster
उदाहरण:
$ crsctl check cluster -all
*****************************************************************
node1:
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
*****************************************************************
node2:
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
स्थानीय सर्वर पर Oracle उच्च उपलब्धता सेवाओं और Oracle क्लस्टरवेयर स्टैक की स्थिति की जाँच करें:
crsctl check crs
उदाहरण:
$ crsctl check crs
CRS-4638: Oracle High Availablity Services is online
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
स्थानीय सर्वर पर Oracle उच्च उपलब्धता सेवाएँ बंद करें।
crsctl stop has
स्थानीय सर्वर पर Oracle उच्च उपलब्धता सेवाएँ बंद करें।
crsctl start has
नोड अनुप्रयोगों की स्थिति प्रदर्शित करता है:
srvctl status nodeapps
सभी स्कैन वीआईपी के लिए कॉन्फ़िगरेशन जानकारी प्रदर्शित करता है
srvctl config scan
उदाहरण:
srvctl config scan -scannumber 1
SCAN name: testscan, Network: 1
Subnet IPv4: 192.51.100.1/203.0.113.46/eth0, static
Subnet IPv6:
SCAN 1 IPv4 VIP: 192.51.100.195
SCAN VIP is enabled.
SCAN VIP is individually enabled on nodes:
SCAN VIP is individually disabled on nodes:
क्लस्टर सत्यापन उपयोगिता (CVU) स्थापना, पैच अद्यतन, या अन्य सिस्टम परिवर्तनों की तैयारी के लिए सिस्टम जाँच करती है:
cluvfy comp ocr
उदाहरण:
Verifying OCR integrity
Checking OCR integrity...
Checking the absence of a non-clustered configurationl...
All nodes free of non-clustered, local-only configurations
ASM Running check passed. ASM is running on all specified nodes
Checking OCR config file “/etc/oracle/ocr.loc"...
OCR config file “/etc/oracle/ocr.loc" check successful
Disk group for ocr location “+DATA" available on all the nodes
NOTE:
This check does not verify the integrity of the OCR contents. Execute ‘ocrcheck' as a privileged user to verify the contents of OCR.
OCR integrity check passed
Verification of OCR integrity was successful.
गैलेरा नोड्स और क्लस्टर को कई स्थितियों की रिपोर्ट करने के लिए wsrep API की आवश्यकता होती है, जो उजागर हो जाती है। वर्तमान में 34 समर्पित स्थिति चर हैं जिन्हें SHOW STATUS विवरण के साथ देखा जा सकता है।
mysql> SHOW STATUS LIKE 'wsrep_%';
wsrep_apply_oooe wsrep_apply_oool wsrep_cert_deps_distance wsrep_cluster_conf_id wsrep_cluster_wsrep_cui /> wsrep_cluster_status wsrep_connected wsrep_flow_control_paused wsrep_flow_control_paused_ns wsrep_flow_control_recv | wsrep_local_send_queue_avg wsrep_local_state_uuid wsrep_protocol_version wsrep_provider_name wsrep_provider_vendor br /> wsrep_last_committed wsrep_local_bf_aborts wsrep_local_cert_failures | wsrep_local_commits wsrep_local_index wsrep_local_recv_queue wsrep_local_recv_queue_avg wsrep_local_replays wsrep_local_replays wsrep_local_sreadybr /> wsrep_लोकल_एस br /> wsrep_received_bytes wsrep_replicated wsrep_replicated_bytes wsrep_thread_count |
कई पहलुओं में MySQL Galera Cluster का प्रशासन बहुत समान है। प्रारंभिक नोड से क्लस्टर को बूटस्ट्रैप करने या एसएसटी या आईएसटी संचालन के माध्यम से नोड्स को पुनर्प्राप्त करने जैसे कुछ अपवाद हैं।
बूटस्ट्रैपिंग क्लस्टर:
$ service mysql bootstrap # sysvinit
$ service mysql start --wsrep-new-cluster # sysvinit
$ galera_new_cluster # systemd
$ mysqld_safe --wsrep-new-cluster # command line
गैलेरा क्लस्टर के प्रबंधन और निगरानी के लिए समकक्ष वेब-आधारित, आउट ऑफ द बॉक्स समाधान ClusterControl है। यह क्लस्टर को परिनियोजित करने के लिए एक वेब-आधारित इंटरफ़ेस प्रदान करता है, प्रमुख मीट्रिक की निगरानी करता है, डेटाबेस सलाहकार प्रदान करता है, और बैकअप और पुनर्स्थापना, स्वचालित पैचिंग, ट्रैफ़िक एन्क्रिप्शन और उपलब्धता प्रबंधन जैसे प्रबंधन कार्यों का ध्यान रखता है।
कार्यभार पर प्रतिबंध
Oracle SCAN तकनीक प्रदान करता है जिसे हमने Galera Cluster में अनुपलब्ध पाया। स्कैन का लाभ यह है कि यदि आप क्लस्टर में नोड्स या डेटाबेस जोड़ते या हटाते हैं तो क्लाइंट की कनेक्शन जानकारी को बदलने की आवश्यकता नहीं होती है। स्कैन का उपयोग करते समय, Oracle डेटाबेस एक राउंड रॉबिन फैशन में उपलब्ध स्कैन श्रोताओं (आमतौर पर तीन) में से एक से बेतरतीब ढंग से जुड़ता है और उनके बीच के कनेक्शन को संतुलित करता है। दो प्रकार के लोड बैलेंसिंग को कॉन्फ़िगर किया जा सकता है:क्लाइंट साइड, कनेक्ट टाइम लोड बैलेंसिंग और सर्वर साइड पर, रन टाइम लोड बैलेंसिंग। हालांकि गैलेरा क्लस्टर के भीतर ऐसा कुछ भी नहीं है, समान कार्यक्षमता को अतिरिक्त सॉफ़्टवेयर जैसे ProxySQL, HAProxy, Maxscale के साथ Keepalived के साथ संबोधित किया जा सकता है।
जब गैलेरा क्लस्टर के लिए एप्लिकेशन वर्कलोड डिज़ाइन की बात आती है, तो आपको एक ही पंक्ति में परस्पर विरोधी अपडेट से बचना चाहिए, क्योंकि यह पूरे क्लस्टर में गतिरोध की ओर जाता है। बल्क इंसर्ट या अपडेट से बचें, क्योंकि ये अधिकतम अनुमत राइटसेट से बड़े हो सकते हैं। इससे क्लस्टर स्टॉल भी लग सकते हैं।
आरएसी के साथ ओरेकल एचए को डिजाइन करना आपको यह ध्यान में रखना होगा कि आरएसी केवल सर्वर विफलता के खिलाफ सुरक्षा करता है, और आपको स्टोरेज को मिरर करने और नेटवर्क रिडंडेंसी की आवश्यकता होती है। आधुनिक वेब अनुप्रयोगों को स्थान-स्वतंत्र डेटा सेवाओं तक पहुंच की आवश्यकता होती है, और आरएसी की भंडारण वास्तुकला सीमाओं के कारण, इसे प्राप्त करना मुश्किल हो सकता है। पर्यावरण का प्रबंधन करने के लिए प्रासंगिक ज्ञान प्राप्त करने के लिए आपको एक उल्लेखनीय राशि खर्च करने की भी आवश्यकता है; यह एक लंबी प्रक्रिया है। आवेदन कार्यभार पक्ष में, कुछ कमियां हैं। एक ही डेटासेट पर अलग-अलग पढ़ने या लिखने के संचालन को वितरित करना इष्टतम नहीं है क्योंकि पूरक इंटर्नोड डेटा एक्सचेंज द्वारा विलंबता को जोड़ा जाता है। RAC में माइग्रेट करने से पहले विभाजन, अनुक्रम कैश और सॉर्टिंग संचालन जैसी चीज़ों की समीक्षा की जानी चाहिए।
मल्टी डेटा-सेंटर रिडंडेंसी
Oracle दस्तावेज़ीकरण के अनुसार, पॉइंट-टू-पॉइंट फ़ैशन में जुड़े और सिंक्रोनस रूप से चलने वाले दो बॉक्स के बीच की अधिकतम दूरी केवल 10 किमी हो सकती है। विशेष उपकरणों का उपयोग करके, इस दूरी को 100 किमी तक बढ़ाया जा सकता है।
गैलेरा क्लस्टर अपनी बहु-डेटासेंटर प्रतिकृति क्षमताओं के लिए जाना जाता है। इसमें वाइडर एरिया नेटवर्क नेटवर्क सेटिंग्स के लिए समृद्ध समर्थन है। क्लस्टर नोड्स के बीच राउंड-ट्रिप टाइम (RTT) माप लेकर और आवश्यक मापदंडों को समायोजित करके इसे उच्च नेटवर्क विलंबता के लिए कॉन्फ़िगर किया जा सकता है। Wsrep_provider_options पैरामीटर आपको संदिग्ध_टाइमआउट, इंटरेक्टिव_टाइमआउट, join_retrans_timouts और कई अन्य सेटिंग्स को कॉन्फ़िगर करने की अनुमति देते हैं।
क्लाउड में गैलेरा और आरएसी का उपयोग करना
प्रति Oracle नोट www.oracle.com/technetwork/database/options/.../rac-cloud-support-2843861.pdf कोई भी तृतीय-पक्ष क्लाउड वर्तमान में मूल रूप से प्रदान किए गए साझा संग्रहण के संबंध में Oracle की आवश्यकताओं को पूरा नहीं करता है। इस संदर्भ में "मूल" का अर्थ है कि क्लाउड प्रदाता को Oracle की समर्थन नीति के अनुसार अपने बुनियादी ढांचे के हिस्से के रूप में साझा भंडारण का समर्थन करना चाहिए।
इसके साझा नथिंग आर्किटेक्चर के लिए धन्यवाद, जो एक परिष्कृत भंडारण समाधान से बंधा नहीं है, गैलेरा क्लस्टर को क्लाउड वातावरण में आसानी से तैनात किया जा सकता है। इस तरह की चीजें:
- अनुकूलित नेटवर्क प्रोटोकॉल,
- टोपोलॉजी-जागरूक प्रतिकृति,
- ट्रैफ़िक एन्क्रिप्शन,
- अविश्वसनीय नोड्स का पता लगाना और स्वचालित निष्कासन,
क्लाउड माइग्रेशन प्रक्रिया को अधिक विश्वसनीय बनाता है।
लाइसेंस और छिपी लागत
Oracle लाइसेंसिंग एक जटिल विषय है और इसके लिए एक अलग ब्लॉग आलेख की आवश्यकता होगी। क्लस्टर फैक्टर इसे और भी मुश्किल बना देता है। लागत बढ़ जाती है क्योंकि हमें संपूर्ण आरएसी समाधान के लाइसेंस के लिए कुछ विकल्प जोड़ने होते हैं। यहां हम केवल इस बात पर प्रकाश डालना चाहते हैं कि क्या उम्मीद की जाए और कहां अधिक जानकारी प्राप्त करें।
आरएसी ओरेकल एंटरप्राइज एडिशन लाइसेंस की एक विशेषता है। Oracle Enterprise लाइसेंस दो प्रकारों में विभाजित है, प्रति नामित उपयोगकर्ता और प्रति प्रोसेसर। यदि आप प्रति कोर लाइसेंस के साथ एंटरप्राइज़ संस्करण पर विचार करते हैं, तो एकल कोर लागत RAC 23,000 USD + Oracle DB EE 47,500 USD है, और आपको अभी भी ~ 22% समर्थन शुल्क जोड़ने की आवश्यकता है। हम https://flashdba.com/2013/09/18/the-real-cost-of-oracle-rac/ पर पाए जाने वाले मूल्य निर्धारण पर एक महान ब्लॉग का उल्लेख करना चाहेंगे।
Flashdba ने चार नोड Oracle RAC की कीमत की गणना की। तीन साल के DB रखरखाव के लिए कुल राशि 902,400 USD और अतिरिक्त 595,584 USD थी, और इसमें विभाजन या इन-मेमोरी डेटाबेस जैसी सुविधाएँ शामिल नहीं हैं, यह सब 60% Oracle छूट के साथ है।
गैलेरा क्लस्टर एक खुला स्रोत समाधान है जिसे कोई भी मुफ्त में चला सकता है। उत्पादन कार्यान्वयन के लिए सदस्यता उपलब्ध है जिसके लिए विक्रेता समर्थन की आवश्यकता होती है। एक अच्छी टीसीओ गणना https://severalnines.com/blog/database-tco-calculating-total-cost-ownership-mysql-management पर देखी जा सकती है।
निष्कर्ष
जबकि वास्तुकला में महत्वपूर्ण अंतर हैं, दोनों समूह मुख्य सिद्धांतों को साझा करते हैं और समान लक्ष्यों को प्राप्त कर सकते हैं। Oracle एंटरप्राइज़ उत्पाद बॉक्स से बाहर सब कुछ (और इसकी कीमत) के साथ आता है। जैसा कि ऊपर देखा गया है> 1 मिलियन अमरीकी डालर की सीमा में लागत के साथ, यह एक उच्च अंत समाधान है जिसे कई उद्यम वहन करने में सक्षम नहीं होंगे। गैलेरा क्लस्टर को जनता के लिए एक अच्छा उच्च उपलब्धता समाधान के रूप में वर्णित किया जा सकता है। कुछ मामलों में, गैलेरा ओरेकल आरएसी के लिए एक बहुत अच्छा विकल्प हो सकता है। एक कमी यह है कि आपको अपना खुद का स्टैक बनाना होगा, हालांकि इसे ClusterControl के साथ पूरी तरह से स्वचालित किया जा सकता है। हमें इस पर आपके विचार जानना अच्छा लगेगा।