ব্লেজ প্ল্যান ব্যবহারকারীরা তাদের Firebase Realtime Database জন্য স্বয়ংক্রিয় ব্যাকআপ সেট আপ করতে পারেন। এটি একটি সেলফ-সার্ভিস ফিচার যা আপনার ডেটাবেস অ্যাপ্লিকেশন ডেটা এবং Security Rules এর দৈনিক ব্যাকআপ JSON ফরম্যাটে একটি Cloud Storage বাকেটে নিতে সক্ষম করে।
সেটআপ
Firebase কনসোলে, Databases & Storage > Realtime Database- এ যান।
ব্যাকআপস ট্যাবে, আপনার স্বয়ংক্রিয় ব্যাকআপগুলো সেট আপ করতে ইন-কনসোল ওয়ার্কফ্লো ব্যবহার করুন।
স্টোরেজ খরচ বাঁচাতে আমরা ডিফল্টরূপে Gzip কম্প্রেশন চালু রাখি, এবং আপনি আপনার বাকেটে একটি ৩০-দিনের লাইফসাইকেল পলিসি চালু করতে পারেন, যার ফলে ৩০ দিনের বেশি পুরোনো ব্যাকআপগুলো স্বয়ংক্রিয়ভাবে মুছে যাবে।
আপনি সরাসরি Firebase কনসোলে স্ট্যাটাস এবং ব্যাকআপ অ্যাক্টিভিটি দেখতে পারেন, যেখানে আপনি ম্যানুয়াল ব্যাকআপও শুরু করতে পারেন। নির্দিষ্ট সময় পর পর স্ন্যাপশট নেওয়ার জন্য অথবা কোডে কোনো পরিবর্তন করার আগে সুরক্ষা ব্যবস্থা হিসেবে এটি কার্যকর হতে পারে।
একবার সেট আপ করা হয়ে গেলে, আপনার জন্য ফায়ারবেসের WRITER পারমিশন সহ একটি নতুন Cloud Storage বাকেট তৈরি করা হবে। এই বাকেটে এমন কোনো ডেটা সংরক্ষণ করবেন না, যেটিতে ফায়ারবেসের অ্যাক্সেস থাকাটা আপনার জন্য স্বস্তিদায়ক নয়। ফায়ারবেসের আপনার অন্যান্য Cloud Storage বাকেট বা Google Cloud অন্য কোনো অংশে অতিরিক্ত কোনো অ্যাক্সেস থাকবে না।
ব্যাকআপ থেকে পুনরুদ্ধার করা হচ্ছে
ব্যাকআপ থেকে আপনার ফায়ারবেস পুনরুদ্ধার করতে, প্রথমে Cloud Storage থেকে ফাইলটি আপনার স্থানীয় ডিস্কে ডাউনলোড করুন। এটি ব্যাকআপ অ্যাক্টিভিটি বিভাগের মধ্যে ফাইলের নামে ক্লিক করে অথবা Cloud Storage বাকেট ইন্টারফেস থেকে করা যেতে পারে। যদি ফাইলটি Gzip কম্প্রেস করা থাকে, তবে প্রথমে ফাইলটি ডিকম্প্রেস করুন ।
আপনার ডেটা ইম্পোর্ট করার জন্য দুটি বিকল্প রয়েছে:
বিকল্প ১ : Firebase কনসোল ব্যবহার করুন।
ডেটাবেস ও স্টোরেজ > রিয়েলটাইম ডেটাবেস > ডেটা ট্যাবে যান।
ইমপোর্ট JSON-এ ক্লিক করুন এবং আপনার অ্যাপ্লিকেশন ডেটা JSON ফাইলটি নির্বাচন করুন।
বিকল্প ২ : আপনার কমান্ড লাইন থেকে একটি CURL অনুরোধ পাঠান।
Firebase থেকে একটি সিক্রেট পুনরুদ্ধার করুন, যা আপনি Databases & Storage > Realtime Database > Settings ট্যাব থেকে পেতে পারেন।
আপনার টার্মিনালে নিম্নলিখিতটি লিখুন, এবং
DATABASE_NAMEওSECRETফিল্ডগুলিতে আপনার নিজের মান বসান:curl 'https://<DATABASE_NAME>.firebaseio.com/.json?auth=<SECRET>&print=silent' -X PUT -d @<DATABASE_NAME>.json
খুব বড় কোনো ডেটাবেস থেকে ব্যাকআপ পুনরুদ্ধার করতে সমস্যা হলে, Firebase Support-এর সাথে যোগাযোগ করুন।
সময়সূচী
আপনার ডাটাবেস ব্যাকআপের জন্য প্রতিদিন একটি নির্দিষ্ট সময় নির্ধারণ করা থাকে, যা সকল ব্যাকআপ ব্যবহারকারীর জন্য সুষম লোড এবং সর্বোচ্চ প্রাপ্যতা নিশ্চিত করে। আপনি দিনের বেলায় কোনো ম্যানুয়াল ব্যাকআপ করুন বা না করুন, এই নির্ধারিত ব্যাকআপটি সম্পন্ন হবে।
ফাইলের নামকরণ
আপনার Cloud Storage বাকেটে স্থানান্তরিত ফাইলগুলিতে টাইমস্ট্যাম্প (ISO 8601 স্ট্যান্ডার্ড) থাকবে এবং নিম্নলিখিত নামকরণের নিয়মগুলি অনুসরণ করা হবে:
- ডাটাবেস ডেটা:
YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_data.json - ডাটাবেস নিয়মাবলী:
YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_rules.json
Gzip সক্রিয় থাকলে, ফাইলনামগুলোর শেষে .gz সাফিক্স যুক্ত হবে। Cloud Storage প্রিফিক্স সার্চিং ব্যবহার করে আপনি সহজেই একটি নির্দিষ্ট তারিখ বা সময়ের ব্যাকআপগুলো খুঁজে নিতে পারেন।
জিজিপ কম্প্রেশন
ডিফল্টরূপে, আমরা স্টোরেজ খরচ বাঁচাতে এবং স্থানান্তরের সময় কমাতে Gzip কম্প্রেশন ব্যবহার করে আপনার ব্যাকআপ ফাইলগুলিকে কম্প্রেস করি। কম্প্রেস করা ফাইলের আকার আপনার ডেটাবেসের ডেটার বৈশিষ্ট্যের উপর নির্ভর করে পরিবর্তিত হয়, তবে সাধারণ ডেটাবেসগুলি তাদের মূল আকারের এক-তৃতীয়াংশে সংকুচিত হতে পারে, যা আপনার স্টোরেজ খরচ বাঁচায় এবং আপনার ব্যাকআপ আপলোড করার সময় কমিয়ে দেয়।
আপনার Gzipped JSON ফাইলগুলো ডিকম্প্রেস করতে, gunzip বাইনারি ব্যবহার করে একটি কমান্ড লাইন কমান্ড দিন, যা OS-X এবং বেশিরভাগ লিনাক্স ডিস্ট্রিবিউশনের সাথে ডিফল্টভাবে দেওয়া থাকে।
gunzip <DATABASE_NAME>.json.gz # Will unzip to <DATABASE_NAME>.json
সংরক্ষণের ৩০ দিনের জীবনচক্র
আমরা একটি সহজে ব্যবহারযোগ্য কনফিগারেশন সুইচ অফার করি যা আপনার Cloud Storage বাকেটের জন্য একটি ডিফল্ট ৩০ দিনের অবজেক্ট লাইফসাইকেল পলিসি সক্রিয় করে। এটি সক্রিয় করা হলে, আপনার বাকেটের ফাইলগুলো ৩০ দিন পর স্বয়ংক্রিয়ভাবে মুছে যাবে। এটি অপ্রয়োজনীয় পুরোনো ব্যাকআপ কমাতে সাহায্য করে, যার ফলে আপনার স্টোরেজ খরচ সাশ্রয় হয় এবং আপনার বাকেট ডিরেক্টরি পরিষ্কার থাকে। আপনি যদি আপনার অটোমেটেড ব্যাকআপস বাকেটে অন্য কোনো ফাইল রাখেন, তবে সেগুলোও একই পলিসির অধীনে মুছে যাবে।
খরচ
ব্লেজ প্ল্যানের প্রোজেক্টগুলোর জন্য কোনো অতিরিক্ত খরচ ছাড়াই ব্যাকআপ ফিচারটি চালু করা যেতে পারে। তবে, আপনার Cloud Storage বাকেটে রাখা ব্যাকআপ ফাইলগুলোর জন্য আপনাকে সাধারণ হারে চার্জ করা হবে। আপনার স্টোরেজ খরচ কমাতে আপনি জিজিপ কম্প্রেশন এবং স্টোরেজের ৩০ দিনের লাইফসাইকেল চালু করতে পারেন।