時間點恢復 (PITR) 概述

Cloud Firestore 時間點復原 (PITR) 可防止意外刪除或寫入。 PITR 維護過去時間戳記的文件版本。例如,如果開發人員推送任何不正確的資料、意外刪除或寫入,PITR 可以將資料無縫地恢復到過去的某個時間點(最多 7 天)。

對於任何遵循最佳實踐的即時資料庫,使用 PITR 不會影響讀取或寫入的效能。

PITR視窗

啟用 PITR 後,Cloud Firestore 開始保留 PITR 資料。 PITR 資料在 PITR 視窗中保留 7 天。

您可以根據啟用 PITR 的時間讀取時間戳記資料:

PITR 啟用狀態最早可用的 PITR 數據
殘障人士讀取請求時間前 1 小時
7天內啟用啟用 PITR 前 1 小時
超過 7 天前啟用讀取請求時間前 7 天

每分鐘一個版本保留在 PITR 視窗中。您可以使用整分鐘時間戳以分鐘粒度讀取文件。非分鐘粒度的讀取,例如2023-05-30 09:00:00.1234AM ,將傳回 read_time 太舊的錯誤。

在多次寫入的情況下,僅保留文件的一個版本。例如,如果文件在2023-05-30 09:00:00AM (不含)和2023-05-30 09:01:00AM (含)時間戳之間有多個寫入,範圍為v1, v2, ... vk ,則時間戳記為2023-05-30 09:01:00AM的讀取請求返回文檔的vk版本。

您可以讀取 PITR 視窗期間建立的資料。資料以分鐘粒度存儲,您可以以相同粒度恢復資料。 Cloud Firestore PITR 功能預設為停用狀態。

資料庫的EarlyVersionTime欄位指定資料的最早允許讀取時間。

無論是否啟用 PITR,您都可以在過去一小時內的任何微秒粒度時間戳記處讀取(但不能導出)文檔,但不能在最早版本時間之前讀取。

恢復資料的方法

恢復資料有兩種方法:

  • 若要復原資料庫的一部分,請執行指定查詢條件的過時讀取或使用直接鍵查找以及過去的時間戳,然後將結果寫入即時資料庫。這通常用於對即時資料庫進行外科手術。例如,如果您意外刪除了特定文件或錯誤地更新了資料子集,則可以使用此方法將其還原。有關說明,請參閱恢復資料庫的一部分

  • 若要還原整個資料庫請匯出指定過去時間戳記的資料庫,然後將其匯入到新資料庫。 PITR導出操作支援所有篩選器,包括所有文件的匯出和特定集合的匯出。您可以匯出 PITR 數據,其中時間戳記是過去 7 天內的整分鐘時間戳,但不能早於最早的版本時間。

價錢

在為資料庫啟用 PITR 之前,請考慮以下定價資訊:

  • 儲存:Cloud Firestore 每天測量資料庫大小。在一個月內,對這些樣本點進行平均以計算資料庫儲存大小。此平均值乘以 PITR(GB-月)的單價。有關詳細信息,請參閱存儲定價

    PITR 儲存沒有免費套餐,如果您想使用 PITR,則必須啟用計費。

  • 計算計費:您在 7 天的 PITR 視窗期間進行的任何查詢(無論是透過過時讀取還是匯出)都會根據讀取的文件數量產生讀取操作成本。請參閱定價以了解更多資訊。

  • 最低計費:即使您在啟用後一天內停用 PITR,也可能需要支付最多 1 天的 PITR 儲存費用。

下一步是什麼