在最佳化 Spanner 結構定義並遷移應用程式後,您可以將資料移至空白的正式版大小 Spanner 資料庫,然後切換應用程式以使用 Spanner 資料庫。
視用途而定,您可能可以在最短的停機時間內執行即時資料遷移作業,也可能需要較長的停機時間才能執行資料遷移作業。
如果應用程式無法承受大量停機時間,請考慮執行即時資料遷移。如果應用程式可以處理停機時間,您可以考慮在停機期間進行遷移。
在即時資料遷移作業中,您需要設定網路基礎架構,讓資料在來源資料庫、目標 Cloud Spanner 資料庫,以及用於執行資料遷移作業的工具之間流動。您需要根據貴機構的合規規定,決定要使用私人或公開網路連線。您可能需要請貴機構的網路管理員設定基礎架構。
即時資料遷移
即時資料遷移作業包含兩個部分:
- 在來源資料庫的一致快照中遷移資料。
- 遷移自該快照以來的變更串流 (插入、更新和刪除),稱為變更資料擷取 (CDC)。
雖然即時資料遷移可協助保護資料,但過程中會遇到一些挑戰,包括:
- 在快照遷移期間儲存 CDC 資料。
- 擷取傳入的 CDC 串流時,將 CDC 資料寫入 Spanner。
- 確保將 CDC 資料遷移至 Spanner 的速度,比傳入的 CDC 串流更快。
有停機時間的遷移作業
如果來源資料庫可以匯出至 CSV 或 Avro,您就可以在停機期間遷移至 Spanner。詳情請參閱 Spanner 匯入和匯出功能總覽。
有停機時間的遷移作業可用於測試環境或可處理幾小時停機時間的應用程式。在實際運作中資料庫上,如果遷移作業造成服務中斷,可能會導致資料遺失。
如要執行停機遷移作業,請考慮採用下列概略方法:
- 停止應用程式,並從來源資料庫產生資料的傾印檔案。
- 以 MySQL、PostgreSQL、Avro 或 CSV 轉儲格式,將轉儲檔案上傳至 Cloud Storage。
- 使用 Dataflow 或 Spanner 遷移工具,將轉儲檔案載入 Spanner。
產生多個小型傾印檔案可加快寫入 Spanner 的速度,因為 Spanner 可同時讀取多個傾印檔案。
從來源資料庫產生傾印檔時,請注意下列事項,以便產生一致的資料快照:
- 執行轉儲作業前,請對來源資料庫套用讀取鎖定,以免在轉儲檔案產生期間資料發生變更。
- 或者,您也可以使用來源資料庫的讀取備用資源 (已停用複製作業) 產生傾印檔案。
來源專屬指南
- MySQL:MySQL 即時資料移轉。