DBEngines.com के अनुसार, MySQL डेटाबेस और PostgreSQL डेटाबेस दोनों ओपन सोर्स रिलेशनल डेटाबेस मैनेजमेंट सिस्टम (RDBMS) क्रमशः 2 और 4 रैंक पर हैं। दोनों को C में लागू किया गया है (C++ का उपयोग MySQL डेटाबेस के लिए भी किया जाता है) और दोनों समान सुविधाएँ प्रदान करते हैं, जैसे XML सपोर्ट, सेकेंडरी इंडेक्स, कंसीडर, ड्यूरेबिलिटी और यूजर-डिफ़ाइंड फ़ंक्शंस। PostgreSQL डेटाबेस कई फायदे प्रदान करता है, जिनमें से कुछ इस प्रकार हैं:
- बहु-आयामी सरणियों और उपयोगकर्ता-परिभाषित प्रकारों जैसे उन्नत डेटा प्रकारों का समर्थन करता है
- कॉमन टेबल एक्सप्रेशन (सीटीई) और विंडो फ़ंक्शन PostgreSQL 8.4 के बाद से उपलब्ध हैं, जबकि केवल संस्करण 8.0 में MySQL में जोड़ा जा रहा है
- पूर्ण बाहरी जुड़ाव का समर्थन करता है
- एक 'स्थिर तालिका' उत्पन्न करने के लिए VALUES सूचियों का समर्थन करता है जिसका उपयोग किसी क्वेरी में किया जा सकता है
- सेट रिटर्निंग फंक्शन जेनरेट_सीरीज का समर्थन करता है
- संस्करण 9.6 के बाद से प्रश्नों का तेजी से उत्तर देने के लिए एकाधिक CPU का उपयोग करते हुए समानांतर प्रश्नों का समर्थन करता है
- भौतिक दृश्यों का समर्थन करता है
यदि MySQL से PostgreSQL डेटाबेस AWS में माइग्रेट हो रहा है, तो DMS (डेटाबेस माइग्रेशन सर्विस) निरंतर डेटा प्रतिकृति के लिए शून्य-डाउनटाइम के साथ एक विश्वसनीय प्रबंधित सेवा प्रदान करता है। चार ट्यूटोरियल में, हम एक MySQL डेटाबेस इंस्टेंस को PostgreSQL डेटाबेस में माइग्रेट करने पर चर्चा करेंगे, दोनों AWS रिलेशनल डेटाबेस सर्विस (RDS) पर चल रहे हैं। इस ट्यूटोरियल में निम्नलिखित भाग हैं:
- पर्यावरण की स्थापना
- डीएमएस के लिए आईएएम उपयोगकर्ता बनाना
पर्यावरण की स्थापना
केवल पूर्व-आवश्यकता एक AWS खाता है, जिसे इस लिंक पर बनाया जा सकता है। यदि कोई मास्टर कुंजी पहले से उपलब्ध नहीं है, तो DMS के साथ उपयोग करने के लिए KMS मास्टर एन्क्रिप्शन कुंजी बनाएँ। KMS मास्टर कुंजी IAM>एन्क्रिप्शन कुंजियों . से बनाई जाती है डैशबोर्ड। हमने इस ट्यूटोरियल में "dbms" नामक KMS मास्टर एन्क्रिप्शन कुंजी का उपयोग किया है।
RDS पर MySQL और PostgreSQL डेटाबेस इंस्टेंस से कनेक्ट करने के लिए क्लाइंट इंटरफ़ेस एप्लिकेशन का उपयोग करने के लिए स्थानीय मशीन पर MySQL डेटाबेस और PostgreSQL डेटाबेस स्थापित करें।
DMS के लिए IAM उपयोगकर्ता बनाना
DMS कई अन्य AWS सेवाओं के साथ पूरी तरह से एकीकृत है, जैसे डेटाबेस के लिए RDS, पहचान और एक्सेस प्रबंधन के लिए IAM, डेटा एन्क्रिप्शन के लिए KMS, और लॉगिंग के लिए CloudWatch। DMS माइग्रेशन के लक्ष्य के रूप में S3 (सिंपल स्टोरेज सर्विस) का भी समर्थन करता है। इस खंड में, हम एक IAM उपयोगकर्ता बनाएंगे जिसका उपयोग DMS के साथ एक MySQL डेटाबेस इंस्टेंस को PostgreSQL डेटाबेस में माइग्रेट करने के लिए किया जाता है। IAM उपयोगकर्ता इस प्रकार बनाया गया है:
- सभी आवश्यक अनुमतियों और नीति विवरणों के साथ एक IAM नीति बनाएं।
- IAM नीति के आधार पर IAM उपयोगकर्ता बनाएं।
IAM नीति बनाने के लिए, नीति बनाएं पर क्लिक करें IAM डैशबोर्ड में, जैसा कि चित्र 1 में दिखाया गया है।
चित्र 1: नीति बनाएं
नीति बनाएं . में विज़ार्ड, अपनी खुद की नीति बनाएं select चुनें , जैसा कि चित्र 2 में दिखाया गया है।
चित्र 2: अपनी खुद की नीति बनाएं विकल्प का चयन करना
नीति की समीक्षा करें . में , एक नीति का नाम निर्दिष्ट करें (डीएमएस)। फिर, निम्न नीति दस्तावेज़ को नीति दस्तावेज़ . में कॉपी करें क्षेत्र या क्षेत्र।
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "dms:*", "Resource": "*" }, { "Effect": "Allow", "Action": "s3:*", "Resource": "*" }, { "Effect": "Allow", "Action": "ds:*", "Resource": "*" }, { "Effect": "Allow", "Action": "rds:*", "Resource": "*" }, { "Effect": "Allow", "Action": "kms:*", "Resource": "*" }, { "Effect": "Allow", "Action": "iam:*", "Resource": "*" }, { "Effect": "Allow", "Action": "ec2:*", "Resource": "*" }, { "Effect": "Allow", "Action": "cloudwatch:*", "Resource": "*" }, { "Effect": "Allow", "Action": "aws-marketplace:*", "Resource": "*" }, { "Effect": "Allow", "Action": "logs:*", "Resource": "*" } ] }
नीति दस्तावेज़ लॉगिंग के लिए CloudWatch और डेटाबेस के लिए RDS तक पहुँचने के लिए अनुमतियाँ जोड़ता है। नीति सत्यापित करें क्लिक करें और, यदि संदेश "नीति मान्य है" है, तो नीति बनाएं click क्लिक करें , जैसा कि चित्र 3 में दिखाया गया है।
चित्र 3: नीति बनाएं
यदि नीति बनाई जाती है, तो चित्र 4 में दिखाया गया संदेश प्रदर्शित होना चाहिए।
चित्र 4: डीएमएस बनाया गया है
इसके बाद, एक IAM उपयोगकर्ता जोड़ें। उपयोगकर्ताओं . का चयन करें IAM डैशबोर्ड में और उपयोगकर्ता जोड़ें click क्लिक करें , जैसा चित्र 5 में दिखाया गया है।
चित्र 5: उपयोगकर्ता जोड़ें
एक उपयोगकर्ता नाम निर्दिष्ट करें (द्वोहरा)। फिर, पहुंच प्रकार . के लिए सूचीबद्ध दोनों विकल्पों का चयन करें (चित्र 6 देखें)।
चित्र 6: उपयोगकर्ता विवरण जोड़ना
कस्टम पासवर्ड चुनें कंसोल पासवर्ड . के लिए विकल्प , पासवर्ड निर्दिष्ट करें, और अगला:अनुमतियां click क्लिक करें , जैसा चित्र 7 में दिखाया गया है।
चित्र 7: एक्सेस प्रकार कॉन्फ़िगर करना
इसके बाद, उपयोगकर्ता के लिए अनुमतियां सेट करें। मौजूदा नीतियों को सीधे संलग्न करें Click क्लिक करें , जैसा कि चित्र 8 में दिखाया गया है।
चित्र 8: मौजूदा नीतियों को सीधे संलग्न करें
नीति प्रकार . में फ़िल्टर करें, "DMS" खोजें, जो कि पहले बनाई गई नीति है। चित्र 9 में दिखाए अनुसार DMS नीति चुनें, और अगला क्लिक करें।
चित्र 9: DMS नीति का चयन करना
समीक्षा . में , DMS नीति को प्रबंधित नीति . के रूप में सूचीबद्ध किया जाना चाहिए अनुमतियों . में सारांश। उपयोगकर्ता बनाएं क्लिक करें , जैसा कि चित्र 10 में दिखाया गया है।
चित्र 10: उपयोगकर्ता बनाएं
IAM उपयोगकर्ता बन जाता है (चित्र 11 देखें)।
चित्र 11: IAM उपयोगकर्ता बनाया गया
IAM उपयोगकर्ता IAM>उपयोगकर्ताओं . में सूचीबद्ध हो जाता है डैशबोर्ड, जैसा कि चित्र 12 में दिखाया गया है।
चित्र 12: आईएएम उपयोगकर्ता
IAM उपयोगकर्ता के रूप में लॉग इन करने के लिए, उपयोगकर्ता के लिए लिंक पर क्लिक करें, सुरक्षा क्रेडेंशियल चुनें टैब, और कंसोल लॉगिन लिंक की प्रतिलिपि बनाएँ , जैसा कि चित्र 13 में दिखाया गया है।
चित्र 13: कंसोल लॉगिन लिंक
बाद के अनुभागों के लिए कंसोल लॉगिन लिंक का उपयोग करके बनाए गए IAM उपयोगकर्ता के रूप में लॉग इन करें।
निष्कर्ष
आरडीएस पर एक MySQL डेटाबेस इंस्टेंस को आरडीएस पर एक पोस्टग्रेस डेटाबेस इंस्टेंस में माइग्रेट करने पर चार ट्यूटोरियल में से, हमने माइग्रेशन करने के लिए एक आईएएम उपयोगकर्ता बनाया है।