このたび DoiT International がリリースしたBigQuery FinOps Dashboardは、Google BigQueryの利用に潜む無駄を浮き彫りにする万能ツールです

「結局、何にお金を払っているのか?BigQueryのコストはもっと最適化できないのか?」
毎月の請求書でGoogle BigQueryのコストを確認するたび、IT管理者からはこうした声が上がります。当然の疑問です。
Google BigQueryは、多くのチームの業務を支える強力なビッグデータウェアハウスです。だからこそ、どう使われているかを正確に把握することが欠かせません。他のパブリッククラウドサービスと同じく、リソースの使い方に気を配らなければ、コストはあっという間に膨らみます。
このリスクを生む要因は、大きく2つあります。
- アナリストの利用行動
- データセット・テーブル・ユーザー設定の特性
BigQueryでの過剰支出を抑えるため、各チームは複数のレベルでコスト上限を設定し、メンバーにBigQueryのベストプラクティスを浸透させ、リソース利用状況をモニタリングする、といった施策を組み合わせています。モニタリングの代表的な方法は次の4つです。
- BigQuery Audit Logsの確認
- エクスポートしたログをBigQueryでクエリする
- BigQueryでINFORMATION_SCHEMA.JOBS_BY_*をクエリする
- Cloud Monitoring ConsoleのBigQuery Dashboardを使う
とはいえ、BigQueryのリソース利用状況を可視化するには、自前でクエリを書き、必要に応じてダッシュボードまで構築する必要があり、相当な手間がかかります。BigQueryの利用実態をきちんと読み解くには、モニタリングツールを絶妙にチューニングしなければなりません。さらに、チーム全体でBigQueryのベストプラクティスを徹底させるのも一筋縄ではいきません。何に集中し、どこを改善すべきかが見えていないなら、なおさらです。
BigQuery FinOps Dashboard
DoiT Internationalのお客様限定の機能として、Cloud Management PlatformにBigQuery FinOps Dashboardを追加しました。BigQueryの無駄を見つけ出す、もっとも手早い方法です。
主な特長は次の3つです。
- 設定不要 — 必要な情報が、見やすい形でそのまま届きます
- 数クリックで俯瞰ビューから細部の精査まで自在に切り替え
- チームの構成に合わせてカスタマイズされた、行動・クエリ・ストレージに関する実践的な改善提案
BigQuery Explorer
Explorerでは、スキャン量やストレージ($/TB)を軸に、上位のプロジェクト・データセット・テーブル・ユーザーを分析できます。

BigQuery Explorer
気になるプロジェクト/データセット/テーブル/ユーザーをクリックすれば、より詳細なビューが開きます。

BigQuery Explorerの詳細ビュー
さらに、ジョブIDをクリックすればもう一段深く掘り下げられます。

クエリ詳細
実践的な改善提案
ご注意:次のセクションを読むと、思わず「すごい!」と声が出るかもしれません。
BigQuery FinOps Dashboardは、利用状況を綿密に分析したうえで、コスト削減につながる実践的な改善提案を提示します。各提案には、実施した場合の削減見込み額もあわせて表示されます。

BigQuery Recommendationsのメインビュー
テーブルのクラスタリング/パーティショニング
BigQueryユーザーであれば、クラスタリングとパーティショニングがパフォーマンスとコストを大きく改善することはご存じのはずです。とはいえ、その効果を引き出すために、どのフィールドでクラスタリング/パーティショニングすべきかを見極めるのは容易ではありません。複数のアナリストが大量のクエリを走らせている環境では、なおさら難しい作業です。
本機能ならワンクリックで、テーブル一覧と、クラスタリング/パーティショニングに適したフィールドの提案をまとめて確認できます。提案に沿って設定し、これまでと同様のクエリを継続して実行すれば、Savings Potential列に示された金額に近いコスト削減が見込めます。

「Partition your tables」「Cluster your tables」の詳細ビュー

未使用テーブルのバックアップと削除
使っていないテーブルに、なぜ料金を払い続けるのでしょうか?最近クエリされていないテーブルと、保持し続けた場合の月額コストをひと目で確認できます。バックアップして削除するか、そのまま払い続けるか — 判断はあなた次第です。

「Backup and Remove Unused Tables」の詳細ビュー
クエリジョブの制限
同じクエリを何度も実行し、同じコストを繰り返し発生させているかもしれません。クエリジョブの実行回数を制限し、スライダーを動かしながら削減見込み額を試算してみましょう。

「Limit query jobs」の詳細ビュー
superQueryによるクエリ最適化
superQueryをまだご存じない方は、ぜひ一度お試しください。superQueryは、Google BigQuery、AWS Athena、DynamoDBなど、多様なクラウドデータベースに対応する強力なサーバーレスIDEです。クエリ最適化エンジンを備え、コスト削減と効率向上を同時に実現します。BigQuery FinOps Dashboardでは、superQuery経由でクエリを実行した場合の削減見込み額も確認できます。
パーティションフィールドの活用徹底
クエリでパーティションフィールドを使うと、コストを桁違いに抑えられる場合があります。利用可能なパーティションフィールドを使えていない上位のクエリを一覧で確認できます。

「Enforce Partition Fields」の詳細ビュー
BigQuery FinOpsはBigQueryの進化に合わせて継続的にアップデートされ、Googleがリリースする最新機能に対応した提案を受け取れます。
次のステップ
BigQueryの弱点を見つけて最適化したいとお考えですか?
こちらから、DoiT Internationalのデモを今すぐご予約ください。BigQuery FinOps Dashboardをはじめ、各種クラウド最適化ツールをご利用いただけます。
すでにDoiT Internationalをご利用中のお客様には朗報です。Cloud Management Platform内のBigQuery FinOps Dashboardは、今すぐお使いいただけます。
担当のAccount Managerにご相談いただくか、こちらの手順に沿ってセットアップし、ぜひ活用してみてください。