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

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

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

پنجره بازیابی نقطه‌زمانی

پس‌از فعال کردن PITR،‏ Cloud Firestore شروع به حفظ داده‌های PITR می‌کند. داده‌های 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 از شما کسر شود.

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