Google Cloud Datastream for BigQueryの紹介 (MySQL編)

 

2023年3月31日掲載

キービジュアル

ご覧いただきありがとうございます。ソフトバンクの結城です

今回は、Google Cloudに新しく追加された機能のDatastream for BigQuery(プレビュー)を使って、Cloud SQL、オンプレミスDBをBig Queryにリアルタイム連携する方法について紹介します。

目次

Datastream for BigQueryについて

Datastream for BigQueryでは、データベースのデータをBigQueryに対してリアルタイムレプリケーションすることができるプロダクトです。連携できるデータベースは「MySQL」「Oracle」「PostgreSQL」がサポートされています。

また、BigQuery の変更データ キャプチャ(CDC)機能と Storage Write API を使用して、ソースシステムからほぼリアルタイムで効率的に更新をレプリケートすることができます。

詳細については、「Datastream for BigQuery」を参照してください。
Datastream for BigQueryについては、現時点(2023年3月27日現在)ではプレビュー版での提供となっております。このため、本番利用については、一般(GA)提供されるまで待つのをお勧めします。

Datastream for BigQueryの料金について

Datastream は、処理された実際のデータに基づいて課金されます。

料金の詳細については「Datastreamの料金概要」を参照してください。
また、Datastreamの料金計算については、「Google Cloud Pricing Calculator」より確認出来ます。

Datastream for BigQueryの連携手順

■構成図

■利用プロダクト

※利用リージョンは共有で東京リージョン

・Cloud SQL(MySQL)またはオンプレミスDB(MySQL)  ※事前にご準備ください
 → 別クラウドのDBをオンプレミスDBと見立てて設定いただくことも可能です。
・Datastream
・Big Query

■設定順

Cloud SQLとオンプレミスDBをDatastreamを使ってBig Queryと連携する設定手順を説明します。
※Cloud SQLとオンプレミスDBで設定が異なる箇所がありますので、異なる箇所については、別々に説明します。

<1. プロファイルの作成>

1-1 ) Google Cloudコンソールにアクセスし、プロダクト一覧より「Datastream」を開きます。

1-2 ) 左ペイン「接続プロファイル」をクリックし、表示された画面で「プロファイルの作成」をクリックし、プロファイルの作成を行います。


1-3 ) MySQLとBig Queryのプロファイルを作成します。


1-4 ) 以下の設定値を参照し、プロファイルの作成を行います。

■MySQL → Datastreamの設定



■Datastream → Big Queryの設定




<2. ストリームの作成>

2-1 ) 左ペイン「ストリーム」をクリックし、表示された画面で「ストリームの作成」をクリックし、ストリームを作成します。

2-2 ) 表示された画面で以下の設定値を参照し、設定値を入力します。

2-3 ) DB側に設定を行います。Cloud SQLとオンプレミスDBでは設定が異なりますのでご注意ください。

<Cloud SQLの場合>

<オンプレミスDBの場合>

※上記画像のガイドは下記、画像の記載があるMySQLソースの右側「開く」をクリックし、ご確認いただけます。

2-4 ) 1-5で作成したMySQL → Datastreamのプロファイルを指定します。

2-5 ) Big Queryと連携するMySQLのテーブル、スキーマを選択します。

2-6 ) 1-5で作成したDatastream → Big Queryのプロファイルを指定します。

2-7 ) データのロケーション、先頭辞を入力します。

2-8 ) 「検証を実行」し、連携できる状態か確認します。検証が完了したら「作成」をクリックし、ストリームの作成を行います。

MySQL → Datastream → Big Queryの設定は以上です。



■動作確認

① MySQLのテーブルに書き込まれたデータがBig Queryに反映される速度の確認
<操作>
DBにログインし、insert文でテーブルにデータを追加します。

<確認方法>
DB側でselect文を実行し、データが追加されたことを確認します。データが追加されたことを確認した後、Big Queryコンソールにアクセスし、データが追加されたことを確認します。

<レプリケーション速度について>
※Cloud SQL / オンプレミス両環境で実施
DBにデータ追加後、Big Queryには即時レプリケーション(1分以内)されました。
 

② Big Queryと連携済みのMySQLのデータを削除し反映される速度を確認
<操作>
DBにログインし、delete文でテーブルからデータを削除します。

<確認方法>
DB側でselect文を実行し、データが削除されたことを確認します。データが削除されたことを確認した後、Big Queryコンソールにアクセスし、クエリを実行してデータが削除されたことを確認します。

<レプリケーション速度について>
※Cloud SQL / オンプレミスDB両環境で実施
DBのテーブルからデータ削除後、Big Queryには即時レプリケーション(1分以内)されました。
また、プレビューやクエリを実行しても、データが削除されましたとの表示のみで、画面上からデータが削除される訳ではありませんでした。

 

③ DBとの接続断を発生させたときの動作
<操作>
Datastreamを停止させて、オンプレDBでテーブルにinsert文でデータを追加します。

<確認方法>
DB側でselct文を実行し、データが追加されたことを確認します。データが追加されたことを確認した後、Datastreamを再開させます。Big Queryコンソールにアクセスし、データがレプリケーションされたことを確認します。

<レプリケーション速度について>
Datastreamが再開されたタイミングでレプリケーションがされました。時間としては1分以内で、データ欠損等はありませんでした。

さいごに

今回はDatastream for Big Queryを使ってCloud SQLとオンプレミスのMySQLデータベースを連携する方法をご紹介させていただきました。

Cloud SQL、オンプレミスDBをDatastreamを使ってBig Queryとレプリケーションする設定はシンプル、かつ簡単で、パフォーマンスとしても、即時レプリケーションされるので、リアルタイムのデータ分析を行えると思います。現時点では、レプリケーションの間隔やタイミングをカスタマイズする機能がないため、今後追加されることを期待したいです。

Datastream for Big Queryは現時点(2023年3月27日現在)ではプレビュー版でのみの提供となっており、一般(GA)提供はされておりません。一般(GA)提供までは本番環境では利用することが推奨されておりませんが、今後Datastreamを使ってDBのデータをBig Queryに連携をご検討されている場合は、本記事をご参照いただき、検証いただけますと幸いです。

次回はDatastream for Big Query (PostgreSQL)をご紹介いたします。是非、チェックしてください。

Google Cloud

Google サービスを支える、信頼性に富んだクラウドサービスです。お客さまのニーズにあわせて利用可能なコンピューティングサービスに始まり、データから価値を導き出す情報分析や、最先端の機械学習技術が搭載されています。

MSPサービス

MSP(Managed Service Provider)サービスは、お客さまのパブリッククラウドの導入から運用までをトータルでご提供するマネージドサービスです。

おすすめの記事

条件に該当するページがございません