حذف البيانات بشكل مجمّع

ينطبق ذلك على إصدار Cloud Firestore Enterprise فقط.

استخدِم خدمة الحذف المجمّع المُدارة لحذف البيانات من قاعدة البيانات. تتيح هذه الميزة الحذف من مجموعة واحدة أو أكثر من مجموعات البيانات.

توضّح هذه الصفحة كيفية حذف المستندات بشكل مجمّع باستخدام خدمة الحذف المجمّع المُدارة. تتوفّر خدمة الحذف المجمّع المُدارة المتوافقة مع MongoDB في Cloud Firestore من خلال أداة سطر الأوامر 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 على العمليات التي تتم فوترتها. في صفحة تقارير الفوترة من Cloud، يمكنك استخدام هذه التصنيف لعرض التكاليف المرتبطة بعمليات الحذف المجمّع.