একসাথে অনেক ডেটা মুছে দিন

আপনার ডেটাবেস থেকে ডেটা মুছে ফেলতে, ম্যানেজ করা বাল্ক ডিলিট পরিষেবা ব্যবহার করুন। এই ফিচার এক বা একাধিক সংগ্রহ গ্রুপ থেকে মুছে ফেলার সুবিধা দেয়।

ম্যানেজ করা বাল্ক ডিলিট পরিষেবা

বাল্কে ডকুমেন্ট মুছতে, ম্যানেজ করা বাল্ক ডিলিট পরিষেবা ব্যবহার করুন। 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 সেট-আপ করুন

আপনি Google Cloud কনসোল বা 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 কমান্ডের জন্য কোনও অপারেশন নাম নির্দিষ্ট করার সময় আপনি প্রিফিক্স বাদ দিতে পারেন।

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

gcloud

বাল্ক মুছে ফেলার অপারেশন সহ, বর্তমানে চলছে এবং সম্প্রতি সম্পূর্ণ হয়েছে এমন সব অপারেশন দেখতে operations list কমান্ড ব্যবহার করুন:

gcloud firestore operations list

অপারেশন স্ট্যাটাস চেক করুন

gcloud

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

gcloud firestore operations describe [OPERATION_NAME]
সম্পূর্ণ হওয়ার সময় অনুমান করো

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

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

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

অগ্রগতির আনুমানিক হিসেব পেতে workCompleted-কে workEstimated দিয়ে ভাগ করুন। এই অনুমান সঠিক নাও হতে পারে, কারণ এটি দেরিতে পরিসংখ্যান সংগ্রহের উপর নির্ভর করে।

কোনও অপারেশন বাতিল করা

gcloud

চলমান কোনও অপারেশন বন্ধ করতে 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 লেবেল প্রয়োগ করে। Cloud Billing রিপোর্ট পৃষ্ঠা থেকে, আপনি এই লেবেল ব্যবহার করে বাল্ক ডিলিট অপারেশন সম্পর্কিত খরচ দেখতে পারবেন।

পেশাদার পদ্ধতি

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