Replication হল একটি প্রক্রিয়া যার মাধ্যমে এক বা একাধিক ডেটাবেসের কপি তৈরি করা হয়, যাতে মূল ডেটাবেসের ডেটা একটি বা একাধিক রেপ্লিকা সার্ভারে স্বয়ংক্রিয়ভাবে সিঙ্ক্রোনাইজড থাকে। এটি Data Backup এবং Recovery এর জন্য অত্যন্ত কার্যকর একটি পদ্ধতি, কারণ রেপ্লিকেশন ব্যবহার করে আপনি ডেটার একটি কপি তৈরি করতে পারেন এবং জরুরি অবস্থায় মূল সার্ভারের ডেটা পুনরুদ্ধার করতে পারেন।
Replication এর মাধ্যমে Data Backup এবং Recovery-এর সুবিধা
- ডেটা সুরক্ষা (Data Protection):
- রেপ্লিকেশন মূল ডেটাবেসের কপির মাধ্যমে ডেটাকে সুরক্ষিত রাখে। মূল সার্ভার বা ডেটাবেসে কোনো সমস্যা হলে, রেপ্লিকা সার্ভার থেকে ডেটা পুনরুদ্ধার করা যায়।
- উচ্চ প্রাপ্যতা (High Availability):
- রেপ্লিকেশন নিশ্চিত করে যে ডেটা সর্বদা উপলব্ধ থাকে। যদি মূল সার্ভারে কোনো সমস্যা হয়, তবে রেপ্লিকা সার্ভার থেকে ডেটা পাওয়া যাবে, যা সার্ভারের ডাউনটাইম কমাতে সহায়তা করে।
- বিপর্যয় পুনরুদ্ধার (Disaster Recovery):
- রেপ্লিকেশন ব্যবহার করে সহজেই বিপর্যয়ের সময় মূল ডেটাবেসের কপি থেকে ডেটা পুনরুদ্ধার করা যায়। যেকোনো বিপর্যয়ের সময়ে ডেটার পুনঃস্থাপনের জন্য এটি একটি কার্যকর সমাধান।
- ব্যাকআপের বিকল্প (Alternative to Backup):
- রেপ্লিকেশন মূলত ব্যাকআপের বিকল্প হতে পারে। মূল সার্ভারের সাথে সিঙ্ক্রোনাইজড রেপ্লিকা সার্ভারের মাধ্যমে ডেটার কপি রাখা হয়, যা পুনরুদ্ধারের জন্য প্রস্তুত থাকে।
Replication Types (রেপ্লিকেশন ধরন)
রেপ্লিকেশন ব্যবহার করে ডেটার কপি বিভিন্নভাবে তৈরি করা হতে পারে, যার মধ্যে কিছু সাধারণ ধরন হল:
- Master-Slave Replication (Primary-Replica):
- এই ধরনের রেপ্লিকেশনে একমাত্র Master (মূল সার্ভার) ডেটা লেখার জন্য ব্যবহৃত হয়, এবং এক বা একাধিক Slave (রেপ্লিকা সার্ভার) শুধুমাত্র Master-এর ডেটার কপি ধরে রাখে। ডেটা লেখার পর এটি রেপ্লিকা সার্ভারে স্বয়ংক্রিয়ভাবে কপি হয়।
- Master-Master Replication (Multi-Master Replication):
- এই ধরনের রেপ্লিকেশনে একাধিক Master সার্ভার থাকে, এবং প্রতিটি সার্ভার তার ডেটা পরিবর্তন করার পাশাপাশি অন্য সার্ভারের ডেটা সিঙ্ক্রোনাইজড রাখে। এটি স্কেলিং এবং উচ্চ প্রাপ্যতার জন্য উপকারী, তবে কনফ্লিক্টের ঝুঁকি বেশি থাকে।
- Peer-to-Peer Replication:
- এখানে কোনো নির্দিষ্ট Master বা Slave নেই। প্রতিটি সার্ভার একটি "Peer" হিসেবে কাজ করে এবং একটি অপরের ডেটা সিঙ্ক্রোনাইজড রাখে।
Replication Setup (রেপ্লিকেশন সেটআপ)
রেডিস বা মাইএসকিউএল এর মতো সার্ভারে রেপ্লিকেশন কনফিগারেশন সেটআপ করার জন্য সাধারণত নিম্নলিখিত পদক্ষেপগুলো অনুসরণ করা হয়:
- Master Server Setup (মূল সার্ভার কনফিগারেশন):
- মূল সার্ভারের কনফিগারেশন ফাইলে
bindএবংportসেটিংস চেক করতে হয়। log-binঅপশন সক্রিয় করতে হয় (যাতে সার্ভার লোগিং শুরু হয়) এবংserver-idনির্ধারণ করতে হয়।- প্রয়োজনীয় কনফিগারেশন যেমন read-only এবং replication সেটিংস করতে হয়।
- মূল সার্ভারের কনফিগারেশন ফাইলে
- Slave Server Setup (রেপ্লিকা সার্ভার কনফিগারেশন):
- রেপ্লিকা সার্ভারে
server-idনির্ধারণ করতে হয় এবং মূল সার্ভারের ঠিকানা দিয়েmaster-hostকনফিগার করতে হয়। - রেপ্লিকা সার্ভারে
read-onlyসেটিংস সক্ষম করতে হয় (যাতে এটি শুধুমাত্র ডেটা পড়ে, পরিবর্তন না করে)। - রেপ্লিকা সার্ভারটি মূল সার্ভারের সাথে সিঙ্ক্রোনাইজড রাখতে
START SLAVEকমান্ড ব্যবহার করতে হয়।
- রেপ্লিকা সার্ভারে
- Syncing Data (ডেটা সিঙ্ক্রোনাইজেশন):
- একবার রেপ্লিকা সার্ভার সেটআপ হয়ে গেলে, এটি মূল সার্ভারের সাথে সিঙ্ক্রোনাইজড হয় এবং সকল ডেটা স্বয়ংক্রিয়ভাবে কপি হয়।
- Monitoring Replication (রেপ্লিকেশন মনিটরিং):
- রেপ্লিকেশন চলাকালীন ডেটা সিঙ্ক্রোনাইজেশন পর্যবেক্ষণ করতে
SHOW SLAVE STATUSকমান্ড ব্যবহার করা হয় (মাইএসকিউএল-এ) বাINFO replication(রেডিস-এ)।
- রেপ্লিকেশন চলাকালীন ডেটা সিঙ্ক্রোনাইজেশন পর্যবেক্ষণ করতে
Data Backup with Replication
রেপ্লিকেশন ব্যাকআপ প্রক্রিয়াতে সহায়তা করতে পারে, কারণ রেপ্লিকা সার্ভারে সর্বশেষ ডেটা কপি রাখা হয়। মূল সার্ভারের ডেটা যদি কোনো কারণে হারিয়ে যায়, তবে আপনি রেপ্লিকা সার্ভার থেকে ডেটা পুনরুদ্ধার করতে পারেন। এখানে কিছু বিষয় যা মনে রাখতে হবে:
- Master Server Failure: যদি মূল সার্ভার ব্যর্থ হয়, তবে রেপ্লিকা সার্ভারকে Promote করে সেটিকে মূল সার্ভার হিসেবে ব্যবহার করা যেতে পারে।
- Slave Server as Backup: রেপ্লিকা সার্ভারকে নিয়মিত ব্যাকআপ সার্ভার হিসেবে ব্যবহার করা যেতে পারে, যেখানে ডেটা সংরক্ষণ করা হয় এবং বিপর্যয়ের সময় তা পুনরুদ্ধার করা হয়।
Data Recovery using Replication
রেপ্লিকেশন ব্যবহারের মাধ্যমে Data Recovery অত্যন্ত সহজ হয়। যদি মূল সার্ভারে কোনো ধরনের সমস্যা হয় বা ডেটা হারিয়ে যায়, তাহলে নিম্নলিখিত পদক্ষেপে ডেটা পুনরুদ্ধার করা সম্ভব:
- Promoting a Replica:
- যদি মূল সার্ভার ডাউন হয়ে যায়, তবে আপনি রেপ্লিকা সার্ভারটিকে Promote করে নতুন মূল সার্ভার হিসেবে ব্যবহার করতে পারেন।
- Restoring from Backup:
- যদি রেপ্লিকেশন বন্ধ থাকে, তবে আপনি রেপ্লিকা সার্ভারের ব্যাকআপ থেকে ডেটা পুনরুদ্ধার করতে পারেন এবং নতুন সার্ভারে সিঙ্ক্রোনাইজড রেপ্লিকেশন চালু করতে পারেন।
- Resuming Replication:
- যদি রেপ্লিকা সার্ভার থেকে কিছু ডেটা মিসিং হয়ে যায়, তবে আপনি
STOP SLAVEএবংSTART SLAVEকমান্ড ব্যবহার করে রেপ্লিকেশন পুনরায় শুরু করতে পারেন।
- যদি রেপ্লিকা সার্ভার থেকে কিছু ডেটা মিসিং হয়ে যায়, তবে আপনি
সারাংশ
Replication হল একটি গুরুত্বপূর্ণ ডেটা ব্যাকআপ এবং পুনরুদ্ধার প্রক্রিয়া, যা ডেটাবেসে একটি মূল সার্ভার এবং এক বা একাধিক রেপ্লিকা সার্ভারের মধ্যে ডেটার কপি তৈরি করে। এটি ডেটা সুরক্ষা, উচ্চ প্রাপ্যতা এবং বিপর্যয় পুনরুদ্ধারের জন্য একটি কার্যকরী সমাধান। রেপ্লিকেশন ব্যবহার করে, আপনি ডেটার কপি সহজেই ব্যাকআপ এবং পুনরুদ্ধার করতে পারেন, যা সিস্টেমের স্থিতিশীলতা এবং কর্মক্ষমতা নিশ্চিত করে।
Read more