移行のさまざまな段階で、ソース データベースやその他の要因に応じて、次のツールを使用することをおすすめします。一部のツールは、特定のソース データベースのみをサポートしています。移行プロセスの一部の手順ではツールを使用できないため、手動で行う必要があります。
Spanner 移行ツール(SMT)は、評価、スキーマ変換、データ移行を行うオープンソース ツールです。Spanner 移行ツールの設定については、Spanner 移行ツールを設定するをご覧ください。
Datastream は、ソース データベースから変更データ キャプチャ(CDC)イベントと一括データを読み取り、指定された宛先に書き込むことができる Google Cloudサービスです。
一括データ移行は、大規模な MySQL データセットを Spanner に直接移行できるようにする Dataflow テンプレートです。
ライブデータ移行では、Datastream と Dataflow を使用して次のものを移行します。
- ソース データベース内の既存のデータ。
- 移行中にソース データベースに加えられた変更のストリーム。
データ検証ツール(DVT)は、Google が構築した、オープンソースのコミュニティにサポートされている標準のデータ検証方法です。DVT は既存のGoogle Cloud プロダクトに統合できます。
データベースの移行評価(DMA)は、MySQL と PostgreSQL を Spanner に移行するための基本的な評価を提供します。
MySQL ソース データベースの移行ツール
ソース データベースが MySQL の場合は、MySQL ダンプファイルを使用して移行の初期段階の一部を実行できます。本番環境への移行を完了するには、実行中のソース MySQL データベースに直接接続する必要があります。
次の表に、移行の段階と、ダンプファイルを使用するかどうか、ソース データベースに直接接続するかどうかに応じた移行ツールの推奨事項を示します。
移行ステージ | ダンプファイル | ソース データベースへの直接接続 |
---|---|---|
評価 |
mysqldump で SMT を使用します。 |
mysqldump で SMT を使用します。 |
スキーマの変換 |
mysqldump で SMT を使用します。 |
SMT を使用してスキーマを構成して変換します。 |
サンプルデータの読み込み |
|
一括移行を実行します。 |
データの移行 | 該当なし | 一括移行を実行してから、ダウンタイムを最小限に抑えた移行を実行します。 |
データの検証 | 該当なし | DVT を使用します。 |
カットオーバーとフォールバックの構成 | 該当なし | リバース レプリケーションには SMT を使用します。 |
PostgreSQL ソース データベースの移行ツール
ソース データベースで PostgreSQL を使用している場合は、PostgreSQL ダンプファイルを使用して移行段階の一部を実行できます。移行を完了するには、実行中のソース PostgreSQL データベースに直接接続する必要があります。
次の表に、移行の段階と、ダンプファイルを使用するかどうか、ソース データベースから直接接続するかどうかに応じた移行ツールの推奨事項を示します。
移行ステージ | ダンプファイル | ソース データベースへの直接接続 |
---|---|---|
評価 | pg_dump で SMT を使用します。 |
DMA を使用します。 |
スキーマの変換 | pg_dump で SMT を使用します。 |
SMT を使用してスキーマを構成して変換します。 |
サンプルデータの読み込み |
|
ダウンタイムを最小限に抑えた移行を実行します。 |
データの移行 | 該当なし | ダウンタイムを最小限に抑えた移行を実行します。 |
データの検証 | 該当なし | DVT を使用します。 |
カットオーバーとフォールバックの構成 | 該当なし | 該当なし |
Cassandra ソース データベースの移行ツール
Spanner には、Cassandra から Spanner に移行する際にアプリケーション コードをほぼ変更せずに移行できる Cassandra 互換のインターフェースが用意されています。互換性の詳細については、Cassandra の概要をご覧ください。
次の表に、移行の段階に基づく移行ツールの推奨事項を示します。
移行ステージ | 推奨されるツールまたはプロセス |
---|---|
評価 | 該当なし |
スキーマの変換 | スキーマ変換ツール |
データの移行 |
|
データの検証 |
大規模なデータベース(1,000 万行超)の場合: 独自のツールを構築します。詳細については、行の一致を使用して Cassandra を検証するヒントをご覧ください。 小規模なデータベース(1,000 万行未満)の場合は、GitHub のサンプル検証スクリプトをご覧ください。 |
フェイルオーバー構成 | リバース レプリケーションには、GitHub の Spanner 移行ツール CLI(SMT)を使用します。 |