CouchDB এর Replication একটি শক্তিশালী বৈশিষ্ট্য যা একাধিক সার্ভারের মধ্যে ডেটা সিঙ্ক্রোনাইজেশন এবং ব্যাকআপ নিশ্চিত করতে ব্যবহৃত হয়। Replication CouchDB-তে eventual consistency বজায় রাখে, অর্থাৎ ডেটা একাধিক সার্ভারে ধীরে ধীরে সিঙ্ক্রোনাইজ হয়। CouchDB-তে দুটি প্রধান ধরনের রেপ্লিকেশন ব্যবহৃত হয়: Continuous Replication এবং One-time Replication।
Continuous Replication হল একটি প্রক্রিয়া যেখানে ডেটা এক সার্ভার থেকে অন্য সার্ভারে স্বয়ংক্রিয়ভাবে এবং অবিরত সিঙ্ক্রোনাইজ হয়। এটি ডেটাবেসের মধ্যে live synchronization তৈরি করে, যেখানে নতুন পরিবর্তনগুলি (ডকুমেন্ট যোগ, আপডেট, বা মুছে ফেলা) স্বয়ংক্রিয়ভাবে এবং নিয়মিত এক সার্ভার থেকে অন্য সার্ভারে স্থানান্তরিত হয়।
একটি continuous replication সেটআপ করতে, আপনি replicator document ব্যবহার করতে পারেন। নিচে একটি উদাহরণ দেখানো হলো:
{
"_id": "replicator/continuous-replication",
"source": "http://source_server:5984/source_db",
"target": "http://target_server:5984/target_db",
"continuous": true,
"create_target": true
}
এখানে:
true
হবে, তখন continuous replication সক্রিয় হবে।One-time Replication হল একটি প্রক্রিয়া যেখানে একটি নির্দিষ্ট সময়ে এক সার্ভার থেকে আরেক সার্ভারে ডেটা সিঙ্ক্রোনাইজ করা হয়। এটি একটি manual sync প্রক্রিয়া, যা একবারের জন্য রান করা হয় এবং তারপর স্বয়ংক্রিয়ভাবে চালু থাকে না। সাধারণত, এটি ব্যাকআপ নেওয়ার জন্য বা একটি ডাটাবেসের একটি কপি তৈরি করার জন্য ব্যবহৃত হয়।
একটি one-time replication সেটআপ করতে, নিচে একটি উদাহরণ দেওয়া হলো:
{
"_id": "replicator/one-time-replication",
"source": "http://source_server:5984/source_db",
"target": "http://target_server:5984/target_db",
"continuous": false
}
এখানে:
false
থাকবে, তখন এটি one-time replication চালাবে।বৈশিষ্ট্য | Continuous Replication | One-time Replication |
---|---|---|
রেপ্লিকেশন ফ্রিকোয়েন্সি | অবিরত (Real-time Sync) | এককালীন (Single Event) |
উপযুক্ত পরিবেশ | High Availability, Real-time Sync | ব্যাকআপ, এককালীন ডেটা কপি তৈরি |
অ্যাক্সেসের সময় | সার্ভার চালু থাকা পর্যন্ত চলতে থাকে | একবার সম্পন্ন হলে থেমে যায় |
ব্যবহার | ডেটার সিঙ্ক্রোনাইজেশন এবং ফিল্টারিং | ব্যাকআপ, ডেটা ট্রান্সফার |
কনফিগারেশন | কমপ্লেক্স, স্বয়ংক্রিয় | সহজ, ম্যানুয়াল |
CouchDB রেপ্লিকেশন কনফিগারেশনে ত্রুটি হলে, এটি error রিপোর্ট করবে। আপনি replication status মনিটর করতে পারেন এবং ত্রুটিগুলি সনাক্ত করতে পারেন:
Replication Status চেক করার জন্য:
GET http://localhost:5984/_replicator
Replication Errors দেখার জন্য:
GET http://localhost:5984/_replicator/replicator/replication_id
Continuous Replication এবং One-time Replication CouchDB তে ডেটা সিঙ্ক্রোনাইজেশন করার দুটি প্রধান পদ্ধতি। Continuous Replication ব্যবহার করে আপনি সার্ভারগুলির মধ্যে ডেটা সিঙ্ক্রোনাইজেশন অবিরত রাখতে পারেন, যা সিস্টেমের উচ্চ availability নিশ্চিত করে, অন্যদিকে One-time Replication সাধারণত ব্যাকআপ বা ডেটা স্থানান্তরের জন্য উপযুক্ত, যেখানে শুধুমাত্র একবার ডেটা সিঙ্ক্রোনাইজ করতে হয়।
common.read_more