Point-in-Time Backup (PIT Backup) এবং Recovery হল MongoDB তে একটি গুরুত্বপূর্ণ ফিচার যা ডেটাবেসের নির্দিষ্ট সময়ে ডেটার একটি সম্পূর্ণ ব্যাকআপ তৈরি এবং তারপরে সেই ব্যাকআপ থেকে ডেটা পুনরুদ্ধার করতে সাহায্য করে। এটি ডেটাবেসের স্টেট (অথবা অবস্থান) পুনরুদ্ধারের জন্য প্রয়োজনীয় যখন ডেটা হারানো বা সিস্টেমে কোনও সমস্যার সৃষ্টি হয়।
1. Point-in-Time Backup
Point-in-Time Backup MongoDB তে এমন একটি ব্যাকআপ পদ্ধতি যা নির্দিষ্ট সময়ে ডেটাবেসের সমস্ত ডেটা সংগ্রহ করে এবং পরবর্তীতে সেই সময়ে ডেটাবেসের স্থিতি (state) পুনরুদ্ধার করতে সাহায্য করে। PIT ব্যাকআপগুলি MongoDB তে অত্যন্ত গুরুত্বপূর্ণ যখন আপনি চাচ্ছেন যে ডেটার কোনও নির্দিষ্ট সময়ের পরে সমস্ত পরিবর্তন সামলানো হবে না এবং আপনি পূর্বের অবস্থায় ফিরে যেতে পারবেন।
MongoDB তে PIT ব্যাকআপ তৈরি করার জন্য দুইটি প্রধান উপায় রয়েছে:
1.1. MongoDB Ops Manager / Cloud Manager
MongoDB Ops Manager এবং Cloud Manager MongoDB এর অফিশিয়াল টুল যা ব্যাকআপ এবং রিকভারি প্রক্রিয়া সহজ করে তোলে। এর মাধ্যমে আপনি নির্দিষ্ট সময়ের ব্যাকআপ তৈরি করতে পারবেন এবং সেই ব্যাকআপ থেকে ডেটা পুনরুদ্ধার করতে পারবেন।
- PIT Backup তৈরি করতে এবং রিকভারি করার জন্য MongoDB Ops Manager ব্যবহার করতে পারেন।
- Ops Manager তে PIT ব্যাকআপ করার জন্য, আপনাকে প্রথমে "Continuous Backup" ফিচার চালু করতে হবে।
1.2. Mongodump & Mongorestore (Manual Backup Method)
MongoDB তে PIT ব্যাকআপ নেওয়ার আরেকটি পদ্ধতি হল mongodump এবং mongorestore ব্যবহার করা। এই পদ্ধতিতে, আপনি নির্দিষ্ট সময়ে ডেটাবেসের একটি কপি তৈরি করতে পারেন এবং পরবর্তীতে তা পুনরুদ্ধার করতে পারেন।
mongodump: এটি MongoDB ডেটাবেসের ব্যাকআপ তৈরি করে।
mongodump --host <hostname> --port <port> --db <database_name> --out <output_directory>mongorestore: এটি
mongodumpএর মাধ্যমে তৈরি করা ব্যাকআপ থেকে ডেটা পুনরুদ্ধার করে।mongorestore --host <hostname> --port <port> --db <database_name> <backup_directory>
নোট: mongodump এবং mongorestore ফিচারগুলি PIT ব্যাকআপের জন্য পর্যাপ্ত নয়, কারণ তারা ব্যাকআপের সময়ের স্থিতি সম্পূর্ণভাবে রিফ্লেক্ট করে না, তবে এটি এখনও ডেটা ব্যাকআপ এবং পুনরুদ্ধারের জন্য একটি কার্যকর পদ্ধতি।
1.3. WiredTiger Storage Engine & Journaling
MongoDB তে WiredTiger স্টোরেজ ইঞ্জিন ব্যবহৃত হলে, ট্রানজেকশনাল জার্নালিং সক্রিয় থাকে, যা point-in-time ব্যাকআপের জন্য সহায়ক। এটি MongoDB কে একটি নিরাপদ এবং ধারাবাহিক পদ্ধতিতে ব্যাকআপ নিতে সহায়তা করে, যা সিস্টেম ক্র্যাশ হলে ডেটার একটি নির্দিষ্ট সময়ে ফিরে যাওয়ার সুবিধা দেয়।
2. Point-in-Time Recovery
PIT Recovery MongoDB তে এমন একটি প্রক্রিয়া যা ডেটাবেসের নির্দিষ্ট সময়ের ব্যাকআপ থেকে পুনরুদ্ধারের সুবিধা দেয়। MongoDB তে PIT Recovery করতে আপনি নিম্নলিখিত প্রক্রিয়া অনুসরণ করতে পারেন:
2.1. Continuous Backup & Restore with Ops Manager / Cloud Manager
Ops Manager বা Cloud Manager এর মাধ্যমে PIT Recovery করা অনেক সহজ, কারণ এই টুলগুলি স্বয়ংক্রিয়ভাবে ব্যাকআপ এবং পুনরুদ্ধারের সুবিধা প্রদান করে।
2.2. PIT Recovery Using Mongorestore
যদি আপনি mongodump এর মাধ্যমে ব্যাকআপ নিয়ে থাকেন, তবে আপনার হাতে পূর্বে সংগৃহীত ডেটা থাকবে এবং mongorestore দিয়ে সেটি পুনরুদ্ধার করতে পারবেন।
- ব্যাকআপের আগের তারিখের কপি (যে সময়টি আপনি পুনরুদ্ধার করতে চান) নির্বাচন করুন।
ব্যাকআপটি পুনরুদ্ধারের জন্য:
mongorestore --host <hostname> --port <port> --db <database_name> <backup_directory>
2.3. Journal Files & WiredTiger Recovery
MongoDB এর WiredTiger স্টোরেজ ইঞ্জিন এবং journaling সিস্টেম একত্রে কাজ করে ট্রানজেকশনাল ডেটা সুরক্ষিত রাখতে। যখন ডেটাবেসের ব্যাকআপ নেয়া হয়, তখন এটি কেবল ডেটাবেসের ডেটাই নয়, তার সাথে journal ফাইলও অন্তর্ভুক্ত হয়, যা ট্রানজেকশন লগ হিসেবে কাজ করে। MongoDB ব্যাকআপ নেওয়ার পর যদি কোনো সিস্টেম ক্র্যাশ হয়, তবে journal ফাইলগুলি ব্যবহার করে আপনি PIT রিকভারি করতে পারেন।
2.4. PIT Recovery Flow:
- ব্যাকআপ পুনরুদ্ধার করা:
mongorestoreবা Ops Manager / Cloud Manager ব্যবহার করে ব্যাকআপ পুনরুদ্ধার করুন। - Journal ব্যবহার করা: ব্যাকআপের পরবর্তী সময়ে ঘটে যাওয়া ট্রানজেকশনগুলি journal ফাইলের মাধ্যমে পুনরুদ্ধার করুন।
3. MongoDB তে PIT Backup & Recovery এর সুবিধা
- ডেটার নিরাপত্তা: PIT ব্যাকআপ ডেটার সর্বশেষ নির্দিষ্ট স্থিতি সংরক্ষণ করে এবং ডেটার নিরাপত্তা নিশ্চিত করে।
- সিস্টেম ক্র্যাশের পর পুনরুদ্ধার: MongoDB PIT ব্যাকআপ এবং Recovery পদ্ধতি সিস্টেম ক্র্যাশের পর ডেটাবেসের পূর্বের অবস্থায় ফিরে যাওয়ার জন্য সহায়ক।
- ট্রানজেকশনাল সাপোর্ট: WiredTiger স্টোরেজ ইঞ্জিন এবং journaling MongoDB কে ট্রানজেকশনাল ব্যাকআপ এবং পুনরুদ্ধারের ক্ষমতা প্রদান করে।
সারাংশ
MongoDB তে Point-in-Time Backup একটি গুরুত্বপূর্ণ বৈশিষ্ট্য যা ডেটাবেসের নির্দিষ্ট সময়ের স্থিতি ব্যাকআপ করে এবং সেই ব্যাকআপ থেকে ডেটা পুনরুদ্ধার করতে সহায়তা করে। MongoDB এর Ops Manager, mongodump, এবং WiredTiger স্টোরেজ ইঞ্জিন ব্যবহার করে PIT ব্যাকআপ এবং Recovery কার্যকরভাবে করা যেতে পারে। MongoDB PIT ব্যাকআপ এবং রিকভারি সিস্টেম ডেটার নিরাপত্তা এবং সিস্টেম ক্র্যাশের পর পুনরুদ্ধারের জন্য অত্যন্ত কার্যকর।
Read more