কম্পিউটার

Amazon ElastiCache থেকে Redis Enterprise ক্লাউডে অনলাইন ডেটাবেস মাইগ্রেশন সহজ করা হয়েছে

বর্তমানে উপলব্ধ বেশিরভাগ ডাটাবেস মাইগ্রেশন টুল অফলাইন প্রকৃতির। এগুলি জটিল এবং ম্যানুয়াল হস্তক্ষেপ প্রয়োজন।

আপনি যদি আপনার ডেটা Amazon ElastiCache থেকে Redis Enterprise ক্লাউডে স্থানান্তর করতে চান, উদাহরণস্বরূপ, স্বাভাবিক প্রক্রিয়া হল আপনার ElastiCache ডেটা একটি Amazon S3 বাকেটে ব্যাক আপ করা এবং তারপর Redis Enterprise Cloud UI ব্যবহার করে আপনার ডেটা আমদানি করা৷ এই প্রক্রিয়াটি বেদনাদায়ক ডাউনটাইম প্রয়োজন হতে পারে এবং এর ফলে ডেটা ক্ষতি হতে পারে। অন্যান্য উপলব্ধ কৌশলগুলির মধ্যে রয়েছে সোর্স রেডিস সার্ভারের পয়েন্ট-ইন-টাইম স্ন্যাপশট তৈরি করা এবং উভয় সার্ভারকে সিঙ্কে রাখতে গন্তব্য সার্ভারে পরিবর্তনগুলি প্রয়োগ করা। এটি একটি ভাল পদ্ধতির মত শোনাতে পারে, তবে এটি চ্যালেঞ্জিং হতে পারে যখন আপনাকে মাইগ্রেশন কৌশল বাস্তবায়নের জন্য কয়েক ডজন স্ক্রিপ্ট বজায় রাখতে হবে।

তাই আমরা একটি ভিন্ন পদ্ধতি নিয়ে এসেছি:

পরিচয় RIOT 

RIOT হল একটি ওপেন সোর্স অনলাইন মাইগ্রেশন টুল যা Redis-এর একজন সলিউশন আর্কিটেক্ট Julien Ruaux দ্বারা নির্মিত৷ RIOT একটি প্রযোজক/ভোক্তা পদ্ধতি ব্যবহার করে ক্লায়েন্ট-সাইড প্রতিলিপি প্রয়োগ করে। প্রযোজক হল কী এবং মান পাঠকদের সমন্বয় যা ইলাস্টিক্যাশের সাথে একটি সংযোগ রয়েছে। মূল পাঠক উপাদান স্ক্যান এবং কীস্পেস বিজ্ঞপ্তিগুলি ব্যবহার করে প্রতিলিপি করা কীগুলি সনাক্ত করে। প্রতিটি কী-এর জন্য, ভ্যালু রিডার কম্পোনেন্ট একটি DUMP সঞ্চালন করে এবং ভোক্তার (লেখক) কাছে ফলাফল কী+বাইটগুলি পরিচালনা করে, যা Redis এন্টারপ্রাইজ সংযোগে একটি পুনরুদ্ধার করে।

Amazon ElastiCache থেকে Redis Enterprise ক্লাউডে অনলাইন ডেটাবেস মাইগ্রেশন সহজ করা হয়েছে

এই ব্লগ পোস্টটি দেখাবে কিভাবে ইলাস্টিক্যাচে থেকে রেডিস এন্টারপ্রাইজ ক্লাউডে ডেটাবেসগুলির একটি বিরামহীন অনলাইন স্থানান্তর করতে হয়৷

মিস করবেন না:একটি DBaaS প্রদানকারী বেছে নেওয়ার সময় বিবেচনা করার জন্য 6 মূল বৈশিষ্ট্যগুলি এবং কিভাবে রেডিস এন্টারপ্রাইজ ক্লাউড AWS-এ পরিপক্ক এন্টারপ্রাইজ গ্রাহকদের চাহিদা পূরণ করে

পূর্বশর্ত:

মাইগ্রেশন টুল ব্যবহার করার জন্য আপনার কিছু সম্পদের প্রয়োজন হবে:

  1. একটি রেডিস এন্টারপ্রাইজ ক্লাউড সাবস্ক্রিপশন
  2. Amazon ElastiCache (একক-মাস্টার EC-এর ক্ষেত্রে একটি প্রাথমিক এন্ডপয়েন্ট এবং একটি ক্লাস্টারড EC-এর ক্ষেত্রে একটি কনফিগারেশন এন্ডপয়েন্ট:আরও জানতে ইলাস্টিক্যাচে ডকুমেন্টেশনে সংযোগের শেষ পয়েন্ট খুঁজে দেখুন)
  3. লিনাক্সের উপর ভিত্তি করে একটি Amazon EC2 উদাহরণ

Amazon EC2 ইন্সট্যান্স সেট আপ করা হচ্ছে

আপনি হয় একটি নতুন EC2 দৃষ্টান্ত তৈরি করতে পারেন বা একটি বিদ্যমান একটি লিভারেজ করতে পারেন৷ আমাদের উদাহরণে, আমরা প্রথমে Amazon Web Services (AWS) এ একটি উদাহরণ তৈরি করব। সবচেয়ে সাধারণ দৃশ্য হল একই অ্যামাজন ভার্চুয়াল প্রাইভেট ক্লাউড (অ্যামাজন ভিপিসি) এ অ্যামাজন EC2 ইন্সট্যান্স থেকে একটি ইলাস্টিক্যাচে ক্লাস্টার অ্যাক্সেস করা। আমরা এই সেটআপের জন্য Ubuntu 16.04 LTS ব্যবহার করেছি, কিন্তু আপনি আপনার পছন্দের উবুন্টু বা ডেবিয়ান ডিস্ট্রিবিউশন বেছে নিতে পারেন।

এখানে দেখানো হিসাবে আপনার কম্পিউটার থেকে এই নতুন EC2 দৃষ্টান্তের সাথে সংযোগ করতে SSH ব্যবহার করুন:

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

এই কমান্ডটি চালিয়ে এই নতুন উদাহরণে redis-cli টুলটি ইনস্টল করুন:

$ 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

নিশ্চিত করুন যে উপরের কমান্ডটি আপনাকে রিমোট রেডিস ডাটাবেসের সাথে সফলভাবে সংযোগ করতে দেয়।

RIOT মাইগ্রেশন টুল ব্যবহার করে

Amazon ElastiCache থেকে Redis Enterprise ক্লাউডে অনলাইন ডেটাবেস মাইগ্রেশন সহজ করা হয়েছে

মাইগ্রেশন টুল সেট আপ করতে নিচের কমান্ড চালান।

পূর্বশর্ত:

জাভা ইনস্টল করুন:আমরা 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

একবার Java এবং RIOT ইনস্টল হয়ে গেলে, আমরা নীচের কমান্ডের মাধ্যমে মাইগ্রেশন প্রক্রিয়া শুরু করতে প্রস্তুত, যা সরাসরি উৎস (ElastiCache) থেকে লক্ষ্যে (Redis Enterprise Cloud) ডেটা প্রতিলিপি করে।

অবশেষে, নীচের কমান্ডটি চালিয়ে ইলাস্টিক্যাচে থেকে রেডিস এন্টারপ্রাইজ ক্লাউডে ডেটা প্রতিলিপি করার সময় এসেছে:

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

ElastiCache আপনাকে দুটি উপায়ে কনফিগার করতে দেয়:ক্লাস্টারড এবং নন-ক্লাস্টারড। নীচের চার্টে, প্রথম সারিটি দেখায় যে নন-ক্লাস্টারড দৃশ্যের জন্য আপনাকে কোন কমান্ডগুলি সম্পাদন করতে হবে, যখন দ্বিতীয় সারিটি একটি নির্দিষ্ট ডাটাবেস নেমস্পেস সহ ক্লাস্টারযুক্ত দৃশ্যের জন্য কমান্ড দেখায়:

Amazon ElastiCache থেকে Redis Enterprise ক্লাউডে অনলাইন ডেটাবেস মাইগ্রেশন সহজ করা হয়েছে

আপনি দেখতে পাচ্ছেন, যখনই আপনার কাছে একটি ক্লাস্টারড ইলাস্টিক্যাচে থাকবে, আপনাকে উৎস ইলাস্টিক্যাচে এন্ডপয়েন্ট উল্লেখ করার আগে –ক্লাস্টার বিকল্পটি পাস করতে হবে৷

গুরুত্বপূর্ণ নোট

  • উৎপাদনে ব্যবহার করার আগে মাইগ্রেশনের ব্যবহারকারীর গ্রহণযোগ্যতা পরীক্ষা করুন।
  • একবার মাইগ্রেশন সম্পূর্ণ হলে, নিশ্চিত করুন যে অ্যাপ্লিকেশন ট্র্যাফিক সফলভাবে Redis Enterprise এন্ডপয়েন্টে পুনঃনির্দেশিত হয়েছে।
  • ডেটা হারানোর সম্ভাবনা কমাতে কম ট্রাফিকের সময় মাইগ্রেশন প্রক্রিয়াটি সম্পাদন করুন।

উপসংহার

আপনি যদি একটি সহজ এবং সহজেই ব্যবহারযোগ্য লাইভ মাইগ্রেশন টুল খুঁজছেন যা আপনাকে Amazon ElastiCache থেকে রেডিস এন্টারপ্রাইজ ক্লাউডে ডাউনটাইম ছাড়াই ডেটা স্থানান্তর করতে সাহায্য করতে পারে, RIOT হল একটি প্রতিশ্রুতিশীল বিকল্প৷

রেফারেন্স:

  • RIOT – রিডিস ইনপুট/আউটপুট টুলস

  1. কীভাবে আপনার ডাইনোমাইট ডেটাবেসকে একটি রেডিস এন্টারপ্রাইজ সক্রিয়-সক্রিয় ডেটাবেসে স্থানান্তর করবেন

  2. কেন একটি ডাইনোমাইট ডেটাবেসকে একটি রেডিস এন্টারপ্রাইজ সক্রিয়-সক্রিয় ডেটাবেসে স্থানান্তরিত করবেন?

  3. অ্যামাজন সিম্পল স্টোরেজ সার্ভিসের সাথে ওরাকল ব্যাক আপ করুন

  4. Redis MOVE - কিভাবে redis-এ এক থেকে অন্য ডাটাবেসে কী সরানো যায়