Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

BigQueryのコストを、実践的な提案で大幅削減

By Magdalena TrzeciakDec 1, 20204 min read

このページはEnglishDeutschEspañolFrançaisItalianoPortuguêsでもご覧いただけます。

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

「結局、何にお金を払っているのか?BigQueryのコストはもっと最適化できないのか?」

毎月の請求書でGoogle BigQueryのコストを確認するたび、IT管理者からはこうした声が上がります。当然の疑問です。

Google BigQueryは、多くのチームの業務を支える強力なビッグデータウェアハウスです。だからこそ、どう使われているかを正確に把握することが欠かせません。他のパブリッククラウドサービスと同じく、リソースの使い方に気を配らなければ、コストはあっという間に膨らみます。

このリスクを生む要因は、大きく2つあります。

  1. アナリストの利用行動
  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つです。

  1. 設定不要 — 必要な情報が、見やすい形でそのまま届きます
  2. 数クリックで俯瞰ビューから細部の精査まで自在に切り替え
  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にご相談いただくか、こちらの手順に沿ってセットアップし、ぜひ活用してみてください。