フォーム読み込み中
ご覧いただきありがとうございます。ソフトバンクの結城です
今回は、Google Cloudに新しく追加された機能のDatastream for BigQuery(プレビュー)を使って、Cloud SQL、オンプレミスDBをBig Queryにリアルタイム連携する方法について紹介します。
Datastream for BigQueryでは、データベースのデータをBigQueryに対してリアルタイムレプリケーションすることができるプロダクトです。連携できるデータベースは「MySQL」「Oracle」「PostgreSQL」がサポートされています。
また、BigQuery の変更データ キャプチャ(CDC)機能と Storage Write API を使用して、ソースシステムからほぼリアルタイムで効率的に更新をレプリケートすることができます。
詳細については、「Datastream for BigQuery」を参照してください。
Datastream for BigQueryについては、現時点(2023年3月27日現在)ではプレビュー版での提供となっております。このため、本番利用については、一般(GA)提供されるまで待つのをお勧めします。
Datastream は、処理された実際のデータに基づいて課金されます。
料金の詳細については「Datastreamの料金概要」を参照してください。
また、Datastreamの料金計算については、「Google Cloud Pricing Calculator」より確認出来ます。
■構成図
※利用リージョンは共有で東京リージョン
・Cloud SQL(MySQL)またはオンプレミスDB(MySQL) ※事前にご準備ください
→ 別クラウドのDBをオンプレミスDBと見立てて設定いただくことも可能です。
・Datastream
・Big Query
Cloud SQLとオンプレミスDBをDatastreamを使ってBig Queryと連携する設定手順を説明します。
※Cloud SQLとオンプレミスDBで設定が異なる箇所がありますので、異なる箇所については、別々に説明します。
1-1 ) Google Cloudコンソールにアクセスし、プロダクト一覧より「Datastream」を開きます。
1-2 ) 左ペイン「接続プロファイル」をクリックし、表示された画面で「プロファイルの作成」をクリックし、プロファイルの作成を行います。
1-3 ) MySQLとBig Queryのプロファイルを作成します。
1-4 ) 以下の設定値を参照し、プロファイルの作成を行います。
■MySQL → Datastreamの設定
■Datastream → Big Queryの設定
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)をご紹介いたします。是非、チェックしてください。
条件に該当するページがございません