まだまだ課題も多く発展途上だが急速に進化中で今後に期待
では、Google Data Studioを使うべきなのはどのような人なのだろうか? つまり、このBIツールの恩恵をもっとも効果的に享受できるケースは何か。樋口氏は2つの具体例を挙げる。
「ひとつはGoogleのクラウド向けグループウェアツールである『G Suite』を使っている人。当然ですが、レポートの管理・共有が楽に行えます。もうひとつは、BIツールにあまりコストをかけたくないと考えている人。有料BIツールに毎月何千円も払うのが難しく、低コストでビッグデータの可視化やレポート共有を実現したいと考えている方には、ぜひオススメしたいと思います」
もちろん長い歴史を持つ有料のBIツールに比べるとまだ課題は多く、発展途上であることも事実だ。だが毎月機能追加・改善がリリースされており、動きの活発さからも今後の改善・進化が十分に期待できる。またリリースノートは、日本語版と英語版の両方があるが、更新の速さを考慮すると英語版の参照が必須だという。
設計のツボを押さえればパワフルな分析基盤が安価に実現
樋口氏は「BigQueryを使用したデータ分析基盤を構築・運用で学んだこと」として、いくつかのポイントを紹介する。その中でも特に設計段階で気をつけておくべきこととして、以下の2つを挙げる。
- Streaming Insertは計画的に行う。
- パーティションテーブルを選択しよう。
BigQueryに分析のソースとなるデータを取り込む方法は2種類ある。「Streaming Insert」と「Load」だ。Streaming Insertとは、データ管理ツールのメモリバッファから直接データをBigQueryに取り込める機能で、通常のバッチ処理のようなタイムラグを気にせず、必要に応じたタイミングで分析のデータソースを取得できるメリットがある。このためリアルタイムの分析基盤を構築する場合は、必然的にStreaming Insertを使用することになる。
だがここで一点注意すべきなのは、Streaming Insertにはデータサイズなどの割り当て制限があるということだ。この割当量は拡張できないため、想定されるデータ送信量や、データ送信量の伸び代を考慮しながら、割り当てに抵触しない設計をしないと、後に思ったような分析環境を維持できなくなる恐れがある。
「データ発生からBigQueryに入れて可視化・分析できるまで、どの程度の間隔まで許容されるのか。行いたいデータ分析の要件と、割り当て制限のバランスを設計段階でよく考えておかないと、せっかく分析基盤を構築しても使えない、となりかねません」
またStreaming Insertを利用した場合、ストレージ料金は通常の2.5倍とコストが高く、数万件~数十万件に1件の頻度でデータが欠損するといわれている。こうしたデメリットについてもあらかじめ考慮しておくことが必要だが、これはStreaming InsertとLoadの処理を組み合わせることで解消できる。
例えば料金については、例えばリアルタイム性が重視される分析基盤の場合、ひとまずStreaming Insertで最新のデータを取り込んでおく。そのデータを深夜の1日1回のLoadで上書きすれば、そのデータ分については通常のLoad料金に下げられる。
またStreaming Insert時にデータの欠損が生じた場合も、後からLoadによる上書きで補完することが可能だ。
「この他、日付テーブルの管理についてもポイントがあります。日付別テーブルとパーティーション(分割)テーブルの2種類がありますが、Google Cloud Platformが推奨していること、またパフォーマンスにかなりの差があることから、当社ではパーティーション(分割)テーブルを選択しています」
「こうした細かなポイントをていねいに押さえていくことで、BigQueryを活用した安価かつ高パフォーマンスな分析基盤を実現することは十分に可能だ」と樋口氏は語り、セッションを終えた。
お問い合わせ
株式会社grasys