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 Cloud Platform

    Looker: サンバーストグラフを使って階層データを可視化する

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

  2. Google BigQuery

    Tableau : BigQueryでLOD計算が使えない場合の対処法

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

  3. Cloud Dataproc

    BigQueryテーブルをAVRO形式でエクスポートしてHiveで扱う

    こんにちは、エクスチュアCTOの権です。今日も普段あまり使わな…

  4. Google Cloud Platform

    Looker: LookerbotをGoogle Cloud Platformで動かす

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

  5. Adobe Analytics

    Adobe Analytics: BigQueryにロードしたデータフィードをDataStudioで…

    こんにちは、エクスチュアCTOの権です。前回のブログで、Big…

  6. Adobe Analytics

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

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

最近の記事

  1. ObservePoint TagDebuggerでページに…
  2. Databricks Community Editionを使…
  3. ObservePoint:タグ管理の救世主!サイト監査ツール…
  4. Zapier(ザピエル)経由でSansanで取り込んだ名刺を…
  5. Databricksを始める前に覚えておきたいScalaプロ…
  1. Adobe Analytics

    Looker: Sankey Diagramを使ってサイト内フローを可視化する
  2. Adobe Analytics

    AA + GA : SafariのITP2.1に備えてphpでクッキーを永続化す…
  3. Cloud Dataflow

    データアナリスト/データエンジニア向けNext19まとめ
  4. GA 360 Suite

    Google Analytics 360 + BigQueryでよく使うSQL例…
  5. Adobe Analytics

    Adobe Analytics: データフィードをGoogle BigQuery…
PAGE TOP