移行ツール

移行のさまざまな段階で、ソース データベースやその他の要因に応じて、次のツールを使用することをおすすめします。一部のツールは、特定のソース データベースのみをサポートしています。移行プロセスの一部の手順ではツールを使用できないため、手動で行う必要があります。

  • 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 データベースに直接接続する必要があります。

次の表に、移行の段階と、ダンプファイルを使用するかどうか、ソース データベースに直接接続するかどうかに応じた移行ツールの推奨事項を示します。

移行ステージ ダンプファイル ソース データベースへの直接接続
評価 mysqldumpSMT を使用します。 mysqldumpSMT を使用します。
スキーマの変換 mysqldumpSMT を使用します。 SMT を使用してスキーマを構成して変換します。
サンプルデータの読み込み
  • サンプル ダンプファイルのサイズが 100 GB 未満の場合は、POC モードで SMT を使用します。
  • サンプル ダンプファイルが 100 GB を超える場合は、ファイルを Cloud SQL にエクスポートして、一括移行を実行します。
  • サンプル ダンプファイルが CSV、Avro、または Parquet のファイル形式の場合は、リバース ETL を使用してファイルを BigQuery に読み込み、Spanner にコピーします。
一括移行を実行します。
データの移行 該当なし 一括移行を実行してから、ダウンタイムを最小限に抑えた移行を実行します。
データの検証 該当なし DVT を使用します。
カットオーバーとフォールバックの構成 該当なし リバース レプリケーションには SMT を使用します。

PostgreSQL ソース データベースの移行ツール

ソース データベースで PostgreSQL を使用している場合は、PostgreSQL ダンプファイルを使用して移行段階の一部を実行できます。移行を完了するには、実行中のソース PostgreSQL データベースに直接接続する必要があります。

次の表に、移行の段階と、ダンプファイルを使用するかどうか、ソース データベースから直接接続するかどうかに応じた移行ツールの推奨事項を示します。

移行ステージ ダンプファイル ソース データベースへの直接接続
評価 pg_dumpSMT を使用します。 DMA を使用します。
スキーマの変換 pg_dumpSMT を使用します。 SMT を使用してスキーマを構成して変換します。
サンプルデータの読み込み ダウンタイムを最小限に抑えた移行を実行します。
データの移行 該当なし ダウンタイムを最小限に抑えた移行を実行します。
データの検証 該当なし DVT を使用します。
カットオーバーとフォールバックの構成 該当なし 該当なし

Cassandra ソース データベースの移行ツール

Spanner には、Cassandra から Spanner に移行する際にアプリケーション コードをほぼ変更せずに移行できる Cassandra 互換のインターフェースが用意されています。互換性の詳細については、Cassandra の概要をご覧ください。

次の表に、移行の段階に基づく移行ツールの推奨事項を示します。

移行ステージ 推奨されるツールまたはプロセス
評価 該当なし
スキーマの変換 スキーマ変換ツール
データの移行
データの検証

大規模なデータベース(1,000 万行超)の場合: 独自のツールを構築します。詳細については、行の一致を使用して Cassandra を検証するヒントをご覧ください。

小規模なデータベース(1,000 万行未満)の場合は、GitHub のサンプル検証スクリプトをご覧ください。

フェイルオーバー構成 リバース レプリケーションには、GitHub の Spanner 移行ツール CLI(SMT)を使用します。