আপনার ডাটাবেস থেকে ডেটা মুছতে পরিচালিত বাল্ক ডিলিট পরিষেবা ব্যবহার করুন। এই বৈশিষ্ট্যটি এক বা একাধিক সংগ্রহ গোষ্ঠীর বিরুদ্ধে মুছে ফেলা সমর্থন করে।
এই পৃষ্ঠাটি বর্ণনা করে কিভাবে পরিচালিত বাল্ক ডিলিট পরিষেবা ব্যবহার করে প্রচুর পরিমাণে নথি মুছে ফেলা যায়। 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 সেট আপ করুন
আপনি Google ক্লাউড কনসোল বা gcloud কমান্ড-লাইন টুলের মাধ্যমে বাল্ক ডিলিট অপারেশন শুরু করতে পারেন। gcloud ব্যবহার করতে, কমান্ড-লাইন টুল সেট আপ করুন এবং নিম্নলিখিত উপায়ে আপনার প্রকল্পের সাথে সংযোগ করুন:
Cloud Shell ব্যবহার করে Google ক্লাউড কনসোল থেকে
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এর মান থেকে বড় হতে পারে।
মোটামুটি অগ্রগতির অনুমানের জন্য workEstimated দ্বারা workCompleted ভাগ করুন। এই অনুমানটি ভুল হতে পারে, কারণ এটি পরিসংখ্যান সংগ্রহের বিলম্বের উপর নির্ভর করে।
একটি অপারেশন বাতিল করুন
জিক্লাউড
চলমান একটি অপারেশন বন্ধ করতে operations cancel কমান্ড ব্যবহার করুন:
gcloud firestore operations cancel [OPERATION_NAME]
একটি চলমান অপারেশন বাতিল করা অপারেশনটিকে পূর্বাবস্থায় ফিরিয়ে আনে না৷ একটি বাতিল বাল্ক ডিলিট অপারেশন মুছে ফেলা নথিগুলি পুনরুদ্ধার করে না।
একটি অপারেশন মুছুন
সাম্প্রতিক ক্রিয়াকলাপগুলির তালিকা থেকে একটি সম্পূর্ণ অপারেশন সরাতে gcloud firestore operations delete কমান্ড ব্যবহার করুন। একটি চলমান অপারেশন বাতিল করতে, আগের বাতিলকরণ অপারেশন ব্যবহার করুন।
gcloud firestore operations delete [OPERATION_NAME]
বাল্ক ডিলিট অপারেশনের জন্য বিলিং এবং মূল্য
আপনি পরিচালিত বাল্ক ডিলিট পরিষেবা ব্যবহার করার আগে আপনার Google Cloud প্রকল্পের জন্য বিলিং সক্ষম করতে হবে৷
Cloud Firestore মূল্যে তালিকাভুক্ত হারে নথি পড়ার এবং মুছে ফেলার জন্য বাল্ক ডিলিট অপারেশন চার্জ করা হয়। বাল্ক মুছে ফেলার ক্রিয়াকলাপ পাওয়া যায় প্রতি নথিতে একটি সূচক এন্ট্রি পড়া হয় এবং প্রতি নথিতে একটি মুছে ফেলার অপারেশন হয়। 1000টি পর্যন্ত ইনডেক্স এন্ট্রি পড়ার জন্য আপনাকে একটি রিড অপারেশন চার্জ করা হবে। উদাহরণস্বরূপ, একটি বাল্ক ডিলিট অপারেশনের জন্য যা 1500টি নথি মুছে ফেলেছে, আপনাকে 2টি নথি পড়ার এবং 1500টি নথি মুছে ফেলার জন্য চার্জ করা হবে৷লক্ষ্য করুন যে Cloud Firestore প্রকৃত কাজের উপর চার্জ দেয়। ব্যবহারকারীর ত্রুটির কারণে অপারেশনটি বাতিল বা ব্যর্থ হলে, আপনাকে অগ্রগতির জন্য চার্জ করা হবে। Cloud Firestore এমন নথিগুলির জন্য রিড বা ডিলিট চার্জ করবে না যেগুলি শেষ পর্যন্ত মুছে ফেলা হয় না, যেমন নথিগুলি যা ডিলিট অপারেশন শুরু করার পরে পরিবর্তন করা হয়৷ খরচ অপারেশন সমাপ্তির দিন দায়ী করা হবে.
বাল্ক মুছে ফেলার ক্রিয়াকলাপগুলি সম্পূর্ণ না হওয়া পর্যন্ত আপনার Google Cloud বাজেট সতর্কতাগুলিকে ট্রিগার করে না৷ একইভাবে, একটি বাল্ক ডিলিট অপারেশনের সময় সম্পাদিত রিড এবং ডিলিট অপারেশন সম্পূর্ণ হওয়ার পরে আপনার ফ্রি টিয়ার ব্যবহারে প্রয়োগ করা হয়। বাল্ক ডিলিট অপারেশন কনসোলের ব্যবহার বিভাগে দেখানো ব্যবহারকে প্রভাবিত করে না।
বাল্ক মুছে ফেলা খরচ দেখুন
বাল্ক মুছে ফেলার ক্রিয়াকলাপগুলি বিল করা ক্রিয়াকলাপগুলিতে goog-firestoremanaged:bulkdelete লেবেল প্রয়োগ করে৷ ক্লাউড বিলিং রিপোর্ট পৃষ্ঠায় , আপনি বাল্ক ডিলিট অপারেশন সম্পর্কিত খরচ দেখতে এই লেবেলটি ব্যবহার করতে পারেন।
সর্বোত্তম অনুশীলন
মুছে ফেলা ডেটা এড়িয়ে যাওয়া এড়িয়ে চলুন যা প্রশ্নের গতি কমিয়ে দিতে পারে।