বাল্ক ডেটা মুছে দিন

আপনার ডাটাবেস থেকে ডেটা মুছে ফেলার জন্য ম্যানেজড বাল্ক ডিলিট সার্ভিসটি ব্যবহার করুন। এই ফিচারটি এক বা একাধিক কালেকশন গ্রুপ থেকে ডেটা মুছে ফেলা সমর্থন করে।

এই পৃষ্ঠায় ম্যানেজড বাল্ক ডিলিট সার্ভিস ব্যবহার করে একসাথে অনেক ডকুমেন্ট ডিলিট করার পদ্ধতি বর্ণনা করা হয়েছে। Firebase ম্যানেজড বাল্ক ডিলিট সার্ভিসটি gcloud কমান্ড-লাইন টুল এবং Cloud Firestore REST API-এর মাধ্যমে পাওয়া যায়।

শুরু করার আগে

ম্যানেজড বাল্ক ডিলিট সার্ভিস ব্যবহার করার আগে, আপনাকে অবশ্যই নিম্নলিখিত কাজগুলো সম্পন্ন করতে হবে:

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

    • Firebase রোল: Owner , Cloud Datastore Owner , অথবা Cloud Datastore Bulk Admin

আপনার প্রোজেক্টের জন্য gcloud সেট আপ করুন

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

একসাথে অনেক ডেটা মুছে ফেলুন

একটি বাল্ক ডিলিট অপারেশন প্রথমে আপনার ডাটাবেসে থাকা সমস্ত প্রযোজ্য ডকুমেন্ট খুঁজে বের করে এবং সেগুলোকে ব্যাচ আকারে মুছে ফেলে। আপনি তখনও এই ডকুমেন্টগুলো কোয়েরি বা রিড করতে পারবেন, তবে কাজের অগ্রগতির উপর ভিত্তি করে ফলাফল ভিন্ন হতে পারে। অপারেশন শুরু হওয়ার পরে যোগ করা বা পরিবর্তন করা কোনো ডকুমেন্ট বাল্ক ডিলিট মুছে ফেলে না।

নির্দিষ্ট সংগ্রহ গোষ্ঠীগুলি একসাথে মুছে ফেলুন

জিক্লাউড

নির্দিষ্ট কালেকশন গ্রুপগুলো একসাথে ডিলিট করতে --collection-ids ফ্ল্যাগটি ব্যবহার করুন। এই অপারেশনটি শুধুমাত্র প্রদত্ত আইডিযুক্ত কালেকশন গ্রুপগুলোই ডিলিট করে।

gcloud firestore bulk-delete \
--collection-ids=[COLLECTION_GROUP_ID_1_OR_KIND_1],[COLLECTION_GROUP_ID_2_OR_KIND_2],[SUBCOLLECTION_GROUP_ID_1_OR_KIND_3] \
--database=[DATABASE]

একসাথে অনেকগুলো মুছে ফেলার কার্যক্রম পরিচালনা করুন

আপনি যখন কোনো বাল্ক ডিলিট অপারেশন শুরু করেন, তখন Firebase অপারেশনটিকে একটি অনন্য নাম প্রদান করে। আপনি অপারেশনটির নাম ব্যবহার করে সেটিকে ডিলিট, বাতিল বা তার অবস্থা পরীক্ষা করতে পারেন।

অপারেশনের নামগুলোর শুরুতে projects/[PROJECT_ID]/databases/[DATABASE_ID]/operations/ যুক্ত করা হয়, উদাহরণস্বরূপ:

projects/my-project/databases/(default)/operations/ASA1MTAwNDQxNAgadGx1YWZlZAcSeWx0aGdpbi1zYm9qLW5pbWRhEgopEg

তবে, describe , cancel , এবং delete কমান্ডগুলোর জন্য অপারেশনের নাম উল্লেখ করার সময় আপনি প্রিফিক্সটি বাদ দিতে পারেন।

সমস্ত বাল্ক ডিলিট অপারেশন তালিকাভুক্ত করুন

জিক্লাউড

বাল্ক ডিলিট অপারেশন সহ সমস্ত চলমান এবং সম্প্রতি সম্পন্ন হওয়া অপারেশনগুলো দেখতে operations list কমান্ডটি ব্যবহার করুন:

gcloud firestore operations list

অপারেশনের অবস্থা পরীক্ষা করুন

জিক্লাউড

বাল্ক ডিলিট অপারেশনের স্ট্যাটাস দেখানোর জন্য operations describe কমান্ডটি ব্যবহার করুন।

gcloud firestore operations describe [OPERATION_NAME]

সমাপ্তির সময় অনুমান করুন

একটি দীর্ঘ সময় ধরে চলা অপারেশনের অবস্থা জানতে চাইলে workEstimated এবং workCompleted মেট্রিকগুলো ফেরত আসে। এই মেট্রিকগুলোর প্রতিটিই বাইটের সংখ্যা এবং ডকুমেন্টের সংখ্যা উভয় এককেই ফেরত দেওয়া হয়:

  • workEstimated দেখায় যে একটি অপারেশন আনুমানিক মোট কত বাইট এবং ডকুমেন্ট প্রসেস করবে। Firebase যদি কোনো অনুমান করতে না পারে, তবে এই মেট্রিকটি বাদ দিতে পারে।

  • workCompleted এখন পর্যন্ত মুছে ফেলা বাইট এবং ডকুমেন্টের সংখ্যা দেখায়। অপারেশনটি সম্পন্ন হওয়ার পর, এই মানটি প্রকৃতপক্ষে প্রক্রিয়াকৃত মোট বাইট এবং ডকুমেন্টের সংখ্যা দেখায়, যা workEstimated এর মানের চেয়ে বেশি হতে পারে।

কাজের অগ্রগতির একটি মোটামুটি ধারণা পেতে, workCompleted workEstimated কাজ দিয়ে ভাগ করুন। এই অনুমানটি ভুল হতে পারে, কারণ এটি বিলম্বিত পরিসংখ্যান সংগ্রহের উপর নির্ভরশীল।

একটি অপারেশন বাতিল করুন

জিক্লাউড

চলমান কোনো অপারেশন বন্ধ করতে operations cancel কমান্ডটি ব্যবহার করুন:

gcloud firestore operations cancel [OPERATION_NAME]

চলমান কোনো অপারেশন বাতিল করলে তা পূর্বাবস্থায় ফিরে আসে না। বাতিল করা কোনো বাল্ক ডিলিট অপারেশন মুছে ফেলা ডকুমেন্টগুলো পুনরুদ্ধার করে না।

একটি অপারেশন মুছে ফেলুন

সাম্প্রতিক অপারেশনের তালিকা থেকে কোনো সম্পন্ন অপারেশন মুছে ফেলার জন্য gcloud firestore operations delete কমান্ডটি ব্যবহার করুন। কোনো চলমান অপারেশন বাতিল করতে, পূর্ববর্তী বাতিলকরণ অপারেশনটি ব্যবহার করুন।

gcloud firestore operations delete [OPERATION_NAME]

একসাথে অনেকগুলো ডিলিট করার কার্যক্রমের বিলিং এবং মূল্য নির্ধারণ

ম্যানেজড বাল্ক ডিলিট পরিষেবাটি ব্যবহার করার আগে আপনাকে আপনার Google Cloud প্রোজেক্টের জন্য বিলিং চালু করতে হবে।

মনে রাখবেন, Firebase প্রকৃত কাজের উপর ভিত্তি করে চার্জ করে। যদি ব্যবহারকারীর ভুলের কারণে অপারেশনটি বাতিল বা ব্যর্থ হয়, তবে আপনাকে কাজের অগ্রগতির উপর ভিত্তি করে চার্জ করা হবে। যে ডকুমেন্টগুলো শেষ পর্যন্ত ডিলিট করা হয় না, যেমন ডিলিট অপারেশন শুরু হওয়ার পরে পরিবর্তিত হওয়া ডকুমেন্ট, সেগুলোর রিড বা ডিলিটের জন্য Firebase কোনো চার্জ করবে না। অপারেশনটি সম্পন্ন হওয়ার দিনেই খরচটি ধার্য করা হবে।

বাল্ক ডিলিট অপারেশন সম্পন্ন না হওয়া পর্যন্ত আপনার Google Cloud বাজেট অ্যালার্ট ট্রিগার করে না। একইভাবে, বাল্ক ডিলিট অপারেশনের সময় করা রিড এবং ডিলিটগুলো অপারেশনটি সম্পন্ন হওয়ার পর আপনার ফ্রি টিয়ার ইউসেজে যোগ করা হয়। বাল্ক ডিলিট অপারেশন কনসোলের ইউসেজ সেকশনে দেখানো ব্যবহারের উপর কোনো প্রভাব ফেলে না।

একসাথে অনেকগুলো ডিলিট করার খরচ দেখুন

বাল্ক ডিলিট অপারেশনগুলো বিল করা অপারেশনগুলিতে goog-firestoremanaged:bulkdelete লেবেলটি প্রয়োগ করে। ক্লাউড বিলিং রিপোর্ট পেজে , আপনি বাল্ক ডিলিট অপারেশন সম্পর্কিত খরচ দেখতে এই লেবেলটি ব্যবহার করতে পারেন।