時間點復原 (PITR) 總覽

Datastore 模式的 Firestore 時間點復原 (PITR) 功能可防止資料遭意外刪除或寫入。PITR 會保留實體在過去時間戳記的版本。舉例來說,如果開發人員推送錯誤資料、意外刪除或寫入資料,PITR 可無縫復原過去 (最多 7 天) 特定時間點的資料。

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

時間點復原時間範圍

啟用 PITR 後,Datastore 模式就會開始保留 PITR 資料。PITR 資料會在 PITR 期間保留 7 天。

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

PITR 啟用狀態 最早可用的 PITR 資料
已停用 讀取要求時間前 1 小時
在 7 天內啟用 啟用 PITR 前 1 小時
啟用時間超過 7 天 讀取要求時間前 7 天

在 PITR 視窗中,每分鐘會保留一個版本。您可以使用整分鐘的時間戳記,以分鐘為單位讀取文件。如果多次寫入,系統只會保留一份文件版本。舉例來說,如果文件在 2023-05-30 09:00:00AM (不含) 和 2023-05-30 09:01:00AM (含) 時間戳記之間,進行多次寫入作業,則在 2023-05-30 09:01:00AM 時間戳記提出的讀取要求會傳回文件的 vk 版本。v1, v2, ... vk

您可以讀取在時間點復原時間範圍內建立的資料。資料會以分鐘為單位儲存,您也可以以相同的精細程度復原資料。Datastore 模式的 PITR 功能預設為停用。

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

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

資料復原方式

資料復原方式有兩種:

  • 如要復原部分資料庫,請執行過時讀取,指定查詢條件或使用直接鍵查閱和過去的時間戳記,然後將結果寫回即時資料庫。這通常用於對即時資料庫進行手術式作業。 舉例來說,如果您不小心刪除特定實體或錯誤更新部分資料,都可以透過這個方法復原。如需操作說明,請參閱復原部分資料庫

  • 如要復原整個資料庫,請匯出資料庫並指定過去的時間戳記,然後匯入新資料庫。PITR 匯出作業支援所有篩選器,包括匯出所有實體,以及匯出特定種類或命名空間。請注意,匯出資料庫可能需要數小時。您可以匯出過去七天內的時間點復原資料,但時間戳記必須是整分鐘,且不得早於 earliestVersionTime。

定價

為資料庫啟用 PITR 前,請先考量下列價格資訊:

  • 儲存空間:Datastore 模式會每天測量資料庫大小。在一個月內,我們會將這些樣本點取平均值,計算出資料庫儲存空間大小。這個平均值會乘以 PITR 的單價 (每月每 GB)。詳情請參閱儲存空間價格

    PITR 儲存空間沒有免費方案,如要使用 PITR,必須啟用帳單。

  • 運算費用:在 7 天的 PITR 期間內,無論是透過過時讀取或匯出作業進行的任何查詢,都會根據讀取的檔案數量產生讀取作業費用。詳情請參閱價格一文。

  • 最低計費:即使您在啟用 PITR 後一天內停用,系統仍可能會收取最多 1 天的 PITR 儲存空間費用。

後續步驟