একটি ইন-প্লেস রিস্টোর করুন

ফায়ারস্টোর স্ট্যান্ডার্ড সংস্করণ এবং ফায়ারস্টোর এন্টারপ্রাইজ সংস্করণের জন্য প্রযোজ্য।

এই পৃষ্ঠায় বর্ণনা করা হয়েছে কীভাবে একটি ব্যাকআপের ডেটা, ব্যাকআপটির উৎস ডাটাবেসের নামের সাথে একই নামের একটি ডাটাবেসে পুনরুদ্ধার করতে হয়। এই পৃষ্ঠাটি পড়ার আগে, আপনার ‘ডেটা ব্যাকআপ ও পুনরুদ্ধার’ সম্পর্কে পরিচিত থাকা উচিত।

ইন-প্লেস রিস্টোর

ইন-প্লেস রিস্টোর আপনাকে একটি ব্যাকআপ থেকে সেই উৎস ডেটাবেসে ডেটাবেস পুনরুদ্ধার করতে দেয়, যেখান থেকে ব্যাকআপটি তৈরি করা হয়েছিল, এবং এক্ষেত্রে মূল ডেটাবেসটিও বিদ্যমান থাকে। ইন-প্লেস রিস্টোর আপনাকে ট্র্যাফিক রিরাউটিং বা ভিন্ন নামে ডেটাবেস তৈরি করা এড়াতে সাহায্য করে।

একটি রিস্টোর অপারেশনের জন্য এমন একটি ডেস্টিনেশন ডেটাবেস ব্যবহার করতে হবে যা আগে থেকে বিদ্যমান নেই। তবে, আপনি সোর্স ডেটাবেসটি ডিলিট করে এবং তারপর সোর্স ডেটাবেসের নামের সাথে একই নামের একটি নতুন ডেটাবেসে ব্যাকআপ থেকে রিস্টোর করার মাধ্যমে একটি ইন-প্লেস রিস্টোরের অনুকরণ করতে পারেন।

ইন-প্লেস রিস্টোর সম্পাদন করুন

ইন-প্লেস রিস্টোর করতে, এই ধাপগুলো অনুসরণ করুন:

  1. রিস্টোর অপারেশনের জন্য ব্যবহারযোগ্য ব্যাকআপটি শনাক্ত করুন।
  2. বিদ্যমান ডাটাবেসটি মুছে ফেলুন।
  3. পুনরুদ্ধার প্রক্রিয়াটি সম্পন্ন করতে মুছে ফেলা ডেটাবেসের ব্যাকআপ এবং ডেটাবেস আইডি ব্যবহার করুন।
সতর্কতা: যদি আপনার অ্যাপ নেটিভ মোডে Cloud Firestore ক্লায়েন্ট লাইব্রেরি ব্যবহার করে এবং আপনার ক্লায়েন্টরা অফলাইন ক্যাশে ব্যবহার করে, তাহলে একটি ইন-প্লেস রিস্টোর আপনার রাইটগুলোকে বাতিল করার পরিবর্তে পুনরুদ্ধার করা ডেটাবেসে ফ্লাশ করে দিতে পারে। এই পরিস্থিতিটি ঘটতে পারে যদি মুছে ফেলা ডেটাবেসের সাথে সংযুক্ত ক্লায়েন্টটি অফলাইন হয়ে যায় এবং অফলাইন থাকা অবস্থায়, আপনি যখন ইন-প্লেস রিস্টোর করেন, ঠিক সেই সময়ে ক্যাশে রাইট জমা হতে থাকে।

শুরু করার আগে

ইন-প্লেস রিস্টোর প্রক্রিয়া শুরু করার আগে নিম্নলিখিত ধাপগুলো সম্পন্ন করার পরামর্শ দেওয়া হচ্ছে।

আপনার ডাটাবেসের ইনডেক্স কনফিগারেশন পুনরুদ্ধার এবং কপি করুন। ইন-প্লেস রিস্টোর অপারেশন সম্পন্ন করার পর ইনডেক্সগুলো পুনরায় তৈরি করতে এই ইনডেক্স কনফিগারেশনটি ব্যবহার করুন। আপনার ডাটাবেসের ইনডেক্স কনফিগারেশন পুনরুদ্ধার করতে নিম্নলিখিত কমান্ডগুলো ব্যবহার করুন:

  • কম্পোজিট ইনডেক্সগুলির একটি তালিকা পেতে gcloud firestore indexes composite list ব্যবহার করুন:

        gcloud firestore indexes composite list --database=DATABASE_ID
    

    DATABASE_ID এর জায়গায় আপনার ডাটাবেসের আইডি বসান।

  • একক-ফিল্ড (বিল্ট-ইন) ইনডেক্স ছাড়ের তালিকা পেতে gcloud firestore indexes fields list ব্যবহার করুন।

        gcloud firestore indexes fields list --database=DATABASE_ID
    

ইন-প্লেস রিস্টোর সম্পাদন করুন

ইন-প্লেস রিস্টোর অপারেশন সম্পাদন করতে নিম্নলিখিত ধাপগুলি সম্পূর্ণ করুন। এই প্রক্রিয়ার জন্য, ডাটাবেস ডিলিট করার মুহূর্ত থেকে রিস্টোর অপারেশন সম্পূর্ণ হওয়া পর্যন্ত ডাউনটাইম প্রয়োজন।

একবার রিস্টোর অপারেশন শুরু হলে, আপনি তা বাতিল করতে পারবেন না এবং অপারেশনটি সম্পূর্ণ হওয়া পর্যন্ত অপেক্ষা করতে হবে। রিস্টোর অপারেশনটি শুরু হওয়ার সাথে সাথেই এতে ব্যবহৃত ডাটাবেস আইডিটি দখল করে নেয়।

  1. রিস্টোর অপারেশনের জন্য কোন ব্যাকআপটি ব্যবহার করতে হবে তা শনাক্ত করতে gcloud firestore backups list কমান্ডটি ব্যবহার করুন এবং রিসোর্স নামটি নোট করে রাখুন। রিসোর্স নামটি নিম্নলিখিত ফরম্যাট ব্যবহার করে:

        projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID
    
  2. বিদ্যমান ডাটাবেসটি মুছে ফেলার জন্য gcloud firestore databases delete কমান্ডটি ব্যবহার করুন:

        gcloud firestore databases delete --database='DATABASE_ID'
    

    DATABASE_ID এর জায়গায় ডাটাবেস আইডিটি বসান।

  3. ডাটাবেস আইডিটি পুনরায় উপলব্ধ হওয়ার জন্য ডাটাবেস ডিলিট করার পর কমপক্ষে ৫ মিনিট অপেক্ষা করুন। gcloud firestore databases restore কমান্ডটি ব্যবহার করে একটি রিস্টোর অপারেশন শুরু করুন:

    gcloud firestore databases restore \
    --source-backup=projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID \
    --destination-database='DATABASE_ID'
    

    DATABASE_ID এর জায়গায় ডাটাবেস আইডিটি বসান।

এরপর কী?