نظرة عامة على الاسترداد في الوقت المناسب (PITR)

Cloud Firestore توفّر ميزة "استرداد نقطة في الوقت" (PITR) الحماية من الحذف أو الكتابة غير المقصودة. تحافظ ميزة PITR على نُسخ من المستندات من الطوابع الزمنية السابقة. على سبيل المثال، في حال أرسل المطوّر أي بيانات غير صحيحة أو حذف أو كتب بيانات عن طريق الخطأ، يمكن أن تستعيد ميزة PITR البيانات إلى نقطة زمنية في الماضي (لمدة تصل إلى 7 أيام بحد أقصى) بسلاسة.

بالنسبة إلى أي قاعدة بيانات نشطة تلتزم بأفضل الممارسات، لا يؤثّر استخدام ميزة "استرداد نقطة في الوقت" في أداء عمليات القراءة أو الكتابة.

نافذة PITR

بعد تفعيل ميزة "استرداد نقطة في الوقت"، يبدأ Cloud Firestore في الاحتفاظ ببيانات "استرداد نقطة في الوقت". يتم الاحتفاظ ببيانات PITR لمدة 7 أيام في فترة PITR.

يمكنك قراءة بيانات طابع زمني استنادًا إلى وقت تفعيل ميزة PITR:

حالة تفعيل ميزة PITR أقرب بيانات PITR متاحة
غير مفعّل قبل ساعة واحدة من وقت طلب القراءة
تم تفعيلها خلال 7 أيام قبل ساعة واحدة من تفعيل ميزة PITR
تم تفعيلها قبل أكثر من 7 أيام قبل 7 أيام من وقت طلب القراءة

يتم الاحتفاظ بإصدار واحد في كل دقيقة في نافذة PITR. يمكنك قراءة المستندات بدقة دقيقة باستخدام طابع زمني كاملاً لمدة دقيقة. إنّ عمليات القراءة التي تتم بدقة دقيقة، مثل 2023-05-30 09:00:00.1234AM، ستؤدي إلى عرض خطأ يفيد بأنّ وقت القراءة قديم جدًا.

يتم الاحتفاظ بنسخة واحدة فقط من المستند في حال إجراء عمليات كتابة متعددة. على سبيل المثال، إذا كان المستند يتضمّن عمليات كتابة متعددة تتراوح بين v1, v2, ... vk بين الطابع الزمني 2023-05-30 09:00:00AM (حصري) و2023-05-30 09:01:00AM (شامل)، يؤدي طلب القراءة في الطابع الزمني 2023-05-30 09:01:00AM إلى عرض الإصدار vk من المستند.

يمكنك القراءة من البيانات التي تم إنشاؤها خلال فترة PITR. يتم تخزين البيانات بدقة دقيقة ويمكنك استرداد البيانات بالدقة نفسها. Cloud Firestore تكون ميزة PITR غير مفعّلة تلقائيًا.

يحدِّد حقل earliestVersionTime في قاعدة بياناتك أقرب وقت مسموح به لقراءة بياناتك.

بغض النظر عمّا إذا كان خيار PITR مفعّلاً أم لا، يمكنك قراءة (وليس تصدير) المستندات في أي طابع زمني بدقة ميكرو ثانية خلال الساعة الماضية، ولكن ليس قبل earliestVersionTime.

طرق استرداد البيانات

هناك طريقتان لاسترداد البيانات:

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

  • لـ استرداد قاعدة البيانات بالكامل، عليك تصدير قاعدة البيانات مع تحديد طابع زمني في الماضي، ثم استيرادها إلى قاعدة بيانات جديدة. تتيح عملية تصدير ملفّ PITR استخدام جميع الفلاتر، بما في ذلك تصدير جميع المستندات وملفّ تصدير مجموعات معيّنة. يمكنك تصدير بيانات PITR التي يكون فيها الطابع الزمني هو طابع زمني كاملاً للدقيقة خلال آخر سبعة أيام، ولكن ليس قبل earliestVersionTime.

الأسعار

يُرجى الاطّلاع على معلومات الأسعار التالية قبل تفعيل ميزة PITR لقاعدة بياناتك:

  • مساحة التخزين: تقيس Cloud Firestore حجم قاعدة البيانات يوميًا. على مدار شهر واحد، يتم احتساب متوسط نقاط العيّنات هذه لاحتساب حجم مساحة التخزين في قاعدة البيانات. ويتم ضرب هذه القيمة المتوسطة في سعر وحدة PITR (بوحدة غيغابايت في الشهر). اطّلِع على أسعار مساحة التخزين للحصول على مزيد من المعلومات.

    لا تتوفّر فئة تخزين مجانية في PITR، ويجب تفعيل الفوترة إذا كنت تريد استخدام PITR.

  • احتساب الفوترة: أي طلبات بحث تجريها خلال فترة PITR التي تبلغ 7 أيام، سواء من خلال عمليات القراءة أو التصدير القديمة، تُكبِّد تكاليف عمليات القراءة استنادًا إلى عدد المستندات المقروءة. يمكنك الاطّلاع على الأسعار للحصول على مزيد من المعلومات.

  • الحد الأدنى للفوترة: قد يتم تحصيل رسوم منك مقابل تكلفة تخزين PITR لمدة تصل إلى يوم واحد حتى إذا أوقفت ميزة PITR في غضون يوم واحد من تفعيلها.

الخطوات التالية