Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Scovare le query costose su Google BigQuery

Questa pagina è disponibile anche in English, Deutsch, Español, Français, 日本語 e Português.

By Vadim SoloveySep 24, 20192 min read
Vadim Solovey

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

1 gqtfxmqd1oa8uesnnnkbrw

Visibilità sulle query da ottimizzare (lato costi) e formazione agli utenti su come (non) eseguire query su Google BigQuery.

Lo "snitch" di BigQuery all'opera per individuare le query più costose

Capita a tutti, ogni tanto, di sbagliare e lanciare query non ottimizzate su Google BigQuery. Ciò che conta davvero è la velocità con cui riusciamo a individuarle, trarne una lezione, metterla in pratica e proseguire.

In DoiT International, nel nostro ruolo di Google Managed Service Provider, i clienti ci chiedono spesso come fare emergere queste query nel momento stesso in cui vengono eseguite. Un mio collega, Moshe Ohayon, ha trovato una soluzione elegante al problema e l'ha rilasciata in open source: ora chiunque può usarla (e migliorarla!).

PerfectScale™ for Kubernetes

Ready to optimize?

Get your free Kubernetes savings analysis

Seguendo il README, puoi mettere in produzione una singola Google Cloud Function che tiene d'occhio tutte le tue query su Google BigQuery e pubblica su Slack quelle che superano l'`ALERT_THRESHOLD`.

Il `config.json` qui sotto genera alert per tutte le query che superano i 10 dollari e invia un messaggio su Slack e via email.

{
"

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 protected]

",
  "EMAIL_CC": [\
    "\
```\
\
[[email protected]](mailto:[email protected])\
\
```\
"\
  ],
  "FIELDS_TO_RETRIEVE": [\
    "job_id",\
    "user_email",\
    "total_bytes_billed",\
    "total_bytes_processed"\
  ]
}

1 xmiy6uklefgx793 uuw3ewUn esempio di come le notifiche di bq-snitch vengono pubblicate su Slack. Ammetto di non essere stato molto creativo con la query di esempio ;-)

bq-snitch può inviare le notifiche anche via email. Ricordati di abilitare Sendgrid sul tuo progetto Google Cloud Platform e di inserire la API key di Sendgrid nel config.json.

Taboola.com è uno dei primi beta tester di bq-snitch.

"I benefici in termini di visibilità che otteniamo da questo strumento sono tangibili. Un feedback rapido e diretto al punto ci aiuta a migliorare la gestione complessiva dei costi cloud".

Se usi Google BigQuery (insieme a Slack o email), prova bq-snitch. E se hai idee su come migliorarlo, saremo felici di ricevere issue o pull request su GitHub.

Se nulla di tutto questo fa per te, il minimo che puoi fare è lasciarci una stella 😇

Vuoi leggere altre storie? Fai un salto sul nostro blog o segui Vadim su Twitter.