توضّح هذه الصفحة كيفية استخدام وحدة تحكّم Google Cloud وواجهة سطر الأوامر في 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
في وحدة التحكّم في Google Cloud، انتقِل إلى صفحة قواعد البيانات.
حدد قاعدة البيانات المطلوبة من قائمة قواعد البيانات.
في قائمة التنقّل، انقر على مدة البقاء.
انقر على إنشاء سياسة.
أدخِل اسم مجموعة مجموعات واسم حقل طابع زمني.
انقر على إنشاء.
تعود وحدة التحكم إلى صفحة مدة البقاء. إذا كانت العملية بنجاح، تضيف الصفحة مدخلاً إلى جدول سياسات مدة البقاء. مشغَّلة فإن الصفحة تعرض رسالة خطأ.
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
في وحدة التحكّم في Google Cloud، انتقِل إلى صفحة قواعد البيانات.
حدد قاعدة البيانات المطلوبة من قائمة قواعد البيانات.
في قائمة التنقّل، انقر على مدة البقاء.
تسرد وحدة التحكم سياسات 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
في وحدة التحكّم في Google Cloud، انتقِل إلى صفحة قواعد البيانات.
حدد قاعدة البيانات المطلوبة من قائمة قواعد البيانات.
في قائمة التنقّل، انقر على مدة البقاء.
في جدول سياسة مدة البقاء (TTL)، ابحث عن صفّ سياسة مدة البقاء (TTL). ضمن هذه صف الجدول، انقر على الزر حذف (المهملات).
أكِّد الإجراء بالنقر على حذف.
تعود وحدة التحكم إلى صفحة مدة البقاء. عند النجاح، تزيل سياسة 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، يُرجى الاطّلاع على إدارة لوحة البيانات المخصصة إضافة التطبيقات المصغّرة للوحة البيانات