Column

コラム

  • 【テックコラム】BigQueryの利用状況をモニタリングしよ...

【テックコラム】BigQueryの利用状況をモニタリングしよう

はじめに

こんにちは!DataCurrent のジョージです。

BigQuery は膨大なデータを効率的に処理するための強力なツールとして人気の高いサービスです。しかし、BigQuery を活用する際には、コスト管理やパフォーマンス最適化のためにモニタリングが不可欠になります。本コラムでは、BigQuery のモニタリング方法を簡潔に紹介してみたいと思います。

モニタリングの重要性

BigQuery はスケーラブルなクエリ処理能力を提供しますが、使用量に応じた従量課金モデルを採用しているため(別の課金モデルもありますが、今回は割愛します)、予期せぬコストの発生を防ぐためにもモニタリングは欠かせません。また、クエリのパフォーマンスやリソース使用状況を監視することで、システムの効率化やトラブルシューティングも容易になります。

BigQuery のモニタリングツール

BigQuery のモニタリングには主に以下のツールや機能を活用することができます。

1. Cloud Monitoring

Cloud Monitoring は、Google Cloud 全体を包括的に監視するツールです。BigQuery のモニタリングでは、例えば以下のメトリクスを利用できます。

  • スロット使用率: BigQuery の計算リソース (スロット) の使用率を監視
  • クエリリソースの消費量: クエリによって消費されたバイト数
  • スキャンデータ量: クエリ実行時にスキャンされたデータ量

Cloud Monitoring を活用することで簡単なダッシュボードを作成し、アラートを設定することが可能です。

2. INFORMATION_SCHEMA

BigQuery には、クエリやジョブに関する詳細情報を取得できる INFORMATION_SCHEMA ビューが用意されています。

  • INFORMATION_SCHEMA.JOBS_BY_PROJECT: プロジェクト単位でのジョブ実行状況
  • INFORMATION_SCHEMA.JOBS_BY_USER: ユーザーごとのジョブ実行状況

上記はその一例ですが、これらを利用することで細かいモニタリングデータを取得できます。

INFORMATION_SCHEMA の説明は下記のドキュメントを参照してください。

https://cloud.google.com/bigquery/docs/information-schema-intro?hl=ja

3. Audit Logs (監査ログ)

Google Cloud の監査ログを利用すると、BigQuery の操作履歴を確認できます。たとえば、

  • 誰がどのクエリを実行したのか。
  • データセットやテーブルに対するアクセス。

これにより、セキュリティやコンプライアンスの観点からもモニタリングが可能です。

Audit Logs の説明は下記のドキュメントを参照してください。

https://cloud.google.com/bigquery/docs/introduction-audit-workloads?hl=ja

INFORMATION_SCHEMA の活用例

ここからは INFORMATION_SCHEMA を使ったモニタリングの実践例をご紹介します。

1. クエリの実行

BigQuery のコンソールにて、以下のクエリを実行します。

SELECT
  job_id,
  user_email,
  creation_time,
  query,
  total_bytes_billed
FROM
  `region-asia-northeast1`.INFORMATION_SCHEMA.JOBS_BY_PROJECT
WHERE
  DATE(creation_time) BETWEEN DATE('2025-02-05') AND DATE('2025-02-07')
ORDER BY 5 DESC
LIMIT 10;

このクエリは、2025年2月5日から2月7日の間に実行されたクエリの ジョブIDメールアドレス開始時刻クエリ課金されたデータ量 を課金されたデータ量の多い順に10件まで抽出します。

`region-asia-northeast1` は BigQuery のロケーションを指していますので、US をお使いの場合であれば `region-us` に読み替えてください。

2.実行結果

クエリ結果は下図の通りで、誰が、いつ、どんなクエリを実行し、課金されたデータ量がいくつだったか、を確認することができます。

クエリ結果

INFORMATION_SCHEMA を使う事で、思わぬ課金が発生した時にその原因を調査することもできますし、 Looker Studio などでダッシュボード化することによってモニタリング業務を効果的に行うことも可能です。
是非、組織の課題に合わせてうまくご活用ください。

まとめ

BigQuery のモニタリングは、コスト最適化やパフォーマンス改善、セキュリティ強化に不可欠です。Cloud Monitoring、INFORMATION_SCHEMA、Audit Logs を利用することで、BigQuery 環境をより効率的に管理できます。

モニタリングを適切に行うことで、データ分析基盤をより強固でスケーラブルなものにすることが可能です。これを機会に、BigQuery モニタリングの設定を見直してみてはいかがでしょうか。

最後に

自社に専門人材がいない、リソースが足りない等の課題をお持ちの方に、エンジニア領域の支援サービス(Data Engineer Hub)をご提供しています。 お困りごとございましたら是非お気軽にご相談ください。

本記事に関するお問い合わせは下記にて承ります。
株式会社DataCurrent
info@datacurrent.co.jp

人気のコラムランキング

PICK UP

企業のDX推進におけるダッシュボード内製化について

DXmarketingPICK UP コラムダッシュボード内製化

企業のDX推進に向けた人材教育支援について

GA4marketingPICK UP コラム内製化

【データプライバシーコラム】電気通信事業法改正の解説(2022年7月時点)

CMPPICK UP コラムデータプライバシーデータプライバシーコラム個人情報保護

CMP導入時の注意点

CMPPICK UP コラムデータプライバシーデータプライバシーコラム個人情報保護

TOPへ
戻る