আপনি আপনার ডাটাবেস থেকে ডেটা মুছতে Cloud Firestore পরিচালিত বাল্ক ডিলিট পরিষেবা ব্যবহার করতে পারেন। এই বৈশিষ্ট্যটি এক বা একাধিক সংগ্রহ গোষ্ঠীর বিরুদ্ধে মুছে ফেলা সমর্থন করে।
পরিচালিত বাল্ক ডিলিট পরিষেবা ব্যবহার করে Cloud Firestore দস্তাবেজগুলিকে কীভাবে বাল্কে মুছতে হয় এই পৃষ্ঠাটি বর্ণনা করে৷ Cloud Firestore পরিচালিত বাল্ক ডিলিট পরিষেবা gcloud
কমান্ড-লাইন টুল এবং Cloud Firestore API ( REST , RPC ) এর মাধ্যমে উপলব্ধ।
আপনি শুরু করার আগে
আপনি পরিচালিত বাল্ক ডিলিট পরিষেবা ব্যবহার করার আগে, আপনাকে অবশ্যই নিম্নলিখিত কাজগুলি সম্পূর্ণ করতে হবে:
- আপনার 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 beta 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]
বাল্ক ডিলিট অপারেশন পরিচালনা করুন
আপনি একটি বাল্ক ডিলিট অপারেশন শুরু করার পরে, 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
লেবেল প্রয়োগ করে৷ ক্লাউড বিলিং রিপোর্ট পৃষ্ঠায় , আপনি বাল্ক ডিলিট অপারেশন সম্পর্কিত খরচ দেখতে এই লেবেলটি ব্যবহার করতে পারেন।
সর্বোত্তম অনুশীলন
মুছে ফেলা ডেটা এড়িয়ে যাওয়া এড়িয়ে চলুন যা প্রশ্নের গতি কমিয়ে দিতে পারে।
,আপনি আপনার ডাটাবেস থেকে ডেটা মুছতে Cloud Firestore পরিচালিত বাল্ক ডিলিট পরিষেবা ব্যবহার করতে পারেন। এই বৈশিষ্ট্যটি এক বা একাধিক সংগ্রহ গোষ্ঠীর বিরুদ্ধে মুছে ফেলা সমর্থন করে।
পরিচালিত বাল্ক ডিলিট পরিষেবা ব্যবহার করে Cloud Firestore দস্তাবেজগুলিকে কীভাবে বাল্কে মুছতে হয় এই পৃষ্ঠাটি বর্ণনা করে৷ Cloud Firestore পরিচালিত বাল্ক ডিলিট পরিষেবা gcloud
কমান্ড-লাইন টুল এবং Cloud Firestore API ( REST , RPC ) এর মাধ্যমে উপলব্ধ।
আপনি শুরু করার আগে
আপনি পরিচালিত বাল্ক ডিলিট পরিষেবা ব্যবহার করার আগে, আপনাকে অবশ্যই নিম্নলিখিত কাজগুলি সম্পূর্ণ করতে হবে:
- আপনার 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 beta 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]
বাল্ক ডিলিট অপারেশন পরিচালনা করুন
আপনি একটি বাল্ক ডিলিট অপারেশন শুরু করার পরে, 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
লেবেল প্রয়োগ করে৷ ক্লাউড বিলিং রিপোর্ট পৃষ্ঠায় , আপনি বাল্ক ডিলিট অপারেশন সম্পর্কিত খরচ দেখতে এই লেবেলটি ব্যবহার করতে পারেন।
সর্বোত্তম অনুশীলন
মুছে ফেলা ডেটা এড়িয়ে যাওয়া এড়িয়ে চলুন যা প্রশ্নের গতি কমিয়ে দিতে পারে।