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. 最速で理解したい人のためのIT用語集

関連記事

  1. Google BigQuery

    GCP: 今月のGCP課金額をslackに自動的に書き込む

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

  2. Google Cloud Platform

    Vertex AIのベクトル検索によってブログの検索エンジンを作成してみた

    はじめにこんにちは、石原と申します。こちらの記事は前…

  3. Google BigQuery

    GCPのBQMLを使ってKaggleコンペに挑んでみた(その1)

    こんにちは。エクスチュアでインターンをさせて頂いている中野智基です。…

  4. Google BigQuery

    【BigQuery】TABLESAMPLE SYSTEMを日本一詳しく解説する

    1. はじめにこんにちは、エクスチュアの大崎です。…

  5. Google Cloud Platform

    Server-side GTMのAppEngine設定をカスタマイズする

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

  6. Adobe Analytics

    Adobe Analytics: DWHレポートの日付列をBigQueryのDate型として扱う

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

最近の記事

  1. Mouseflowのセッションリプレイのしくみ
  2. LangChainって何?: 次世代AIアプリケーション構築…
  3. 1st Party Cookieと3rd Party Coo…
  4. Amplitudeで何が分かる?
  5. SnowflakeのHybrid Tableのマニュアルを読…
  1. Data Clean Room

    SnowflakeのData Clean Roomを基礎から一番詳しく解説(4回…
  2. Google Apps Script(GAS)

    Google App Scriptを特定のタイミングで自動で動かしたい
  3. IT用語集

    メモリ(Memory)、仮想メモリ(Virtual Memory)って何?
  4. Adobe Analytics

    Looker: エンジニアがBIで分析ダッシュボードを作る
  5. Tableau

    Tableau Tips〜WINDOW関数〜
PAGE TOP