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

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

نظرة عامة على مدة البقاء

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

الأسعار

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

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

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

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

يُرجى ملاحظة السلوكيات الرئيسية التالية للحذف المستنِد إلى مهلة تخزين مؤقت:

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

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

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

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

  • لا يحذف 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 هذا من النوع Date and time. يمكنك اختيار حقل حالي أو يمكنك تحديد حقل تخطّط لإضافته لاحقًا.

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

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

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

لإنشاء سياسة مهلة تسجيل الدخول، اتّبِع الخطوات التالية:

Google Cloud Console

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

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

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

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

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

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

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

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

gcloud

استخدِم الأمر firestore fields ttls update لضبط سياسة مهلة تسجيل البيانات. أضف علامة --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، انتقِل إلى صفحة القواعد البيانات.

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

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

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

تعرض وحدة التحكّم سياسات مهلة الجلسة لقاعدة بياناتك، وتتضمّن حالة كل سياسة.

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)، اتبع الخطوات التالية:

Google Cloud Console

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

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

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

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

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

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

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

gcloud

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

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

مراقبة عمليات حذف مدّة البقاء

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

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

إجمالي عدد المستندات التي تم حذفها بموجب سياسات مهلة التخزين المؤقت

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

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

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