Google BigQuery

BigQuery BI Engine解説

こんにちは、エクスチュア渡部です。
2019/4/9-4/11に行われたGoogleNext@サンフランシスコに参加して来ました。

GoogleNextのレポートは、以下のブログも是非読んでください。
GoogleNext 2019レポート:1日目
GoogleNext 2019レポート:2日目
GoogleNext 2019レポート:3日目
データアナリスト/データエンジニア向けNext19まとめ

今回はデータアナリティクス周りの発表の目玉の一つである
「BigQuery BI Engine」に関して解説していきたいと思います。

https://cloud.google.com/blog/products/data-analytics/google-cloud-smart-analytics-accelerates-your-business-transformationより引用

【概要】

BI Engineとはざっくり、
BigQuery×BIツールのパフォーマンスを向上させるBigQueryの拡張サービスです。

これまで、BIツールの接続先としてBigQueryを選択する場合、当然ですが「直繋ぎ」でした。
BIツール側で指定された動作に対して、都度BigQueryがクエリを走らせていたため、
キャッシュが効かない場合あまりパフォーマンスに期待が出来ないこともありました。

そのためにデータマートを都度作成し、その分バッチも組んで処理が増え続けていく・・
なんてことは、DWH×BIの領域ではよくある事態だと思います。

そんな現状への打開策として提供されたのが「BigQuery BI Engine」です。
BI Engineはこれまで直繋ぎだった「BigQueyとBIツールの間」にデータを蓄積するメモリが加わり、
レポートで頻繁に必要とされるデータをインメモリ処理にしてくれることで、パフォーマンスを向上させる仕組みです。
※Tableauを使用されている方は、「抽出」を自動的にしてくれるようなものだと思ってください。

【BI Engine VS BQ直繋ぎ】

比較動画を作成してみました。
アメリカの新生児の名前の件数のデータ(163.49 MB)において、
BIEngineを使用しているデータソースとBIEngineを使用しないデータソースを用いた集計結果において、
①オハイオ州のみデータでフィルター
②ミシガン州のみデータでフィルター
という動作がどの程度パフォーマンスに差が出るのかを見ています。

結果、ざっくりですが①も②もBI Engine側は「2秒」、
BI Engineを使用していないものは「10秒」ほどの結果となりました。
データソースの容量や集計条件によってこれより効果が出るものもあれば、出ないものもあるでしょうが、
100MBレベルのデータソースでもこれだけ差が出ると言うのは一つ驚きです。

また、BQ側に発行されるクエリの本数にも大きな違いがありました。
この動画を作成する間20分程ごちゃごちゃデータスタジオを操作した結果、
・BI Engine側のプロジェクトでDSから発行されたクエリの本数は2本
・非BI Engine側のプロジェクトでDSから発行されたクエリの本数は60本(うち40本は課金対象)
でした。

BI Engineではインメモリで処理出来るデータは、追加のクエリの発行が行われません。
そのため、コスト面でのメリットも生み出すほか、大量同時アクセスでBQのクエリ制限に
引っかかり画面が表示できない!なんて事態ともおさらば出来ます。

【価格】

BQ Engineの価格は「キャッシュするデータの容量(1GB~10GBまでで選択)」によって変化します。
BI Engine>Documentation>Pricing

1GBあたり月$30と一見強気な価格設定ですが、
①無駄なクエリ課金を減らせる
②時間を買える(レポート表示やアドホックな分析がサクサク行える)
③「表示重い・・・データマート作るか・・・」から生まれるタスクが(データによっては)無くせる
と考えたら安い買い物だと思います。

【BI Engineの始め方】

BI Engineの始め方は簡単です。

①BQコンソールからBI Engineの画面に行き、「CREATE RESERVATION」を選択

②ロケーションと金額を選択する

1つのreservationあたり、1つのロケーションしか選択出来ません。
BI Engineを使用したいデータがどこに格納されているのかを調べ、該当のロケーションを選択してください。


あとは確認してReservationを作成するのみで、
BI Engineの準備は完了です。

【制約】

現時点では以下の制約があるようです。
・BIツールはDataStudioのみサポート(TableauやLookerは近いうちに対応予定)
・ビュー/カスタムクエリに対しては完全には最適化されない(つまりテーブルにしろってことですね)
・最適化できるテーブルの容量は10GBまで

【まとめ】

BigQueryの機能の拡充が続き、ますます便利なツールとなってきました。
そんな中今回追加された機能であるBigQuery BI Engineによって、
BigQueryに格納されたデータをもとに
レポート作成/アドホック分析を行う方にとって非常に大きなメリットを生み出していく機能になりますね。

私も参加したGoogleNextのセッション
Serverless BI Reporting on GCP with Data Studio
でも、BigQuery BI Engineに関する言及がありました。
お時間がある方は是非こちらもチェックして見てください。
※BI Engineに関する言及は25:20~から


エクスチュアはGoogleCloudの公式パートナー企業です。
また、Tableau、Adobe Experience Cloudなどのマーケティングテクノロジーに精通した
経験豊富なスタッフが、御社のビッグデータ分析をサポートします。

お問い合わせはこちらから

ブログへの記事リクエストはこちらまで

関連記事

  1. Google BigQuery

    Google Apps Scriptを使ってスプレッドシートからBigQueryのテーブルを更新する…

    こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。…

  2. Adobe Analytics

    Adobe AnalyticsからDWHレポートをGoogle Cloud Storageにアップロ…

    こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。…

  3. Google BigQuery

    BigQueryのユーザー定義関数(UDF)をTableauで使う

    こんにちは、エクスチュアの渡部です。今回はTableauでstan…

  4. Azure

    Google Cloud StorageとAzure Blob Storage間でファイルを並列コピ…

    こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。…

  5. Adobe Analytics

    Adobe AnaltyicsとGoogle Analytics の「生Webビーコン」をBigQu…

    こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。…

  6. Adobe Analytics

    Adobe Analytics: BigQuery+Lookerでアトリビューション分析

    こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。…

最近の記事

  1. ELB (ALB・NLB・CLB) をサクッと学ぶ
  2. Direct Connect vs Site to Site…
  3. パブリックサブネット vs プライベートサブネット
  4. セキュリティグループ vs ネットワークACL
  5. IAM (Identity and Access Manag…
  1. Amazon Web Services

    Direct Connect vs Site to Site VPN
  2. Adobe Analytics

    Adobe Analytics: Datafeedにデバイスデータがないけど慌て…
  3. KARTE

    KARTE:カスタムイベントでページの要素を取得して接客を出す
  4. Google Analytics

    Google Analytics StandardのデータをBigQueryで分…
  5. Databricks

    Databricks: Spark DataFramesをJDBCから作成する
PAGE TOP