Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Redis

Amazon ElastiCache से Redis Enterprise Cloud में ऑनलाइन डेटाबेस माइग्रेशन सरल बनाया गया

आज उपलब्ध अधिकांश डेटाबेस माइग्रेशन टूल प्रकृति में ऑफ़लाइन हैं। वे जटिल हैं और मैन्युअल हस्तक्षेप की आवश्यकता है।

यदि आप अपने डेटा को Amazon ElastiCache से Redis Enterprise Cloud में माइग्रेट करना चाहते हैं, उदाहरण के लिए, सामान्य प्रक्रिया यह है कि आप अपने ElastiCache डेटा को Amazon S3 बकेट में बैकअप लें और फिर Redis Enterprise Cloud UI का उपयोग करके अपना डेटा आयात करें। इस प्रक्रिया में दर्दनाक डाउनटाइम की आवश्यकता हो सकती है और इसके परिणामस्वरूप डेटा हानि हो सकती है। अन्य उपलब्ध तकनीकों में स्रोत रेडिस सर्वर के पॉइंट-इन-टाइम स्नैपशॉट बनाना और दोनों सर्वरों को सिंक में रखने के लिए गंतव्य सर्वर में परिवर्तन लागू करना शामिल है। यह एक अच्छे दृष्टिकोण की तरह लग सकता है, लेकिन यह चुनौतीपूर्ण हो सकता है जब आपको माइग्रेशन रणनीति को लागू करने के लिए दर्जनों लिपियों को बनाए रखना होगा।

इसलिए हम एक अलग तरीका लेकर आए हैं:

पेश है दंगा 

RIOT एक ओपन सोर्स ऑनलाइन माइग्रेशन टूल है, जिसे रेडिस के सॉल्यूशन आर्किटेक्ट जूलियन रूक्स द्वारा बनाया गया है। RIOT एक निर्माता/उपभोक्ता दृष्टिकोण का उपयोग करके क्लाइंट-साइड प्रतिकृति को लागू करता है। निर्माता कुंजी और मूल्य पाठकों का संयोजन है जिनका इलास्टी कैश से संबंध है। मुख्य पाठक घटक स्कैन और कीस्पेस सूचनाओं का उपयोग करके दोहराई जाने वाली कुंजियों की पहचान करता है। प्रत्येक कुंजी के लिए, मूल्य पाठक घटक एक डंप करता है और परिणामी कुंजी + बाइट्स को उपभोक्ता (लेखक) को संभालता है, जो रेडिस एंटरप्राइज कनेक्शन पर एक RESTORE करता है।

Amazon ElastiCache से Redis Enterprise Cloud में ऑनलाइन डेटाबेस माइग्रेशन सरल बनाया गया

यह ब्लॉग पोस्ट दिखाएगा कि इलास्टी कैश से रेडिस एंटरप्राइज क्लाउड में डेटाबेस का एक सहज ऑनलाइन माइग्रेशन कैसे किया जाता है।

छोड़ें नहीं: 6 प्रमुख विशेषताएं जिन्हें DBaaS प्रदाता चुनते समय ध्यान में रखा जाना चाहिए और Redis Enterprise Cloud AWS पर परिपक्व होने वाले एंटरप्राइज़ ग्राहकों की ज़रूरतों को कैसे पूरा करता है

आवश्यकताएं:

माइग्रेशन टूल का उपयोग करने के लिए आपको कुछ संसाधनों की आवश्यकता होगी:

  1. एक रेडिस एंटरप्राइज क्लाउड सदस्यता
  2. Amazon ElastiCache (एकल मास्टर ईसी के मामले में एक प्राथमिक एंडपॉइंट और क्लस्टर ईसी के मामले में एक कॉन्फ़िगरेशन एंडपॉइंट:अधिक जानने के लिए ElastiCache दस्तावेज़ पर कनेक्शन एंडपॉइंट ढूँढना देखें)
  3. लिनक्स पर आधारित Amazon EC2 इंस्टेंस

Amazon EC2 इंस्टेंस सेट करना

आप या तो एक नया EC2 इंस्टेंस बना सकते हैं या किसी मौजूदा इंस्टेंस का लाभ उठा सकते हैं। हमारे उदाहरण में, हम पहले Amazon Web Services (AWS) पर एक उदाहरण बनाएंगे। सबसे आम परिदृश्य एक ही अमेज़ॅन वर्चुअल प्राइवेट क्लाउड (अमेज़ॅन वीपीसी) में अमेज़ॅन ईसी 2 इंस्टेंस से इलास्टी कैश क्लस्टर तक पहुंचना है। हमने इस सेटअप के लिए उबंटू 16.04 एलटीएस का उपयोग किया है, लेकिन आप अपनी पसंद का उबंटू या डेबियन वितरण चुन सकते हैं।

अपने कंप्यूटर से इस नए EC2 इंस्टेंस से कनेक्ट करने के लिए SSH का उपयोग करें जैसा कि यहां दिखाया गया है:

ssh -i “public key” <AWS EC2 Instance>

इस कमांड को चलाकर इस नए इंस्टेंस पर रेडिस-क्ली टूल इंस्टॉल करें:

$ sudo apt update
# sudo apt install -y redis-tools

ElastiCache डेटाबेस के साथ कनेक्टिविटी को सत्यापित करने के लिए redis-cli का उपयोग करना

वाक्यविन्यास:

$ redis-cli -h <Elasticache Primary Endpoint > -p 6379

कमांड:

$ sudo redis-cli -h <elasticache primary endpoint> -p 6379

सुनिश्चित करें कि उपरोक्त आदेश आपको दूरस्थ Redis डेटाबेस से सफलतापूर्वक कनेक्ट करने की अनुमति देता है।

RIOT माइग्रेशन टूल का उपयोग करना

Amazon ElastiCache से Redis Enterprise Cloud में ऑनलाइन डेटाबेस माइग्रेशन सरल बनाया गया

माइग्रेशन टूल सेट करने के लिए नीचे दिए गए कमांड चलाएँ।

आवश्यकताएं:

जावा स्थापित करें:हमने OpenJDK 11 या बाद के संस्करण का उपयोग करने की अनुशंसा की:

sudo add-apt-repository ppa:openjdk-r/ppa && sudo apt-get update -q && sudo apt install -y openjdk-11-jdk

RIOT इंस्टॉल करना 

पैकेज को अनज़िप करें और सुनिश्चित करें कि RIOT बायनेरिज़ जगह में हैं, जैसा कि यहाँ दिखाया गया है:

wget https://github.com/Redislabs-Solution-Architects/riot/releases/download/v2.0.8/riot-redis-2.0.8.zip



unzip riot-redis-2.0.8.zip
cd riot-redis-2.0.8/bin/

आप नीचे दिए गए आदेश को चलाकर RIOT के संस्करण की जांच कर सकते हैं:

./riot-redis --version
RIOT version "2.0.8"


 bin/riot-redis --help
Usage: riot-redis [OPTIONS] [COMMAND]
  -q, --quiet         Log errors only
  -d, --debug         Log in debug mode (includes normal stacktrace)
  -i, --info          Set log level to info
  -h, --help          Show this help message and exit.
  -V, --version       Print version information and exit.
Redis connection options
  -r, --redis=<uri>   Redis connection string (default: redis://localhost:6379)
  -c, --cluster       Connect to a Redis Cluster
  -m, --metrics       Show metrics
  -p, --pool=<int>    Max pool connections (default: 8)
Commands:
  replicate, r  Replicate a source Redis database in a target Redis database
  info, i       Display INFO command output
  latency, l    Calculate latency stats
  ping, p       Execute PING command

एक बार जावा और आरआईओटी स्थापित हो जाने के बाद, हम नीचे दिए गए कमांड के साथ माइग्रेशन प्रक्रिया शुरू करने के लिए पूरी तरह तैयार हैं, जो डेटा को सीधे स्रोत (इलास्टी कैश) से लक्ष्य (रेडिस एंटरप्राइज क्लाउड) में दोहराता है।

अंत में, नीचे दिए गए आदेश को चलाकर इलास्टी कैश से डेटा को रेडिस एंटरप्राइज क्लाउड में दोहराने का समय आ गया है:

sudo ./riot-redis -r redis://<source Elasticache endpoint>:6379 replicate -r redis://password@<Redis Enterprise Cloud endpoint>:port --live

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

Amazon ElastiCache से Redis Enterprise Cloud में ऑनलाइन डेटाबेस माइग्रेशन सरल बनाया गया

जैसा कि आप देख सकते हैं, जब भी आपके पास एक संकुल ElastiCache होता है, तो आपको स्रोत ElastiCache समापन बिंदु निर्दिष्ट करने से पहले –cluster विकल्प को पास करना होगा।

महत्वपूर्ण नोट

  • उत्पादन में उपयोग करने से पहले माइग्रेशन का उपयोगकर्ता स्वीकृति परीक्षण करें।
  • एक बार माइग्रेशन पूरा हो जाने के बाद, सुनिश्चित करें कि एप्लिकेशन ट्रैफ़िक सफलतापूर्वक Redis Enterprise समापन बिंदु पर पुनर्निर्देशित हो जाता है।
  • डेटा हानि की संभावना को कम करने के लिए कम ट्रैफ़िक की अवधि के दौरान माइग्रेशन प्रक्रिया निष्पादित करें।

निष्कर्ष

यदि आप एक सरल और उपयोग में आसान लाइव माइग्रेशन टूल की तलाश में हैं जो बिना डाउनटाइम के Amazon ElastiCache से Redis Enterprise Cloud में डेटा स्थानांतरित करने में आपकी सहायता कर सकता है, RIOT एक आशाजनक विकल्प है।

संदर्भ:

  • RIOT - रेडिस इनपुट/आउटपुट टूल

  1. डायनोमाइट डेटाबेस को रेडिस एंटरप्राइज एक्टिव-एक्टिव डेटाबेस में माइग्रेट क्यों करें?

    2009 में इसके निर्माण के बाद से, Redis OSS का एक बहुत ही जीवंत ओपन सोर्स समुदाय रहा है। इसके चारों ओर कई उपकरण और उपयोगिताओं का विकास किया गया है और गैर-वितरित डेटास्टोर के लिए एक पीयर-टू-पीयर भू-वितरण परत डायनामाइट उनमें से एक है। डायनामाइट को नेटफ्लिक्स में इंजीनियरों की एक टीम द्वारा विकसित किया

  1. Amazon सिंपल स्टोरेज सर्विस के साथ Oracle का बैकअप लें

    यह ब्लॉग पोस्ट समीक्षा करता है कि Oracle® डेटाबेस बैकअप के लिए Amazon Simple Storage Service (S3) को स्टोरेज के रूप में कैसे उपयोग किया जाए। Amazon Web Services (AWS) पहला क्लाउडवेंडर था जिसके साथ Oracle ने क्लाउड में डेटाबेस बैकअप को सक्षम करने के लिए भागीदारी की थी। S3 AWS की मुख्य भंडारण पेशकश है

  1. रेडिस मूव - रेडिस में एक से दूसरे डेटाबेस में कुंजी कैसे स्थानांतरित करें?

    इस ट्यूटोरियल में, हम सीखेंगे कि रेडिस डेटास्टोर में एक डेटाबेस से दूसरे डेटाबेस में एक कुंजी को कैसे स्थानांतरित किया जाए। इसके लिए हम एक COMMAND का उपयोग करेंगे - MOVE रेडिस-क्ली में। इस आदेश का उपयोग वर्तमान में चयनित डेटाबेस से निर्दिष्ट कुंजी को निकालने और उसी कुंजी को गंतव्य में डालने के लिए