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

ক্লাউড ফায়ারস্টোর স্ট্যান্ডার্ড সংস্করণ এবং ক্লাউড ফায়ারস্টোর এন্টারপ্রাইজ সংস্করণের সাথে প্রাসঙ্গিক।

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

স্থান-ভিত্তিক পুনরুদ্ধার

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

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

একটি ইন-প্লেস পুনরুদ্ধার করুন

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

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

শুরু করার আগে

আমরা ইন-প্লেস পুনরুদ্ধার প্রক্রিয়া শুরু করার আগে নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করার পরামর্শ দিচ্ছি।

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

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

        gcloud firestore indexes composite list --database=DATABASE_ID
    

    DATABASE_ID আপনার ডাটাবেসের 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 ডাটাবেস আইডি দিয়ে প্রতিস্থাপন করুন।

এরপর কি?