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

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

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

শুরু করার আগে

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

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

    • Cloud Firestore রোল: 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]
উদাহরণস্বরূপ, cymbal ডাটাবেসের শীর্ষ স্তরের restaurants কালেকশনে থাকা রেস্তোরাঁগুলোর প্রতিনিধিত্বকারী একাধিক ডকুমেন্টের কথা ভাবুন। প্রতিটি রেস্তোরাঁ ডকুমেন্টের অধীনে ratings , reviews এবং outlets মতো একাধিক নেস্টেড সাব-কালেকশন রয়েছে। restaurants এবং reviews কালেকশন গ্রুপগুলোকে একসাথে ডিলিট করতে, আপনার কমান্ডটি দেখতে নিম্নরূপ হবে:

gcloud firestore bulk-delete \
--collection-ids=restaurants,reviews \
--database='cymbal'

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

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

অপারেশনের নামগুলোর শুরুতে 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 দেখায় যে একটি অপারেশন আনুমানিক মোট কত বাইট এবং ডকুমেন্ট প্রসেস করবে। Cloud Firestore যদি কোনো অনুমান করতে না পারে, তবে এই মেট্রিকটি বাদ দিতে পারে।

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

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

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

জিক্লাউড

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

gcloud firestore operations cancel [OPERATION_NAME]

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

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

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

gcloud firestore operations delete [OPERATION_NAME]

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

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

Cloud Firestore প্রাইসিং- এ তালিকাভুক্ত হারে বাল্ক ডিলিট অপারেশনের জন্য ডকুমেন্ট পড়া এবং মুছে ফেলার চার্জ প্রযোজ্য। বাল্ক ডিলিট অপারেশনে, খুঁজে পাওয়া প্রতিটি ডকুমেন্টের জন্য একটি ইনডেক্স এন্ট্রি পড়া এবং মুছে ফেলা প্রতিটি ডকুমেন্টের জন্য একটি ডিলিট অপারেশন চার্জ প্রযোজ্য হয়। ১০০০টি পর্যন্ত ইনডেক্স এন্ট্রি পড়ার জন্য আপনাকে একটি রিড অপারেশন চার্জ করা হবে। উদাহরণস্বরূপ, একটি বাল্ক ডিলিট অপারেশনের মাধ্যমে ১৫০০টি ডকুমেন্ট মুছে ফেলা হলে, আপনাকে ২টি ডকুমেন্ট রিড এবং ১৫০০টি ডকুমেন্ট ডিলিটের চার্জ করা হবে।

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

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

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

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

সর্বোত্তম অনুশীলন

মুছে ফেলা ডেটা এড়িয়ে যাওয়া থেকে বিরত থাকুন, কারণ এটি কোয়েরিগুলোর গতি কমিয়ে দিতে পারে।