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

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

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

پنجره PITR

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

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

قیمت‌گذاری

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

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

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

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

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

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