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

Oracle डेटाबेस से MariaDB में माइग्रेट करना - आपको क्या पता होना चाहिए

गार्टनर ने भविष्यवाणी की है कि 2022 तक, मौजूदा वाणिज्यिक डेटाबेस के 50% को ओपन सोर्स डेटाबेस में बदल दिया जाएगा। इससे भी अधिक, 70% नए इन-हाउस एप्लिकेशन एक ओपन सोर्स डेटाबेस प्लेटफॉर्म (स्टेट ऑफ द ओपन-सोर्स डीबीएमएस मार्केट, 2018) पर विकसित किए जाएंगे।

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

https://db-engines.com/en/ranking

कंपनियों को इस तरह के कदम उठाने के लिए क्या प्रेरित कर रहा है?

डेटाबेस सिस्टम को माइग्रेट करने के कई कारण हो सकते हैं। कुछ के लिए, मुख्य कारण लाइसेंस और स्वामित्व की लागत होगी; लेकिन क्या यह वास्तव में केवल लागत के बारे में है? और क्या ओपन सोर्स इतना स्थिर है कि महत्वपूर्ण प्रोडक्शन सिस्टम को उस नए ओपन सोर्स वर्ल्ड में ले जा सके?

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

लेकिन मुफ्त पहलू वास्तव में बिना किसी लागत के नहीं आता है क्योंकि आपको प्रवास और काम के घंटे की लागत सहित कई कारकों पर विचार करना होगा। माइग्रेशन जितना आसान होगा, प्रोजेक्ट पर उतना ही कम समय और पैसा खर्च होगा।

डेटाबेस माइग्रेशन विशेष रूप से विषम मालिकाना डेटाबेस माइग्रेशन जैसे Oracle से PostgreSQL, Oracle से Percona या MySQL के लिए चुनौतीपूर्ण हो सकता है। जटिल स्कीमा संरचना, डेटा प्रकार और डेटाबेस कोड जैसे PL/SQL लक्ष्य डेटाबेस से काफी भिन्न हो सकते हैं,
डेटा माइग्रेशन प्रारंभ होने से पहले एक स्कीमा और कोड परिवर्तन चरण की आवश्यकता होती है।

मेरे सहयोगी पॉल नामुआग के हालिया लेख में, उन्होंने जांच की कि ओरेकल को पेरकोना में कैसे स्थानांतरित किया जाए।

इस बार हम देखेंगे कि Oracle से MariaDB में माइग्रेट करने से पहले आपको क्या पता होना चाहिए।

MariaDB एंटरप्राइज़ सुविधाओं और माइग्रेशन सुविधाओं का वादा करती है जो Oracle डेटाबेस को ओपन सोर्स वर्ल्ड में माइग्रेट करने में मदद कर सकती हैं।

इस ब्लॉग पोस्ट में हम निम्नलिखित को शामिल करेंगे:

  • माइग्रेट क्यों करें?
  • भंडारण इंजन अंतर
  • डेटाबेस कनेक्टिविटी विचार
  • स्थापना और व्यवस्थापन सरलता
  • सुरक्षा मतभेद
  • प्रतिकृति और हा
  • PL/SQL और डेटाबेस कोड
  • क्लस्टरिंग और स्केलिंग
  • बैकअप और पुनर्प्राप्ति
  • क्लाउड अनुकूलता
  • विविध विचार

Oracle से माइग्रेट क्यों करें?

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

इन दो डेटाबेस सिस्टम की एक त्वरित तुलना इस प्रकार दिखती है:

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

ऐसी चीजें हैं जो बड़े पैमाने पर ओरेकल सेटअप की तुलना में मारियाडीबी/माईएसक्यूएल में हमेशा अधिक लचीली थीं। उनमें से एक प्रतिकृति की आसानी और क्षैतिज क्लस्टर मापनीयता है।

भंडारण इंजन अंतर

सबसे पहले, आइए कुछ बुनियादी बातों से शुरू करें। आप अभी भी MySQL या MariaDB सीमाओं के बारे में बहुत सारी किंवदंतियों और मिथकों को सुन सकते हैं, जो ज्यादातर उस अंधेरे समय को संदर्भित करते हैं जब मुख्य भंडारण इंजन MyISAM था।

MyISAM MySQL 3.23 से डिफ़ॉल्ट स्टोरेज इंजन था, जब तक कि इसे मारियाडीबी 5.5 में InnoDB द्वारा प्रतिस्थापित नहीं किया गया था। यह शानदार प्रदर्शन वाला एक हल्का, गैर-लेनदेन वाला इंजन है, लेकिन यह पंक्ति-स्तरीय लॉकिंग या InnoDB की विश्वसनीयता प्रदान नहीं करता है।

InnoDB (डिफॉल्ट स्टोरेज इंजन) के साथ, MariaDB दो मानक पंक्ति-स्तरीय ताले प्रदान करता है, जो साझा ताले (S) और अनन्य ताले (X) हैं। एक पंक्ति को पढ़ने के लिए एक साझा लॉक प्राप्त किया जाता है और अन्य लेनदेन को लॉक की गई पंक्ति को पढ़ने की अनुमति देता है। अलग-अलग लेन-देन अपने स्वयं के साझा ताले भी प्राप्त कर सकते हैं।
एक पंक्ति में लिखने के लिए विशेष लॉक प्राप्त किया जाता है और अतिरिक्त लेनदेन को उसी पंक्ति को लॉक करने से रोकता है।

InnoDB ने निश्चित रूप से इन दो प्रणालियों के बीच सबसे बड़े लेन-देन संबंधी सुविधा अंतर को कवर किया है।

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

फिर भी, Oracle से माइग्रेट करने वालों के लिए, मेरी सिफारिश होगी कि पहले InnoDB स्टोरेज इंजन के साथ जाएं।

कनेक्टिविटी संबंधी विचार

मारियाडीबी ओरेकल के साथ ओडीबीसी और जेडीबीसी ड्राइवरों सहित डेटाबेस एक्सेस के लिए अच्छे समर्थन के साथ-साथ पर्ल, पायथन और पीएचपी के लिए एक्सेस लाइब्रेरी साझा करता है। MySQL और Oracle दोनों बाइनरी बड़ी ऑब्जेक्ट्स, कैरेक्टर, न्यूमेरिक और डेट डेटा टाइप्स को सपोर्ट करते हैं। इसलिए आपको अपनी एप्लिकेशन सेवाओं के लिए सही कनेक्टर खोजने में कोई समस्या नहीं होनी चाहिए।

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

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

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

स्थापना और व्यवस्थापन सरलता

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

तो यह मारियाडीबी में कैसे काम करता है?

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

Oracle MySQL के बाइनरी वितरण का एक सेट प्रदान करता है। इनमें प्लेटफ़ॉर्म-विशिष्ट पैकेजों में कई प्लेटफ़ॉर्म और बायनेरिज़ के लिए संपीड़ित टार फ़ाइलों (एक .tar.gz एक्सटेंशन वाली फ़ाइलें) के रूप में जेनेरिक बाइनरी वितरण शामिल हैं। Windows प्लेटफ़ॉर्म पर, आप GUI के माध्यम से एक मानक इंस्टॉलेशन विज़ार्ड ढूंढ सकते हैं।

Oracle डेटाबेस कॉन्फ़िगरेशन सहायक (DBCA) की मूल रूप से आवश्यकता नहीं है क्योंकि आप सिंगल लाइन कमांड के साथ एक डेटाबेस बनाने में सक्षम होंगे।

CREATE [OR REPLACE] {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
    [create_specification] ...

create_specification:
    [DEFAULT] CHARACTER SET [=] charset_name
  | [DEFAULT] COLLATE [=] collation_name

आपके पास एक ही मारियाडीबी इंस्टेंस के तहत विभिन्न डेटाबेस कॉलेशन और कैरेक्टर सेट के साथ एक डेटाबेस भी हो सकता है।

प्रतिकृति सेटअप केवल मास्टर पर बाइनरी लॉगिंग को सक्षम करने के लिए है (ओरेकल में आर्काइव लॉग के समान) और इसे मास्टर से संलग्न करने के लिए दास पर निम्न आदेश चला रहा है।

CHANGE MASTER TO
MASTER_HOST = host,
MASTER_PORT = port,
MASTER_USER = replication_user,
MASTER_PASSWORD = password,
MASTER_AUTO_POSITION = 1;

सुरक्षा और अनुपालन

Oracle बेहतर डेटाबेस सुरक्षा प्रदान करता है।

उपयोगकर्ता प्रमाणीकरण Oracle में स्थान, उपयोगकर्ता नाम और पासवर्ड के अतिरिक्त वैश्विक भूमिकाओं को निर्दिष्ट करके किया जाता है। Oracle में, उपयोगकर्ता प्रमाणीकरण डेटाबेस प्रमाणीकरण, बाहरी प्रमाणीकरण और प्रॉक्सी प्रमाणीकरण सहित विभिन्न प्रमाणीकरण विधियों द्वारा किया जाता है।

लंबे समय तक मारियाडीबी या माईएसक्यूएल में भूमिकाएं उपलब्ध नहीं थीं। मारियाडीबी ने MySQL 8.0 में प्रदर्शित होने के बाद संस्करण 10.2 के साथ भूमिकाएँ जोड़ीं।

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

उपयोगकर्ता, पासवर्ड बनाएं, बदलें:यह सब Oracle DB के समान ही काम करता है।

एंटरप्राइज़ सुरक्षा अनुपालन मानकों को प्राप्त करने के लिए, MariaDB बिल्ट-इन सुविधाएँ प्रदान करता है जैसे:

  • ऑडिट प्लगइन में
  • डेटा-एट-रेस्ट का एन्क्रिप्शन
  • प्रमाण पत्र, टीएसएस कनेक्शन
  • PAM प्लगइन

ऑडिट प्लग इन ऑफ़र Oracle में उपलब्ध एक प्रकार का फाइन-ग्रेन्ड ऑडिटिंग (FGA) या AUDI SQL। यह सुविधाओं के समान सेट की पेशकश नहीं करता है, लेकिन आमतौर पर, यह सुरक्षा अनुपालन ऑडिट को पूरा करने के लिए पर्याप्त है।

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

PAM प्लगइन एलडीएपी सेटिंग्स के साथ तंग उपयोगकर्ता खातों में लॉगिंग कार्यक्षमता बढ़ाता है। वास्तव में, मुझे Oracle डेटाबेस के साथ LDAP एकीकरण की तुलना में इसे स्थापित करना बहुत आसान लगता है।

प्रतिकृति और HA

मारियाडीबी अपनी प्रतिकृति सादगी और लचीलेपन के लिए अच्छी तरह से जाना जाता है। डिफ़ॉल्ट रूप से, आप अपने स्टैंडबाय/स्लेव सर्वर को पढ़ या लिख ​​भी सकते हैं। सौभाग्य से, MySQL 10.X संस्करण प्रतिकृति के लिए कई महत्वपूर्ण संवर्द्धन लाए, जिसमें ग्लोबल ट्रांजैक्शन आईडी, इवेंट चेकसम, मल्टी-थ्रेडेड स्लेव और क्रैश-सेफ स्लेव / मास्टर्स शामिल हैं, जो प्रतिकृति को और भी बेहतर बनाते हैं। MySQL प्रतिकृति के आदी DBA पढ़ते और लिखते हैं, इसके बड़े भाई, Oracle से समान या सरल समाधान की अपेक्षा करेंगे। दुर्भाग्य से डिफ़ॉल्ट रूप से नहीं।

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

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

Oracle डेटाबेस 12c की एक रोमांचक विशेषता और कुछ ऐसा जो Oracle DBA को याद नहीं होगा वह है डेटा भ्रष्टाचार सत्यापन। Oracle डेटा गार्ड भ्रष्टाचार जाँच यह सुनिश्चित करने के लिए की जाती है कि डेटा को स्टैंडबाय डेटाबेस में कॉपी करने से पहले डेटा सटीक संरेखण में है। इस तंत्र का उपयोग सीधे स्टैंडबाय डेटाबेस से प्राथमिक पर डेटा ब्लॉक को पुनर्स्थापित करने के लिए भी किया जा सकता है।

मारियाडीबी विभिन्न प्रतिकृति विधियों और प्रतिकृति सुविधाओं की पेशकश करता है जैसे:

  • तुल्यकालिक,
  • एसिंक्रोनस,
  • अर्ध-तुल्यकालिक

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

PL/SQL और डेटाबेस कोड

अब हम कठिन भाग पर आते हैं:पीएल/एसक्यूएल।

जबकि मारियाडीबी के साथ प्रतिकृति और हा सर्वोच्च शासन करते हैं। इसमें कोई शक नहीं कि Oracle PL/SQL का बादशाह है।

पीएल/एसक्यूएल कई संगठनों में खुले स्रोत की दुनिया में प्रवास के लिए मुख्य बाधा है। लेकिन मारियाडीबी ने यहां हार नहीं मानी।

मारियाडीबी 10.3 (मारियाडीबी TX 3.0 के रूप में भी जाना जाता है) ने कुछ अद्भुत नई सुविधाओं को जोड़ा है जिसमें SEQUENCE निर्माण, Oracle-शैली पैकेज और ROW डेटा प्रकार शामिल हैं - जिससे माइग्रेशन बहुत आसान हो जाता है।

नए पैरामीटर SQL_MODE =ORACLE के साथ, MariaDB अब कोड को फिर से लिखे बिना, केस के आधार पर, विरासती Oracle PL/SQL के एक समूह को पार्स करने में सक्षम है।

जैसा कि हम मारियाडीबी TX 3.0 में कोर ओरेकल पीएल/एसक्यूएल संगतता का उपयोग करके उनके ग्राहक कहानी पृष्ठ पर पा सकते हैं, सिंगापुर का विकास बैंक (डीबीएस) ओरेकल से केवल 12 महीनों में अपने व्यापार-महत्वपूर्ण अनुप्रयोगों के आधे से अधिक माइग्रेट करने में सक्षम है। मारियाडीबी को डाटाबेस।

नया संगतता मोड निम्नलिखित सिंटैक्स के साथ मदद करता है:

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

लेकिन अगर हम पुराने संस्करण 10.2 पर एक नज़र डालें, तो Oracle और MariaDB के बीच कुछ संगतता पहले दिखाई दी:

  • सामान्य तालिका भाव
  • पुनरावर्ती SQL क्वेरी
  • Windows फ़ंक्शन, NTILETE, RANK, DENESE_RANK.

नेटिव पीएल/एसक्यूएल पार्सिंग या कुछ मामलों में मूल ओरेकल प्रक्रियाओं का प्रत्यक्ष निष्पादन विकास की लागत को काफी कम कर सकता है।

SQL_MODE=Oracle द्वारा जोड़ा गया एक और बहुत उपयोगी फीचर अनुक्रम है। मारियाडीबी सर्वर 10.3 में अनुक्रमों का कार्यान्वयन SQL:2003 मानक का अनुसरण करता है और इसमें Oracle के साथ सिंटैक्स संगतता शामिल है।

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

CREATE SEQUENCE Sequence_1 
  START WITH 1  
  INCREMENT BY 1;

जब बनाए गए अनुक्रमों का उपयोग उदाहरण के लिए इन्सर्ट के साथ किया जा सकता है जैसे:

INSERT INTO database (database_id, database_name) VALUES(Sequence_1.NEXTVAL, 'MariaDB');

क्लस्टरिंग और स्केलिंग

मारियाडीबी एक एसिंक्रोनस, सक्रिय-सक्रिय, मल्टी-मास्टर डेटाबेस क्लस्टर है।

मारियाडीबी क्लस्टर ओरेकल के मायएसक्यूएल क्लस्टर - एनडीबी से अलग है।

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

प्रमाणन परत राइट-सेट तैयार करती है और उन पर प्रमाणन जांच करती है, यह गारंटी देते हुए कि उन्हें लागू किया जा सकता है।

प्रतिकृति परत प्रतिकृति प्रोटोकॉल का प्रबंधन करती है और कुल आदेश क्षमता प्रदान करती है।

ग्रुप कम्युनिकेशन फ्रेमवर्क एक प्लगइन आर्किटेक्चर को लागू करता है जो अन्य सिस्टम को gcomm बैकएंड स्कीमा के माध्यम से कनेक्ट करने की अनुमति देता है।

Oracle RAC से मुख्य अंतर यह है कि प्रत्येक नोड ने डेटा को अलग किया है। Oracle RAC को आमतौर पर एक पूरक HA समाधान के रूप में गलत माना जाता है जबकि डिस्क आमतौर पर एक ही डिस्क सरणी में होते हैं। मारियाडीबी न केवल अनावश्यक भंडारण प्रदान करता है बल्कि यह समर्पित फाइबर की आवश्यकता के बिना भू स्थित क्लस्टरिंग का भी समर्थन करता है।

बैकअप और पुनर्प्राप्ति

Oracle हॉट बैकअप, बैकअप, आयात, निर्यात, और कई अन्य सहित कई बैकअप तंत्र प्रदान करता है।

MySQL के विपरीत, MariaDB मारियाबैकअप नामक हॉट बैकअप के लिए एक बाहरी उपकरण प्रदान करता है। यह Percona XtraBackup का एक कांटा है जिसे एन्क्रिप्टेड और संपीड़ित तालिकाओं के साथ काम करने के लिए डिज़ाइन किया गया है और यह MariaDB डेटाबेस के लिए अनुशंसित बैकअप विधि है।

मारियाडीबी सर्वर 10.1 ने मारियाडीबी संपीड़न और डेटा-एट-रेस्ट एन्क्रिप्शन की शुरुआत की, लेकिन मौजूदा बैकअप समाधान इन सुविधाओं के लिए पूर्ण बैकअप क्षमता का समर्थन नहीं करते थे। इसलिए MariaDB ने XtraBackup (संस्करण 2.3.8) का विस्तार करने का निर्णय लिया और इस समाधान का नाम Mariabackup रखा।

Percona और Mariabackup समान कार्यक्षमता प्रदान करते हैं, लेकिन यदि आप मतभेदों में रुचि रखते हैं, तो आप उन्हें यहां पा सकते हैं।

मारियाडीबी जो पेशकश नहीं करता है वह आपके डेटाबेस बैकअप की रिकवरी कैटलॉग है। सौभाग्य से, इसे ClusterControl जैसे तृतीय-पक्ष सिस्टम के साथ बढ़ाया जा सकता है।

क्लाउड संगतता

क्लाउड इन्फ्रास्ट्रक्चर इन दिनों तेजी से लोकप्रिय हो रहे हैं। हालांकि क्लाउड वीएम एंटरप्राइज़-ग्रेड सर्वर के रूप में विश्वसनीय नहीं हो सकता है, मुख्य क्लाउड प्रदाता सेवा उपलब्धता बढ़ाने के लिए विभिन्न प्रकार के टूल प्रदान करते हैं। आप EC2 आर्किटेक्चर या DBaaS जैसे Amazon RDS के बीच चयन कर सकते हैं।

अमेज़ॅन आरडीएस मारियाडीबी सर्वर 10.3.1 का समर्थन करता है। यह SQL_MODE=Oracle का समर्थन नहीं करता है लेकिन आप अभी भी सुविधाओं का एक सेट पा सकते हैं जिससे माइग्रेट करना आसान हो जाता है। Amazon क्लाउड सामान्य प्रबंधन कार्यों जैसे निगरानी, ​​बैकअप, बहु A-Z परिनियोजन, आदि का समर्थन करता है।

एक अन्य लोकप्रिय क्लाउड प्रदाता, Google क्लाउड, सबसे हालिया मारियाडीबी संस्करण भी प्रदान करता है। आप इसे एक कंटेनर या Bintami पुस्तकालय प्रमाणित VM छवि के रूप में परिनियोजित कर सकते हैं।

Azure भी MariaDB का अपना कार्यान्वयन प्रदान करता है। यह अमेज़ॅन आरडीएस के समान है, बैकअप, स्केलिंग और उच्च उपलब्धता में बनाता है। गारंटीशुदा SLA 99.99% है जो 4 मीटर 23 सेकंड प्रति माह डाउनटाइम के अनुरूप है।

विविध विचार

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

यदि आप तकनीक से परिचित नहीं हैं, तो इसे आजमाएं। आपको मंच के साथ आत्मविश्वास महसूस करना चाहिए और इसके पेशेवरों और विपक्षों को जानना चाहिए। परीक्षण से आत्मविश्वास बढ़ेगा और यह माइग्रेशन के संबंध में आपके निर्णयों को प्रभावित करता है।

दिलचस्प उपकरण हैं जो आपको सबसे कठिन पीएल/एसक्यूएल माइग्रेशन प्रक्रिया में मदद कर सकते हैं। तो दिलचस्प हैं dbconvert, AWS स्कीमा रूपांतरण उपकरण - AWS दस्तावेज़ीकरण।

पिछले कुछ वर्षों में MariaDB ने महत्वपूर्ण और जटिल डेटा लेनदेन प्रणाली चलाने के लिए एंटरप्राइज़ समर्थन और परिपक्वता प्राप्त की है। हाल के संस्करण के साथ, मारियाडीबी ने SQL_Mode=Oracle संगतता जैसी कुछ बेहतरीन नई सुविधाएँ जोड़ी हैं, जिससे संक्रमण प्रक्रिया पहले से कहीं अधिक आसान हो गई है।

अंत में, आप 12 मार्च को मेरे साथ एक वेबिनार के लिए जुड़ सकते हैं, जिसके दौरान मैं आपको वह सब कुछ बताऊंगा जो आपको Oracle डेटाबेस से MariaDB में माइग्रेट करने के बारे में जानने की आवश्यकता है।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ClusterControl का उपयोग करके MySQL और MariaDB डेटा की पॉइंट-इन-टाइम रिकवरी कैसे करें

  2. एक हाइब्रिड क्लाउड सेटअप में मारियाडीबी चलाना

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

  4. मारियाडीबी एक्सपैंड का अवलोकन (पूर्व में ClustrixDB)

  5. डॉकर, जावा स्प्रिंग और जेडीबीसी का उपयोग करके मारियाडीबी के साथ शुरुआत करना