Cloud Intelligence™
高コストなGoogle BigQueryクエリを見逃さない
このページはEnglish、Deutsch、Español、Français、Italiano、Portuguêsでもご覧いただけます。
About Vadim Solovey
Founded DoiT in 2011 and have been here ever since — in every flavor of CTO, co-CEO, and now CEO. I started my career in 1999 building data centers before anyone called it "the cloud," and I've spent the two decades since trying to deliver on what the cloud was actually supposed to be. I still write code most weeks.
My personal page
コスト最適化の余地があるクエリを可視化し、Google BigQueryでのクエリ実行のコツ(とNG例)をチームに浸透させましょう。
高コストなクエリを検知するBigQuery snitchの活用例
最適化されていないGoogle BigQueryクエリを誤って実行してしまうことは、誰にでも起こり得ます。大切なのは、そうしたクエリをいち早く見つけ、原因から学び、得た知見を次に活かしていくことです。
DoiT InternationalではGoogle Managed Service Providerとして、「実行された瞬間にこうしたクエリをチームで把握する方法はないか」というご相談を日常的にいただいています。同僚のMoshe Ohayonがこの課題にスマートな解決策を考案し、誰もが利用(そして改善!)できるオープンソースとして公開しました。
PerfectScale™ for Kubernetes
Ready to optimize?
Get your free Kubernetes savings analysis

READMEの手順に沿って、単一のGoogle Cloud Functionをデプロイするだけで、すべてのGoogle BigQueryクエリを監視し、`ALERT_THRESHOLD`を超えたものをSlackに通知できます。
以下の`config.json`は、$10を超えるすべてのクエリに対してアラートを発生させ、Slackとメールに通知を送る設定例です。
{ "ALERT_THRESHOLD": 10
, "TB_COST": 5, "SLACK_ALERT": true, "SLACK_WEBHOOK_URL": "https://hooks.slack.com/services/.
..", "SLACK_WEB_API_TOKEN": "", "SLACK_WEB_API_DESTINATION_CHANNEL": "", "EMAIL_ALERT": true, "SENDGRID_API_KEY": "SG...", "EMAIL_SENDER": "Your cloud bill shouldn't be a mystery
Optimization, automation, expertise. In one platform.
",
"EMAIL_CC": [\
"\
```\
\
[[email protected]](mailto:[email protected])\
\
```\
"\
],
"FIELDS_TO_RETRIEVE": [\
"job_id",\
"user_email",\
"total_bytes_billed",\
"total_bytes_processed"\
]
}
bq-snitchの通知がSlackに投稿される様子。サンプルクエリにひねりがなかった点はご容赦ください ;-)
bq-snitchはメール通知にも対応しています。Google Cloud PlatformプロジェクトでSendgridを有効化し、Sendgrid APIキーをconfig.jsonに設定してください。
Taboola.comはbq-snitchの初期ベータテスターの1社です。
「このツールがもたらす可視性の向上は、はっきりと体感できます。フィードバックがスピーディかつ的確で、クラウドコスト管理全体の改善に大いに役立っています。」
Google BigQuery(とSlack/メール)をお使いなら、ぜひbq-snitchをお試しください。改善のアイデアがあれば、GitHubでのIssueやPull Requestをお待ちしています。
どれも当てはまらない場合は、せめてスターをつけていただけると嬉しいです 😇
もっと記事を読みたい方は、ブログをご覧いただくか、TwitterでVadimをフォローしてみてください。