BigQuery BI Engineについて
BI Engineとは
BigQueryで利用できるインメモリ分析サービスです。インメモリなので通常のクエリにカラべて素早く結果をえることができます。また、メモリ内でキャッシングが働くので同時実効性もよくなります。
名前の通り、BIワークロードに向いています。BIでは、レポートやダッシュボードを通じて多くの人が同じようなデータアクセスをBigQueryなどのDWHに対して要求するのが一般的です。
何が嬉しいのか
公式サイトでは次のようにメリットが謳われています。
- 高速: インサイトの成果をビジネスのスピードに合わせる
- 簡素化されたアーキテクチャ: 複雑なデータ パイプラインやサーバーを管理せずにすぐに開始
- スマートな調整: ごくわずかな構成
これらに関連した個人的な感覚での課題って以下のような感じだと思います。
- 一般的には、BIツールで作られたダッシュボードを開いた際に表示が遅いと、忙しいかつ裏の技術など知ったこっちゃないユーザは使わなくなっていきます。あるいは、どうしても使う必要があるときは不満を持って使いますが、それ以上その仕組みに期待はしなくなります。
- また、表示にストレスがなくビジネス上有用なダッシュボードは多くの人に使われます。するとDWHへの負荷が高くなり表示が遅くなったりエラーがでたりして、また愛想を尽かされます
- 最近、データをリアルタイムに分析するニーズが高まっており、今まさに自社のサービスで何が起きているかを分析するためには、データを素早くBIツールなどで見る必要がありますが、実はデータを集めてからまともに見れるようにするためには多くの処理が必要で、その構築と運用には専門性が要求されます。
- メモリ、ディスク、それらを活用したキャッシュなど、複数の処理方法でユーザに結果を返す場合、どういうクエリはどこで処理させるかを考慮する必要がある場合があります。また、場合によってはそのためにデータの置き場所を分けて管理したりする必要があって非常に運用が大変です。
BI Engineの制約事項
速く結果が返ってきて同時実効性もいいなら全部これでいいじゃんと思いますが、もちろん機能上の制約とコストを考慮する必要があります。
BI Engineの一番大きな制約事項としては、今はBIツールとしてデータポータルしか使えないと言うことです。
ただし、2020年の8月に行われたGoogle Cloudのオンラインイベント Google Cloud Next '20 OnAir のセッションAlways fast and fresh dashboards: Inside BigQuery BI Engineにて、LookerやTableauなどでもBI Engineが使えるAPIの提供を予定していることがアナウンスされました。 これは期待大です。
その他の制約事項として、以下のようなものがあります。これも詳しくは公式サイトを確認してください。
- ビューに対する一部のクエリ
- ターブルのパーティション数の最大値
- UDFや外部テーブルや分析関数などを利用したクエリ
BI Engineの料金
実際の単価は変わる可能性があるので、こちらのリンクで確認しましょう。ここでは、料金システムを書きます。
BI Engineの基本的な料金の考え方は、メモリの容量を購入しその量に対して課金されるものになります。
ただ、BigQueryをオンデマンドではなく定額料金で使っている場合は、その契約スロット数に応じてBI Engineのメモリ容量がおまけのような形でついてきます。もちろんそのおまけに追加して必要な分追加で購入することもできます。