時間點復原 (PITR) 總覽

Cloud Firestore 時間點復原 (PITR) 功能可防止 意外刪除或寫入資料PITR 會維護 記錄了過去時間戳記的文件例如,如果開發人員 推送任何不正確的資料、意外刪除或寫入時,PITR 就會將 將資料回溯至過去的某個時間點 (最多 7 天),

如為符合最佳做法的即時資料庫,請使用 的時間點復原功能不會影響讀取或寫入效能。

時間點復原 (PITR) 視窗

啟用時間點復原功能後,Cloud Firestore 會開始保留時間點復原資料。時間點復原資料 在 PITR 視窗中保留 7 天。

您可以根據時間點復原功能啟用時間,讀取時間戳記的資料:

時間點復原功能啟用狀態 提供最早的時間點復原資料
已停用 讀取要求時間的 1 小時前
在 7 天內啟用 啟用時間點復原功能前 1 小時
啟用時間超過 7 天 讀取要求時間的 7 天前

系統會在 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 專屬版本

您可以讀取在時間點復原之前建立的資料 視窗。資料會以每分鐘為單位儲存,您可以復原資料 也就是同樣的Cloud Firestore PITR 功能預設為停用。

資料庫的 earliestVersionTime 欄位會指定 最快的讀取時間。

無論您是否啟用 PITR,都能讀取 (但無法匯出) 過去 1 小時內任何微秒精細程度的時間戳記文件,但無法匯出早於 earliestVersionTime 時間的文件。

復原資料的方式

您可以透過兩種方式復原資料:

  • 如要復原部分資料庫,請執行過時讀取 或使用直接鍵查詢,並搭配 然後將結果寫回即時資料庫。這是 通常用於即時資料庫的手術作業。舉例來說 您不小心刪除了特定文件或未正確更新 您可以使用這個方法進行復原如需指示,請參閱: 復原資料庫的一部分

  • 如要復原整個資料庫,請匯出指定 並匯入新的資料庫時間點復原 匯出作業支援所有篩選器,包括匯出所有文件和 匯出特定集合。您可以將時間點復原 (PITR) 資料匯出到時間戳記 是過去 7 天內的整分鐘時間戳記,但早於實際時間戳記 和 <arliestVersionTime>

定價

為資料庫啟用時間點復原功能前,請先考量下列定價資訊:

  • 儲存空間:Cloud Firestore 每天都會測量資料庫大小。期間 並計算這些取樣點的平均值 資料庫儲存空間大小這個平均值乘以單價 時間點復原 (GB-月)。詳情請參閱儲存空間定價

    時間點復原 (PITR) 儲存空間功能沒有免費方案。如要使用時間點復原 (PITR),則須啟用計費功能。

  • 運算計費:在 7 天的時間點復原期間執行的任何查詢, 或透過過時讀取或匯出作業,產生讀取作業費用 根據讀取的文件數量預測詳情請參閱價格一文。

  • 最低費用:即使您在啟用後一天內停用時間點復原 (PITR),最多還是需要支付 1 天的時間點復原 (PITR) 儲存空間費用。

後續步驟