我們建議您使用下列工具,在 Spanner 遷移的各個階段提供協助,具體取決於來源資料庫和其他因素。部分工具僅支援特定來源資料庫。遷移程序的部分步驟沒有工具可用,因此您必須手動完成這些步驟。
Spanner 遷移工具 (SMT) 是一種開放原始碼工具,可執行評估、結構定義轉換和資料遷移作業。如要瞭解如何設定 Spanner 遷移工具,請參閱「設定 Spanner 遷移工具」。
Datastream 是一項服務,可讓您從來源資料庫讀取變更資料擷取 (CDC) 事件和大量資料,並寫入指定目的地。 Google Cloud
大量資料遷移是 Dataflow 範本,可讓您將大型 MySQL 資料集直接遷移至 Spanner。
即時資料遷移 會使用 Datastream 和 Dataflow 遷移下列資料:
- 來源資料庫中的現有資料。
- 遷移期間對來源資料庫所做的變更串流。
資料驗證工具 (DVT) 是 Google 建構的標準化資料驗證方法,並由開放原始碼社群支援。您可以將 DVT 整合至現有Google Cloud 產品。
資料庫遷移評估 (DMA) 提供基本評估,協助您將 MySQL 和 PostgreSQL 遷移至 Spanner。
MySQL 來源資料庫的遷移工具
如果來源資料庫是 MySQL,您可以使用 MySQL 傾印檔案執行部分初始遷移階段。您必須直接連線至正在執行的來源 MySQL 資料庫,才能完成正式環境遷移作業。
下表根據移轉階段,以及您是否使用傾印檔案或直接連線至來源資料庫,建議使用適當的移轉工具:
| 遷移階段 | 傾印檔案 | 直接連線至來源資料庫 |
|---|---|---|
| 評估 |
使用 SMT
搭配 mysqldump。
|
使用 SMT
搭配 mysqldump。
|
| 結構定義轉換 |
使用 SMT
搭配 mysqldump。
|
使用 SMT 設定及轉換結構定義。 |
| 載入範例資料 |
|
執行大量遷移。 |
| 資料遷移 | 不適用 | 執行大量遷移, 然後執行停機時間最短的遷移作業。 |
| 資料驗證 | 不適用 | 使用 DVT。 |
| 轉換和備援設定 | 不適用 | 使用 SMT 進行反向複製。 |
PostgreSQL 來源資料庫的遷移工具
如果來源資料庫使用 PostgreSQL,您可以使用 PostgreSQL 傾印檔案執行部分遷移階段。您必須直接連線至正在執行的來源 PostgreSQL 資料庫,才能完成遷移作業。
下表根據移轉階段,以及您是否使用傾印檔案或直接從來源資料庫連線,建議適用的移轉工具:
| 遷移階段 | 傾印檔案 | 直接連線至來源資料庫 |
|---|---|---|
| 評估 | 搭配 pg_dump 使用 SMT。 |
使用 DMA。 |
| 結構定義轉換 | 搭配 pg_dump 使用 SMT。 |
使用 SMT 設定及轉換結構定義。 |
| 載入範例資料 |
|
執行停機時間最短的遷移作業。 |
| 資料遷移 | 不適用 | 執行停機時間最短的遷移作業。 |
| 資料驗證 | 不適用 | 使用 DVT。 |
| 轉換和備援設定 | 不適用 | 不適用 |
Cassandra 來源資料庫的遷移工具
Spanner 提供與 Cassandra 相容的介面,從 Cassandra 遷移至 Spanner 時,幾乎不需要變更應用程式程式碼。如要進一步瞭解相容性詳細資料,請參閱 Cassandra 總覽。
下表根據遷移階段提供建議的遷移工具:
| 遷移階段 | 建議工具或程序 |
|---|---|
| 評估 | 不適用 |
| 結構定義轉換 | 結構轉換工具 |
| 資料遷移 | |
| 資料驗證 |
如果是大型資料庫 (超過 1 千萬列),請自行建構工具。 詳情請參閱使用資料列比對驗證 Cassandra 的提示。 如為小型資料庫 (少於 1 千萬列),請參閱 GitHub 中的驗證指令碼範例。 |
| 容錯移轉設定 | 使用 GitHub 中的 Spanner 遷移工具 CLI (SMT) 進行反向複製。 |