時間點復原 (PITR) 總覽

Spanner 時間點復原 (PITR) 功能可防止資料意外遭到刪除或寫入。舉例來說,如果運算子不慎寫入資料,或是應用程式推出時損毀資料庫,您可以使用 PITR 從過去的時間點 (最多七天) 無縫復原資料。如需長期保留資料,可以使用「備份與還原」或「匯出與匯入」

根據預設,資料庫會將所有版本的資料和結構定義保留一小時。您可以透過「version_retention_period」選項將時間限制延長至最多七天。如需操作說明,請參閱「設定保留期限」。Spanner 會以微秒的精細程度儲存舊版資料,資料庫則會維護 earliest_version_time,代表您可復原舊版資料的最早時間。

資料復原方式

資料復原方式有兩種:

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

  • 如要復原整個資料庫,請備份匯出資料庫,並指定過去的時間戳記,然後還原或匯入至新資料庫。這通常用於從資料損毀問題復原,您必須將資料庫還原至損毀發生前的時間點。請注意,備份或匯出資料庫可能需要數小時,而且您無法還原或匯入現有資料庫。如需操作說明,請參閱還原整個資料庫

效能注意事項

保留期限較長的資料庫 (尤其是經常覆寫資料的資料庫) 會使用更多系統資源。這可能會影響資料庫的效能,尤其是當執行個體未佈建足夠的運算容量時。如果資料庫的覆寫率非常高 (例如每天覆寫資料庫多次),建議您逐步延長保留期限,並監控系統。請注意以下事項:

  • 提高儲存空間使用率。建議您設定儲存空間快滿警示,確保不會超過儲存空間上限。延長保留期限時,請注意,隨著資料庫累積舊版資料,儲存空間用量會逐漸增加。這是因為舊資料在先前的保留期限內會過期,但現在不會了。舉例來說,如果將保留期限從 3 天延長至 7 天,您需要等待 4 天,資料庫儲存空間用量才會趨於穩定。我們也提供預估儲存空間增加量的操作說明。

  • CPU 使用率和延遲時間增加。Spanner 會使用額外的運算資源,壓縮及維護舊版資料。監控執行個體和資料庫,確保延遲和 CPU 使用率維持在可接受的程度。

  • 結構定義更新時間延長。延長保留期限表示結構定義版本必須保留更長的時間,這可能會導致結構定義更新throttled,因為系統需要等待伺服器資源。請務必遵循結構定義更新的最佳做法,並遵守結構定義更新的限制

定價

使用 PITR 不會產生額外費用,不過,如果將資料庫的版本保留期限從預設的一小時延長,資料庫儲存空間和運算容量的費用可能會增加。您的隨選備份費用不會受到影響,因為系統只會儲存單一版本的資料庫。詳情請參閱「效能考量」一節。增加資料庫的版本保留期限前,請先預估資料庫儲存空間的預期增幅

如需 Spanner 的一般計費資訊,請參閱 Spanner 定價

後續步驟