異なる DBMS から効率的に Cloud Spanner へ移行!ツールを活用したマイグレーション方法を徹底解説!
- Cloud
- DBMS
- Dataflow
- Spanner
本記事は、2021年9月8日に開催された Google の公式イベント「データクラウドサミット」において、 Google Cloud Japan のデータベーススペシャリストである胡淑鳳氏が講演された「ツールを使用し異種 DBMS から Cloud Spanner への移行を加速する」のレポート記事となります。
今回は Cloud Spanner の概要に触れつつ、異なる種類の DBMS (データベース管理システム)から Cloud Spanner へシームレスにマイグレーションを行うための方法を詳しく解説します。具体的な移行方法まで紹介していますので、ぜひ最後までご覧ください。
なお、本記事内で使用している画像に関しては、データクラウドサミット「ツールを使用し異種 DBMS から Cloud Spanner への移行を加速する」を出典元として参照しております。
それでは、早速内容を見ていきましょう。
目次
Cloud Spanner とは?
Cloud Spanner は Google が提供しているリレーショナルデータベース(以下 RDB と記載)です。 RDB とはデータベースの一種であり、日本語では「関係データベース」と呼ばれることもあります。
RDB はデータを複数の表として管理し、それぞれの関係を定義することで複雑なデータ処理を可能にします。RDB は規模を問わずに利用されており、個人用途から大企業の社内システムまで、幅広いシーンで活躍しています。
Cloud Spanner は ACID に準拠した RDB データベースであり、様々な処理を自動で行うことができます。そのため、シーンに応じた最適な処理を実現することが可能になります。
また、Cloud Spanner は、Google の専用ネットワーク上に構築されており、高い可用性を誇るサービスです。最大で 99.999% の可用性を提供するため、ビジネスシーンでも安心して利用することができます。
さらに シンプルな操作で直感的に操作できる点も Cloud Spanner のメリットです。本来は、データベースの運用に伴う複雑かつ煩雑な作業が多く発生しますが、Cloud Spanner を利用することで、データベースの作成やスケールが数クリックで完了するため、社員の運用負荷軽減を実現できます。
Cloud Spanner に関心のある方は以下の記事がオススメです。
Google のリレーショナルデータベース Cloud Spanner とは?概要、特徴、メリット、活用事例まで一挙に紹介!
Cloud Spanner で性能調査をするためのポイントとは? RDBMS の一般的な観点も交えて徹底解説!
Cloud Spanner と Cloud SQLの比較をした記事もありますので、あわせてご覧ください。
Cloud Spanner と BigQuery を活用してリアルタイム分析する方法について解説した記事もありますので、あわせてご覧ください。
BigQuery から Cloud Spanner に直接クエリを実行し、トランザクションデータをリアルタイムに分析しよう
Cloud Spanner の民主化
従来、 Cloud Spanner は大規模なワークロード向けのサービスとなっていましたが、最近ではエンタープライズ向けの様々な機能をリリースしており、それに伴ってあらゆるユーザーが利用できるサービスになりました。
Google は、以下3つのステップで Cloud Spanner の各種リリースを進めています。まずは導入コストの削減であり、次に開発者とエンタープライズ向けの機能です。そして最後のステップとして、 Cloud Spanner へのシームレスなマイグレーションが挙げられます。
ここからは、それぞれのステップについて詳しく見ていきましょう。
導入コストの削減
これまで、 Cloud Spanner は大規模なワークロード向けのサービスでしたが、下図に示した処理ユニットを指定することで、小さいリソース単位での使用が可能になりました。これにより、初期コストを 90% 程度も削減することができます。
開発者とエンタープライズ向けの機能
Google は開発者とエンタープライズ向けに様々な Cloud Spanner の機能を提供しています。以下に機能の一例を示していますが、これらの機能により開発者やエンタープライズがより便利に使えるようになりました。
Cloud Spanner へのシームレスなマイグレーション
Google は Cloud Spanner へシームレスにマイグレーションを行うための各種ツールを提供しています。これにより、簡単に Cloud Spanner へのマイグレーションを実現できるようになりました。
次章からは、具体的な Cloud Spanner へのマイグレーションの流れをご説明します。大きく分けて、以下の3パターンについて解説します。
- HarbourBridge による早期評価
- Datastream と Dataflow で CDC 式の移行
- Striim による大規模 DB の移行
それでは、順番に内容を見ていきましょう。
DBMS から Cloud Spanner へのシームレスな移行方法( HarbourBridge による早期評価)
HarbourBridge とは?
HarbourBridge は Spanner Community のオープンソースのツールです。小規模の PostgreSQL または MySQL からデータを取り込み、 Spanner スキーマを構築します。このスキーマを使用して新しい Spanner データベースを作成し、ソースデータベースからのデータを入力したり、実行プロセスの説明を含めた詳細な評価レポートを出力したりできます。
HarbourBridge の処理プロセス
HarbourBridge の処理プロセスは下図の通りです。 PostgreSQL と MySQL から DB に接続し、 HarbourBridge のアセスメントやデータロードなどのプロセスを経て Cloud Spanner に接続します。
HarbourBridge に接続する際のデータソースは mysqldump/pg_dump などが挙げられ、 Cloud Spanner に接続する際の移行先は Cloud Spanner インスタンスや Cloud Spanner エミュレータになります。
なお、処理プロセスの中で生成されているファイルは以下の4種類です。
HarbourBridge の使い方
次に、 HarbourBridge の使い方を簡単にご紹介します。
下図の右上に表示されている URL (こちら)から HarbourBridge へアクセスできます。実際のインストールは「 Install 」の部分を参照してください。また、例えば mysqldump などで情報を取得する場合は「 Run 」の部分に記載されているコマンドラインで実行してください。
以下、実際のサンプル文を参考までに掲載しておきます。
アセスメントについては、権限が付与できていなければ警告が出ますし、変換のサマリーも以下のように表示されます。
処理プロセスについては、スキーマやデータ、スキップなどの項目が以下のように表示されます。
このように、 HarbourBridge を活用することで、いま持っているスキーマを簡単にチェックでき、とても便利なツールとなっています。
HarbourBridge のスキーマアシスタントツール
最近、 HarbourBridge のスキーマアシスタントツールがリリースされました。これはスキーマの返還や設計をシンプルに行えるツールであり、データタイプマッピングやセッション管理、カスタマイズなど、多くの機能が搭載されています。
DBMS から Cloud Spanner へのシームレスな移行方法( Datastream と Dataflow で CDC 式の移行)
Datastream とは?
Datastream は、サーバレスかつスケーラブルな CDC ツールです。 CDC とは「 Change Data Capture 」の略であり、時間と労力を節約するために不可欠なデータ統合の手法を意味する言葉です。 Datastream は下図のように様々な特徴を持っています。
Datastream と Dataflow による Cloud Spanner への CDC ベースのデータ同期
Datastream と Dataflow を活用して Cloud Spanner へ CDC ベースのデータ同期を行う場合のフローは以下の通りです。 Oracle の LogMiner や MySQL の binlog を利用し、 Datastream の次のプロセスは Cloud Storage を使います。
Oracle にはシステム要件も存在するため、あらかじめ注意しておきましょう。また、 Dataflow に関してはテンプレートを使うと簡単に構築でき、作業効率化に繋がるのでオススメです。
Dataflowに関して、理解を深めたい方は以下の記事がおすすめです。
Google の ETL サービス「 Dataflow 」とは?概要、特徴、できること、料金体系まで徹底解説!
HarbourBridge と DataStream を活用した Cloud Spanner への移行
以下は HarbourBridge と DataStream を活用した Cloud Spanner への移行方法を示した図です。 HarbourBridge はバルクでのデータマイグレーション用途で使用し、 DataStream はストリーミングマイグレーション用途で使用します。いずれもサポートするデータソースが指定されているので、下図でチェックしておいてください。
DBMS から Cloud Spanner へのシームレスな移行方法( Striim による大規模 DB の移行)
Striim による Cloud Spanner への移行
Striim はマーケットプレイス経由で購入することができ、この Striim を活用することで Cloud Spanner への大規模 DB の移行を実現できます。 Striim による移行の特徴として、簡単に移行できる点が挙げられます。ドラッグアンドドロップで直感的に操作でき、ワンタイムもしくは CDC の情報を簡単に作成することができます。
Striim による異種データベース間の移行
Striim は様々なデータベースに対応しており、移行元としては MySQL や PostgreSQL 、 Oracle 、 SQL Server などが挙げられます。また、移行先としては Cloud Spanner や CloudSQL for MySQL 、 CloudSQL for PostgreSQL 、 CloudSQL for SQL Server などに対応しています。
このように、 Striim を使えば、異なる種類のデータベース間で効率的に移行を行うことができます。
使いやすい UI で DB 間のデータ転送を実現
Striim は使いやすい UI (ユーザーインターフェース)が特徴のサービスであり、直感的に操作できます。ターゲットとソース間でデータをストリーミングで転送し、 SQL を使用してデータパイプライン内のデータを変換します。さらに変換をリアルタイムでキャプチャし、異なるデータベースタイプ間におけるデータ転送を可能にしています。
Striim の使い方
ここからは、 Striim の使い方を簡単にご紹介します。全体の流れは以下の通りです。
まずはマーケットプレイスから Striim を検索し、 Google Compute Engine (GCE)にデプロイしてください。
デプロイ完了すると以下画面が表示されます。そして、赤枠の「 Site Address 」をクリックすれば Striim にログインできます。
その後、 GUI で初期スナップショット用のパイプラインを作成、実行します。もしくは GUI で CDC パイプラインを作成、実行することも可能です。
Striim アプリの監視
ウェブ UI を利用することで Striim アプリを監視することができます。確認可能な項目としては、ノード数や5分以内に処理されたデータ量、秒間で実施されるイベントの数、メモリ利用率、 CPU 利用率などが挙げられます。
まとめ
本記事では、 Cloud Spanner の概要に触れつつ、異なる種類のデータベースから Cloud Spanner へシームレスにマイグレーションを行うための方法を詳しく解説しました。
HarbourBridge や Datastream 、 Dataflow 、 Striim など、様々なツールを活用することで効率的に Cloud Spanner への移行を実現できます。一度試してみてはいかがでしょうか。
Cloud Spanner を使うためには Google Cloud (GCP)の契約が必要ですが、 Google Cloud (GCP)を契約するのであれば、トップゲートがオススメです。
弊社トップゲートでは、Google Cloud (GCP) 利用料3%OFFや支払代行手数料無料、請求書払い可能などGoogle Cloud (GCP)をお得に便利に利用できます。さらに専門的な知見を活かし、
- Google Cloud (GCP)支払い代行
- システム構築からアプリケーション開発
- Google Cloud (GCP)運用サポート
- Google Cloud (GCP)に関する技術サポート、コンサルティング
など幅広くあなたのビジネスを加速させるためにサポートをワンストップで対応することが可能です。
Google Workspace(旧G Suite)に関しても、実績に裏付けられた技術力やさまざまな導入支援実績があります。あなたの状況に最適な利用方法の提案から運用のサポートまでのあなたに寄り添ったサポートを実現します!
Google Cloud (GCP)、またはGoogle Workspace(旧G Suite)の導入をご検討をされている方はお気軽にお問い合わせください。
メール登録者数3万件!TOPGATE MAGAZINE大好評配信中!
Google Cloud(GCP)、Google Workspace(旧G Suite) 、TOPGATEの最新情報が満載!