إدارة الاحتفاظ بالبيانات باستخدام سياسات مدة البقاء (TTL)

توضّح هذه الصفحة كيفية استخدام وحدة تحكّم Google Cloud Platform وواجهة سطر الأوامر في Google Cloud. لضبط سياسات مدة البقاء (TTL). قبل أن تقرأ هذه الصفحة، يجب أن تفهم نموذج بيانات Cloud Firestore

نظرة عامة حول وقت بدء البث المباشر

يمكنك استخدام سياسات مدة البقاء (TTL) لإجراء إزالة البيانات القديمة من قواعد البيانات الخاصة بك. تعين سياسة TTL حقلاً معينًا وقت انتهاء الصلاحية للمستندات في مجموعة مجموعات معينة. باستخدام TTL، يمكنك تقليل تكاليف التخزين عن طريق إزالة البيانات القديمة. عادةً ما يتم حذف البيانات في غضون 24 ساعة من تاريخ انتهاء صلاحيتها.

الأسعار

يتم احتساب عمليات حذف مدة البقاء (TTL) ضمن تكاليف حذف المستندات. بالنسبة إلى الأسعار حول عمليات الحذف، يُرجى الاطّلاع على أسعار Cloud Firestore.

الحدود والقيود

  • يمكن وضع علامة على حقل واحد فقط لكل مجموعة مجموعات كحقل TTL.
  • يُسمح بإجمالي 200 عملية ضبط على مستوى الحقل. ضبط حقل واحد يمكن أن يحتوي على تكوينات متعددة لنفس الحقل. على سبيل المثال: يتم احتساب الإعفاء من الفهرسة ذات الحقل الواحد وسياسة TTL في الحقل نفسه باعتبارها تهيئة حقل واحد باتجاه الحد المسموح به.
  • بالنسبة إلى عملاء Firestore في وضع "مخزن البيانات"، لا يمكن استخدام مدة البقاء (TTL) مع وضع التزامن التفاؤل من خلال مجموعات الكيانات: يمكنك تغيير وضع التزامن إلى وضع التزامن المتفائل.

حذف مدة البقاء (TTL)

لاحظ السلوكيات الرئيسية التالية للحذف المستند إلى مدة البقاء:

  • ولا يُعد الحذف من خلال مدة البقاء (TTL) عملية فورية. المستندات المنتهية الصلاحية الاستمرار في الظهور في الاستعلامات وطلبات البحث إلى أن تتم معالجة مدة البقاء (TTL) حذفها بالفعل. يتبادل TTL توقيت الحذف لصالح خفض إجمالي تكلفة الملكية لعمليات الحذف. يتم عادةً حذف البيانات في غضون 24 ساعة من تاريخ انتهاء صلاحيتها.

  • لا يؤدي حذف مستند من خلال مدة البقاء (TTL) إلى حذف المجموعات الفرعية ضمن تلك المدة. جلسة المراجعة.

  • يؤدي تطبيق سياسة مدة البقاء على مجموعة مجموعات حالية إلى بشكلٍ مجمّع. حذف جميع البيانات المنتهية الصلاحية وفقًا لسياسة مدة البقاء الجديدة. ملاحظة أن هذا الحذف المجمّع ليس فوريًا أيضًا ويعتمد على مقدار البيانات التي لمجموعة المجموعات هذه.

  • إذا كان لمستند وقت انتهاء صلاحية في الماضي وأضفت سياسة TTL جديدة إلى المجموعة، سيتم حذف المستند في غضون 24 ساعة عند انتهاء إعداد سياسة TTL وتصبح نشطة.

  • لا يحذف TTL بالضرورة المستندات بنفس ترتيب الطوابع الزمنية لانتهاء الصلاحية.

  • لا تتم عمليات الحذف على مستوى المعاملات. المستندات التي لها تاريخ انتهاء الصلاحية نفسه لا يتم حذفها بالضرورة في الوقت نفسه. إذا كنت بحاجة إلى ذلك إجراء عمليات الحذف باستخدام مكتبة البرامج.

  • ستلتزم Cloud Firestore دائمًا بأحدث حقل TTL لتحديد انتهاء الصلاحية. على سبيل المثال، إذا كان هناك مستند منتهي الصلاحية ولكن لم يتم حذفه بعد، في حقل مدة البقاء (TTL) إلى تاريخ لاحق، فلن تنتهي صلاحية المستند التاريخ الجديد.

  • تم تصميم مدة البقاء (TTL) لتقليل التأثير على أنشطة قواعد البيانات الأخرى. عمليات الحذف يتم التعامل مع الناتج عن مدة البقاء (TTL) بأولوية أقل. هناك استراتيجيات أخرى أيضًا لتخفيف الارتفاعات في حركة الزيارات من عمليات الحذف المستندة إلى مدة البقاء.

  • الحذف من خلال مكالمات مدة البقاء (TTL) النشطة أدوات استماع لقطة الشاشة ومشغل Cloud Functions مشغِّلات Cloud Firestore

حقول وفهارس TTL

يمكن فهرسة حقل TTL أو عدم فهرسته. ومع ذلك، نظرًا لأن حقل TTL هو طابع زمني، فإن فهرسة الحقل يمكن أن تؤثر في الأداء بمعدلات زيارات أعلى. يمكن أن تؤدي فهرسة حقل طابع زمني إلى إنشاء نقاط الاتصال التي تخالف أفضل الممارسات. نقاط الاتصال هي معدلات عالية في القراءة والكتابة والحذف في نطاق ضيق من المستند.

تنشئ Cloud Firestore تلقائيًا فهرسًا بحقل واحد لجميع الحقول. يمكنك إنشاء استثناء فهرسة ذات حقل واحد لتعطيل الفهارس في حقل TTL.

الأذونات

يتطلب الإعداد الأساسي لسياسة TTL الحصول على الإذن التالي في المشروع:

  • يتطلب عرض سياسات مدة البقاء datastore.indexes.list. وdatastore.indexes.get.
  • يتطلب تعديل سياسات مدة البقاء datastore.indexes.update. إذن.
  • يتطلب التحقق من حالة عمليات مدة البقاء datastore.operations.list وdatastore.operations.get.

بالنسبة إلى الأدوار التي تُسنِد هذه الأذونات، يُرجى الاطّلاع على أدوار إدارة الهوية وإمكانية الوصول في Cloud Firestore.

قبل البدء

قبل استخدام gcloud CLI لإدارة سياسات مدة البقاء، استخدِم gcloud components update الأمر لتحديث المكونات إلى أحدث إصدار متاح:

gcloud components update

إنشاء سياسة TTL

عندما تنشئ سياسة TTL، فإنك تعين حقلاً من حقول المستند كتاريخ انتهاء الصلاحية الوقت للمستندات في مجموعة المجموعة.

يستخدم TTL حقلاً محددًا لتحديد المستندات المؤهلة للحذف. يجب أن يكون حقل TTL هذا من النوع Date and time. يمكنك تحديد حقل موجود بالفعل أو يمكنك تعيين حقل تخطط لإضافته لاحقًا.

ضع في اعتبارك ما يلي قبل تعيين قيمة حقل TTL:

  • يمكن أن تكون قيمة حقل TTL وقتًا في المستقبل أو الآن أو في الماضي. إذا كانت القيمة تمثل وقتًا أن يكون المستند مؤهلاً للحذف على الفور على سبيل المثال، قد ينشئ سياسة TTL بالحقل expireAt، ثم تضيفه إلى المستندات الحالية.

  • وسيؤدي استخدام أي نوع بيانات آخر أو عدم ضبط قيمة الحقل TTL إلى إيقاف مدة البقاء للمستند الفردي.

لإنشاء سياسة TTL، اتبع الخطوات التالية:

Google Cloud Console

  1. في وحدة تحكّم Google Cloud Platform، انتقِل إلى صفحة قواعد البيانات.

    الانتقال إلى Databases (قواعد البيانات)

  2. حدد قاعدة البيانات المطلوبة من قائمة قواعد البيانات.

  3. في قائمة التنقّل، انقر على مدة البقاء.

  4. انقر على إنشاء سياسة.

  5. أدخِل اسم مجموعة مجموعات واسم حقل طابع زمني.

  6. انقر على إنشاء.

تعود وحدة التحكم إلى صفحة مدة البقاء. إذا كانت العملية بنجاح، تضيف الصفحة مدخلاً إلى جدول سياسات مدة البقاء. مشغَّلة فإن الصفحة تعرض رسالة خطأ.

gcloud

استخدام firestore fields ttls update لضبط سياسة TTL. أضف علامة --async لمنع gcloud CLI من انتظار اكتمال العملية.

 gcloud firestore fields ttls update
  ttl_field --collection-group=collection_group_name
  --enable-ttl 

مدة تفعيل سياسة TTL

قد يستغرق تفعيل مدة البقاء (TTL) حتى عشر دقائق أو أكثر في قاعدة البيانات الفارغة. . بعد بدء عملية، لن يؤدي إغلاق الوحدة الطرفية إلى إلغاء العملية.

عرض سياسات مدة البقاء (TTL)

لعرض سياسات مدة البقاء (TTL) وحالاتها، اتّبع الخطوات التالية:

Google Cloud Console

  1. في وحدة تحكّم Google Cloud Platform، انتقِل إلى صفحة قواعد البيانات.

    الانتقال إلى Databases (قواعد البيانات)

  2. حدد قاعدة البيانات المطلوبة من قائمة قواعد البيانات.

  3. في قائمة التنقّل، انقر على مدة البقاء.

تسرد وحدة التحكم سياسات TTL لقاعدة بياناتك وتتضمن الحالة.

gcloud

يمكنك استخدام firestore fields ttls list لضبط سياسة TTL. يسرد الأمر التالي جميع قيم مدة البقاء (TTL) .

   gcloud firestore fields ttls list
   

لسرد سياسات مدة البقاء (TTL) ضمن مجموعة مجموعات معينة، استخدم ما يلي:

   gcloud firestore fields ttls list  --collection-group=collection_group_name
   

عرض تفاصيل العملية

يمكنك استخدام gcloud CLI لعرض مزيد من التفاصيل حول سياسة مدة البقاء (TTL) في الحالة CREATING.

استخدِم الأمر operations list للاطّلاع على جميع التطبيقات قيد التشغيل العمليات المكتملة مؤخرًا:

gcloud firestore operations list

يتضمن الرد تقديرًا لتقدم العملية.

إيقاف سياسة TTL

لتعطيل سياسة مدة البقاء (TTL)، اتبع الخطوات التالية:

Google Cloud Console

  1. في وحدة تحكّم Google Cloud Platform، انتقِل إلى صفحة قواعد البيانات.

    الانتقال إلى Databases (قواعد البيانات)

  2. حدد قاعدة البيانات المطلوبة من قائمة قواعد البيانات.

  3. في قائمة التنقّل، انقر على مدة البقاء.

  4. في جدول سياسة مدة البقاء (TTL)، ابحث عن صفّ سياسة مدة البقاء (TTL). ضمن هذه صف الجدول، انقر على الزر حذف (المهملات).

  5. أكِّد الإجراء بالنقر على حذف.

تعود وحدة التحكم إلى صفحة مدة البقاء. عند النجاح، تزيل Cloud Firestore سياسة مدة البقاء من الجدول.

gcloud

1- يمكنك استخدام firestore fields ttls update لضبط سياسة TTL. أضف علامة --async لمنع gcloud CLI من انتظار اكتمال العملية.

   gcloud firestore fields ttls update ttl_field --collection-group=collection_group_name --disable-ttl
   

مراقبة عمليات حذف مدة البقاء (TTL)

يمكنك استخدام Cloud Monitoring لعرض مقاييس حول عمليات الحذف المستندة إلى مدة البقاء (TTL). توفّر Cloud Firestore المقاييس التالية لمدة البقاء:

نوع المقياس اسم المقياس وصف المقاييس
firestore.googleapis.com/document/ttl_deletion_count عدد عمليات الحذف المنقضية

إجمالي عدد المستندات التي تم حذفها بموجب سياسات مدة البقاء (TTL)

firestore.googleapis.com/document/ttl_expiration_to_deletion_delays انتهاء صلاحية المدة المستغرَقة في تنفيذ عمليات الحذف

الوقت المنقضي بين وقت انتهاء صلاحية المستند بموجب مدة البقاء (TTL) متى تم حذفها بالفعل.

لإعداد لوحة بيانات باستخدام مقاييس Cloud Firestore، يُرجى الاطّلاع على إدارة لوحة البيانات المخصصة إضافة أدوات لوحة البيانات.