時間點復原 (PITR) 可防止意外刪除或寫入。PITR 會保留過去時間戳記的文件版本。舉例來說,如果開發人員推送任何不正確的資料、意外刪除或寫入資料,PITR 可將資料復原至過去的時間點 (最多 7 天)。
對於任何遵循最佳做法的即時資料庫,使用 PITR 不會影響讀取或寫入效能。時間點復原視窗
啟用 PITR 後,Cloud Firestore 會開始保留 PITR 資料。PITR 資料會在 PITR 期間保留 7 天。
您可以根據 PITR 啟用時間,讀取特定時間戳記的資料:
| PITR 啟用狀態 | 最早可用的 PITR 資料 | |
|---|---|---|
| 已停用 | 讀取要求時間前 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
版本。
您可以讀取在 PITR 期間建立的資料。資料會以分鐘為單位儲存,您也可以用相同的精細程度復原資料。PITR 功能預設為停用。
資料庫的 earliestVersionTime 欄位會指定資料最早可讀取的時間。
無論是否啟用 PITR,您都可以讀取 (但無法匯出) 過去一小時內任何微秒精細度時間戳記的文件,但不得早於 earliestVersionTime。
復原資料的方法
復原資料的方法有很多種:
如要復原部分資料庫,請執行過時讀取,指定查詢條件或使用直接鍵查詢,並搭配過去的時間戳記,然後將結果寫回即時資料庫。這通常用於對運作中的資料庫執行精細作業。舉例來說,如果您不小心刪除特定文件,或錯誤更新部分資料,可以使用這個方法復原。如需操作說明,請參閱復原部分資料庫。
如要復原整個資料庫,請使用下列其中一種方法:
您可以複製或匯出 PITR 資料,時間戳記為過去七天內的整分鐘時間戳記,但不得早於
earliestVersionTime。
定價
為資料庫啟用 PITR 前,請先考量下列定價資訊:
儲存空間:Cloud Firestore 每天都會測量資料庫大小。在一個月的期間內,系統會計算這些取樣點的平均值,藉此算出資料庫儲存空間大小。這個平均值會乘以 PITR 的單價 (GB-月)。詳情請參閱儲存空間定價。
PITR 儲存空間不提供免費方案,您必須啟用計費功能才能使用 PITR。
運算計費:在 7 天的 PITR 期間內,無論是透過過時讀取或匯出作業執行的查詢,都會根據讀取的文件數量產生讀取作業費用。詳情請參閱價格一文。
最低計費:即使您在啟用 PITR 後的一天內停用,系統仍可能向您收取最多 1 天的 PITR 儲存費用。
後續步驟
- 進一步瞭解如何使用 PITR 復原資料。