আপনার ডাটাবেস থেকে ডেটা মুছে ফেলার জন্য পরিচালিত বাল্ক ডিলিট পরিষেবা ব্যবহার করুন। এই বৈশিষ্ট্যটি এক বা একাধিক সংগ্রহ গোষ্ঠীর বিরুদ্ধে ডেটা মুছে ফেলা সমর্থন করে।
এই পৃষ্ঠাটি পরিচালিত বাল্ক ডিলিট পরিষেবা ব্যবহার করে কীভাবে বাল্ক ডকুমেন্ট মুছে ফেলা যায় তা বর্ণনা করে। Cloud Firestore পরিচালিত বাল্ক ডিলিট পরিষেবাটি gcloud কমান্ড-লাইন টুল এবং Cloud Firestore REST API এর মাধ্যমে উপলব্ধ।
শুরু করার আগে
পরিচালিত বাল্ক ডিলিট পরিষেবা ব্যবহার করার আগে, আপনাকে নিম্নলিখিত কাজগুলি সম্পন্ন করতে হবে:
- আপনার Google Cloud প্রোজেক্টের জন্য বিলিং সক্ষম করুন। শুধুমাত্র বিলিং সক্ষম থাকা Google Cloud প্রোজেক্টগুলিই বাল্ক ডিলিট কার্যকারিতা ব্যবহার করতে পারবে।
নিশ্চিত করুন যে আপনার অ্যাকাউন্টে Cloud Firestore জন্য প্রয়োজনীয় অনুমতি রয়েছে। আপনি যদি প্রকল্পের মালিক হন, তাহলে আপনার অ্যাকাউন্টে প্রয়োজনীয় অনুমতি রয়েছে। অন্যথায়, নিম্নলিখিত ভূমিকাগুলি বাল্ক ডিলিট অপারেশনের জন্য প্রয়োজনীয় অনুমতি প্রদান করে:
- Cloud Firestore ভূমিকা:
Owner,Cloud Datastore Owner, অথবাCloud Datastore Bulk Admin
- Cloud Firestore ভূমিকা:
আপনার প্রকল্পের জন্য gcloud সেট আপ করুন
আপনি গুগল ক্লাউড কনসোল অথবা gcloud কমান্ড-লাইন টুলের মাধ্যমে বাল্ক ডিলিট অপারেশন শুরু করতে পারেন। gcloud ব্যবহার করতে, কমান্ড-লাইন টুল সেট আপ করুন এবং নিম্নলিখিত উপায়গুলির মধ্যে একটিতে আপনার প্রকল্পের সাথে সংযোগ করুন:
Cloud Shell ব্যবহার করে গুগল ক্লাউড কনসোল থেকে
gcloudঅ্যাক্সেস করুন।নিশ্চিত করুন যে
gcloudসঠিক প্রকল্পের জন্য কনফিগার করা আছে:gcloud config set project [PROJECT_ID]
প্রচুর পরিমাণে ডেটা মুছে ফেলুন
একটি বাল্ক ডিলিট অপারেশন প্রথমে আপনার ডাটাবেসের সমস্ত প্রযোজ্য ডকুমেন্ট খুঁজে বের করে এবং ব্যাচে সেগুলি মুছে ফেলে। আপনি এখনও এই ডকুমেন্টগুলি জিজ্ঞাসা করতে বা পড়তে পারেন, যদিও ফলাফলগুলি অগ্রগতির উপর নির্ভর করে পরিবর্তিত হতে পারে। বাল্ক ডিলিট অপারেশন শুরু হওয়ার পরে যোগ করা বা পরিবর্তিত কোনও ডকুমেন্ট মুছে দেয় না।
নির্দিষ্ট সংগ্রহ গোষ্ঠীগুলিকে একসাথে মুছে ফেলুন
জিক্লাউড
নির্দিষ্ট সংগ্রহ গোষ্ঠীগুলিকে বাল্ক মুছে ফেলার জন্য, --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 লেবেল প্রয়োগ করে। ক্লাউড বিলিং রিপোর্ট পৃষ্ঠায় , আপনি বাল্ক ডিলিট অপারেশন সম্পর্কিত খরচ দেখতে এই লেবেলটি ব্যবহার করতে পারেন।
সেরা অনুশীলন
মুছে ফেলা ডেটা এড়িয়ে যাওয়া এড়িয়ে চলুন কারণ এটি কোয়েরির গতি কমিয়ে দিতে পারে।