Looker Studio「データの抽出」でクエリコスト削減

Looker Studioの「データの抽出」を活用したBigQueryのクエリ分析コスト(コンピューティングの料金)を削減するためのテクニックについて解説。

「データの抽出」機能とは

「データの抽出」とはLooker Studioに備わっている機能で、簡単にいうとデータソース問わず、データをLooker Studioのバックグラウンドに静的なデータとして100MBを上限としてコピーすることができる機能になる。

「データの抽出」のメリットとしては、「データの抽出」で抽出したデータを読み込みには一切コストがかからない点。そして、レスポンスの改善が挙げられる。BigQueryも十分に速いが、「データの抽出」を読み込む方が若干ではあるがレスポンスがさらに改善される。

「データの抽出」で保存したデータは静的なデータであるが、自動更新の設定が可能であるため、例えば、BigQueryでテーブルを作成した時間よりも、後の時間を「データの抽出」の自動更新時間として設定することで、BigQueryのテーブルを丸々「データの抽出」化した静的なテーブルとして複製することが可能となる。

参照:パフォーマンス向上のためにデータを抽出する

BigQueryのデータ最小処理容量は10MB

BigQueryで作成したテーブルをLooker Studioから参照する際、テーブル構成を最適化しデータ抽出量が10MBを超えない場合であっても、最低10MBかかるという仕様がある(キャッシュが効いていない場合)。

参照:BigQuery の料金 > オンデマンド コンピューティングの料金

これのやっかいなところは、それ単体では10MBと僅かな量ではあるが、Looker Studioのレポートの中で1つのテーブルに対して、10個のコンポーネントが参照していた場合、その分のクエリ参照コストがかかるため×10で100MB消費されることになる。日付をズラすなどの操作の度にクエリコストがかかり、10回レポートを表示させると100MB×10で1GBとなる。

BigQueryの1ヶ月間のクエリ抽出料金の無料枠は1TBである。これを1ヶ月(30日)で均等に割り振ると、1日に利用できる無料枠のデータ量は次のように計算される。

  • 1TB = 1,024GB
  • 1ヵ月 = 30日間

約34GB = 1,024GB / 30日

できる限りクエリ抽出量は抑えたい中、1回レポートを表示させるのに100MBを消費してしまうのは、できる限り避けたい。

「データの抽出」でデータを抽出

そこでLooker Studioの「データの抽出」機能を使うことで、データをBigQueryからLooker Studioのバックグラウンド側に保存することが可能になる。もともとのBigQueryのテーブルは整形済みとし不要な列はないものとする。よく「データの抽出」機能の解説でGA4との連携において「データの抽出」を使っているケースがあるが、何か特段の理由がない限り、「データの抽出」を活用する前にBigQueryへの移行を検討した方がよいだろう。

そのため、BigQueryのテーブルに対して「データの抽出」を活用する場合、そっくりそのままテーブルを抽出することになる。そして、Looker Studioの参照先を「データの抽出」で抽出したテーブルを参照することにより、クエリ分析コストをなくすことが可能になる。データの抽出のデータを参照する際は最小処理容量などはない。

ただ、すべてのレポートを「データの抽出」に置き換えるのも手間がかかるため、参照頻度が高いレポートに限定して置き換えてもよいだろう。

PAGE TOP