حذف انبوه داده ها

فقط مربوط به Cloud Firestore Enterprise edition.

از سرویس حذف انبوه مدیریت شده برای حذف داده ها از پایگاه داده خود استفاده کنید. این ویژگی از حذف در برابر یک یا چند گروه مجموعه پشتیبانی می کند.

این صفحه نحوه حذف انبوه اسناد را با استفاده از سرویس حذف انبوه مدیریت شده شرح می دهد. سرویس حذف انبوه مدیریت شده Cloud Firestore با سازگاری MongoDB از طریق ابزار خط فرمان gcloud و Cloud Firestore REST API در دسترس است.

قبل از شروع

قبل از اینکه بتوانید از سرویس حذف انبوه مدیریت شده استفاده کنید، باید کارهای زیر را انجام دهید:

  1. صورتحساب پروژه Google Cloud خود را فعال کنید. فقط پروژه‌های Google Cloud با فعال بودن صورت‌حساب می‌توانند از عملکرد حذف انبوه استفاده کنند.
  2. اطمینان حاصل کنید که حساب شما دارای مجوزهای لازم برای Cloud Firestore با سازگاری MongoDB است. اگر شما مالک پروژه هستید، حساب شما دارای مجوزهای لازم است. در غیر این صورت، نقش‌های زیر مجوزهای لازم را برای عملیات حذف انبوه می‌دهند:

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]

مدیریت عملیات حذف انبوه

پس از شروع عملیات حذف انبوه، Cloud Firestore با سازگاری MongoDB به این عملیات یک نام منحصر به فرد اختصاص می دهد. می توانید از نام عملیات برای حذف، لغو یا بررسی وضعیت عملیات استفاده کنید.

نام عملیات با 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 با سازگاری MongoDB ممکن است این معیار را حذف کند.

  • 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 با سازگاری MongoDB هزینه های واقعی کار انجام شده را دریافت می کند. اگر عملیات به دلیل خطای کاربر لغو یا ناموفق باشد، هزینه پیشرفت انجام شده از شما کسر می شود. Cloud Firestore با سازگاری MongoDB برای اسنادی که در نهایت حذف نمی‌شوند، مانند اسنادی که پس از شروع عملیات حذف اصلاح می‌شوند، هزینه خواندن یا حذف را دریافت نمی‌کند. هزینه در روز اتمام عملیات نسبت داده می شود.

عملیات حذف انبوه هشدارهای بودجه Google Cloud شما را تا پس از تکمیل فعال نمی کند. به طور مشابه، خواندن و حذف های انجام شده در طول عملیات حذف انبوه، پس از تکمیل عملیات، برای استفاده از لایه رایگان شما اعمال می شود. عملیات حذف انبوه بر میزان استفاده نشان داده شده در بخش استفاده از کنسول تأثیری ندارد.

مشاهده هزینه های حذف انبوه

عملیات حذف انبوه برچسب goog-firestoremanaged:bulkdelete را برای عملیات صورتحساب اعمال می کند. در صفحه گزارش‌های صورت‌حساب ابری ، می‌توانید از این برچسب برای مشاهده هزینه‌های مربوط به عملیات حذف انبوه استفاده کنید.