Cloud Firestore 時間點復原 (PITR) 功能可提供防護 意外刪除或寫入資料PITR 會維護 記錄了過去時間戳記的文件例如,如果開發人員 推送任何不正確的資料、意外刪除或寫入時,PITR 就會將 將資料回溯至過去的某個時間點 (最多 7 天),
如為符合最佳做法的即時資料庫,請使用 的時間點復原功能不會影響讀取或寫入效能。
時間點復原 (PITR) 視窗
啟用時間點復原功能後,「Cloud Firestore」會開始保留時間點復原資料。PITR 資料會在 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 時間點復原功能預設為停用。
資料庫的 earliestVersionTime 欄位會指定 最快的讀取時間。
無論您是否啟用 PITR,都能讀取 (但無法匯出) 過去 1 小時內任何微秒精細程度的時間戳記文件,但無法匯出早於 earliestVersionTime 時間的文件。
復原資料的方式
您可以透過兩種方式復原資料:
如要復原部分資料庫,請執行過時讀取 或使用直接鍵查詢,並搭配 然後將結果寫回即時資料庫。這類作業通常用於對即時資料庫進行精確的操作。舉例來說 您不小心刪除了特定文件或未正確更新 您可以使用這個方法進行復原如需指示,請參閱: 復原資料庫的一部分
如要復原整個資料庫,請匯出指定 並匯入新的資料庫PITR 匯出作業支援所有篩選器,包括匯出所有文件和匯出特定集合。您可以匯出時間戳記為過去七天內整分鐘時間戳記的 PITR 資料,但不得早於 earliestVersionTime。
定價
為資料庫啟用時間點復原功能前,請先考量下列定價資訊:
儲存空間:Cloud Firestore 每天都會測量資料庫大小。系統會在一個月的期間內計算這些樣本點的平均值,以便計算資料庫儲存空間大小。這個平均值乘以單價 時間點復原 (GB-月)。詳情請參閱儲存空間定價。
PITR 儲存空間沒有免費方案,因此您必須啟用結帳功能,才能使用 PITR。
運算計費:在 7 天的時間點復原期間執行的任何查詢, 或透過過時讀取或匯出作業,產生讀取作業費用 根據讀取的文件數量預測詳情請參閱價格一文。
最低計費:即使您在啟用 PITR 後的 1 天內停用 PITR,仍可能會被收取最多 1 天的 PITR 儲存空間費用。
後續步驟
- 進一步瞭解如何使用時間點復原功能還原資料。