نمای کلی بازیابی نقطه‌زمانی (PITR)

بازیابی نقطه‌زمانی (PITR) از حذف یا نوشتن تصادفی محافظت می‌کند. PITR نسخه‌های اسناد شما را از مُهرهای زمان گذشته حفظ می‌کند. برای مثال، اگر توسعه‌دهنده‌ای داده‌های نادرستی را ارسال کند، یا به‌طور تصادفی داده‌ها را حذف کند یا بنویسد، PITR می‌تواند داده‌ها را به نقطه‌ای در گذشته (حداکثر تا ۷ روز) بازیابی کند.

برای هر پایگاه داده زنده‌ای که از روال‌های مطلوب پیروی می‌کند، استفاده از PITR بر عملکرد خواندن یا نوشتن تأثیری ندارد.

پنجره PITR

پس‌از فعال کردن PITR،‏ Cloud Firestore شروع به حفظ داده‌های PITR می‌کند. داده‌های PITR به‌مدت ۷ روز در پنجره PITR نگهداری می‌شود.

می‌توانید داده‌ها را برای مُهر زمان براساس زمان فعال شدن PITR بخوانید:

وضعیت فعال‌سازی PITR قدیمی‌ترین داده‌های «بازیابی نقطه‌زمانی» دردسترس
غیرفعال ‫۱ ساعت قبل‌از زمان درخواست خواندن
ظرف ۷ روز فعال شد ‫۱ ساعت قبل‌از فعال شدن PITR
بیش‌از ۷ روز پیش فعال شده است ۷ روز قبل‌از زمان درخواست خواندن

در پنجره PITR، یک نسخه در هر دقیقه حفظ می‌شود. می‌توانید اسناد را با جزئیات دقیق دقیقه بااستفاده از مُهر زمان دقیقه کامل بخوانید. خوانش‌هایی که در سطح دقیقه نیستند، مانند 2023-05-30 09:00:00.1234AM، خطایی برمی‌گردانند که read_time خیلی قدیمی است.

درصورت وجود چند نسخه نوشتاری، فقط یک نسخه از سند حفظ می‌شود. برای مثال، اگر سندی چندین نوشتار در محدوده v1, v2, ... vk بین مُهر زمان 2023-05-30 09:00:00AM (انحصاری) و 2023-05-30 09:01:00AM (فراگیر) داشته باشد، درخواست خواندن در مُهر زمان 2023-05-30 09:01:00AM نسخه vk سند را برمی‌گرداند.

می‌توانید از داده‌های ایجادشده درطول پنجره PITR بخوانید. داده‌ها در سطح جزئیات دقیقه‌ای ذخیره می‌شوند و می‌توانید داده‌ها را در همان سطح جزئیات بازیابی کنید. ویژگی PITR به‌طور پیش‌فرض غیرفعال است.

فیلد earliestVersionTime پایگاه داده شما زودترین زمان مجاز خواندن داده‌هایتان را مشخص می‌کند.

صرف‌نظر از اینکه PITR فعال باشد یا نه، می‌توانید اسناد را در هر مُهر زمان با دقت میکروثانیه در ساعت گذشته بخوانید (اما نمی‌توانید صادر کنید)، اما نه قبل‌از earliestVersionTime.

روش‌های بازیابی داده‌ها

چند روش برای بازیابی داده‌ها وجود دارد:

  • برای بازیابی بخشی از پایگاه داده، خواندن قدیمی را انجام دهید و شرط پُرسمان را مشخص کنید یا از جستجوی کلید مستقیم به‌همراه مُهر زمان در گذشته استفاده کنید، و سپس نتایج را دوباره در پایگاه داده زنده بنویسید. این معمولاً برای عملیات جراحی در پایگاه داده زنده استفاده می‌شود. برای مثال، اگر به‌طور تصادفی سند خاصی را حذف کنید یا زیرمجموعه‌ای از داده‌ها را به‌طور نادرست به‌روز کنید، می‌توانید آن را با این روش بازیابی کنید. برای دستورالعمل‌ها، بازیابی بخشی از پایگاه داده را ببینید.

  • برای بازیابی کل پایگاه داده، از یکی از گزینه‌های زیر استفاده کنید:

    • کلون کردن پایگاه داده برای ایجاد کردن کپی از پایگاه داده در مُهر زمان خاص.

    • پایگاه داده را صادر کنید و مُهر زمان گذشته را مشخص کنید و سپس آن را به پایگاه داده جدیدی وارد کنید. عملیات صادر کردن PITR از همه فیلترها، ازجمله صادر کردن همه اسناد و صادر کردن مجموعه‌های خاص، پشتیبانی می‌کند.

    می‌توانید داده‌های PITR را که مُهر زمان آن مُهر زمان دقیقه کامل در هفت روز گذشته است، اما نه زودتر از earliestVersionTime، شبیه‌سازی یا صادر کنید.

قیمت‌گذاری

قبل‌از فعال کردن PITR برای پایگاه داده‌تان، اطلاعات قیمت‌گذاری زیر را درنظر بگیرید:

  • فضای ذخیره‌سازی: Cloud Firestore اندازه پایگاه داده را روزانه اندازه‌گیری می‌کند. درطول یک ماه، میانگین این نقاط نمونه برای محاسبه اندازه فضای ذخیره‌سازی پایگاه داده گرفته می‌شود. این مقدار میانگین در قیمت واحد PITR (گیگابایت-ماه) ضرب می‌شود. برای اطلاعات بیشتر، قیمت‌گذاری فضای ذخیره‌سازی را ببینید.

    فضای ذخیره‌سازی PITR سطح رایگان ندارد و اگر می‌خواهید از PITR استفاده کنید، باید صورت‌حساب را فعال کنید.

  • محاسبه صورت‌حساب: هر پُرسمانی که در پنجره PITR هفت روزه انجام می‌دهید، چه ازطریق خواندن‌های قدیمی یا صادر کردن‌ها، هزینه‌های عملیات خواندن را براساس تعداد اسناد خوانده‌شده متحمل می‌شود. برای اطلاعات بیشتر، به قیمت‌گذاری مراجعه کنید.

  • حداقل صورت‌حساب: ممکن است تا ۱ روز هزینه فضای ذخیره‌سازی PITR از شما کسر شود، حتی اگر PITR را ظرف یک روز پس‌از فعال‌سازی غیرفعال کنید.

حالا چه می‌شود