Analyser les coûts Looker Studio et allouer le budget par utilisateur

Pré-requis

Il est possible de créer plusieurs tables de billing sur BigQuery. ces tables ont toutes un historique de 180 jours.
Vous disposez de 4 tables de données de jobs (dérouler pour afficher leur schema) :
INFORMATION_SCHEMA.JOBS
INFORMATION_SCHEMA.JOBS_BY_USER
INFORMATION_SCHEMA.JOBS_BY_FOLDER
INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION
Et 3 tables de données de facturation :
Standard data export
Detailed data export
Pricing data export
🔓
Pour obtenir l'autorisation dont vous avez besoin pour interroger la vue INFORMATION_SCHEMA.JOBS, demandez à votre administrateur de vous accorder le rôle IAM BigQuery Resource Viewer (roles/bigquery.resourceViewer) sur votre projet.
Ce rôle contient l'autorisation bigquery.jobs.listAll requise.

De quoi avons-nous besoin ?

Pour calculer finement le coût BigQuery par dashboard Looker Studio et par utilisateur du dashboard, vous aurez besoin des colonnes suivantes :
  • creation_time : la date et l'heure de création du job.
  • user_email : l'adresse e-mail de l'utilisateur qui a soumis le job.
  • total_bytes_processed : le nombre total d'octets lus ou écrits par le job.
  • total_slot_ms : le nombre total de millisecondes de slot utilisées par le job.
  • total_compute_units : le nombre total d'unités de calcul utilisées par le job.
  • dashboard_id : le nombre total d'unités de calcul utilisées par le job.
  • Taux de facturation : votre coût par téraoctet qui dépend du projet, de la localisation de la table et qui varie tout le temps !

Détail et explication des colonnes

user_email

La colonne job_user_email est disponible dans la table INFORMATION_SCHEMA.JOBS de BigQuery et fait référence à l'utilisateur qui a soumis la requête BigQuery qui a été exécutée pour alimenter les visualisations dans Looker Studio. En d'autres termes, il s'agit de l'utilisateur qui a effectué l'action qui a déclenché le job BigQuery.
💡
Le créateur de la connexion entre BigQuery et Looker Studio peut être différent de l'utilisateur qui soumet la requête BigQuery à partir de Looker Studio. En effet, plusieurs utilisateurs ont accès à la même connexion BigQuery et peuvent soumettre des requêtes qui seront ensuite exécutées par BigQuery.

dashboard_id

Le dashboard_id correspond à l’identification de votre dashboard Looker Studio.
  • Sur Looker Studio, vous pouvez le trouver dans l’URL. Il s’agit généralement d’une suite de chiffre séparée par des tirets https://<nom de domaine Looker>/reporting/<dashboard_id>
  • Sur BigQuery, le dashboard_id n'est pas directement disponible dans les tables INFORMATION_SCHEMA.JOBS. Vous pouvez établir une correspondance entre les jobs BigQuery et les dashboards Looker Studio en utilisant les informations disponibles dans la colonne job_config.labels des tables INFORMATION_SCHEMA.JOBS.
    • Etape à suivre pour trouver le dashboard ID sur BigQuery

Billing rate ou Taux de facturation

Le billing rate sur BigQuery est le coût facturé par Google Cloud pour l'utilisation des ressources BigQuery, exprimé en dollars par téraoctet (USD/TB). Le billing rate est déterminé par le type de stockage des données et le type d'utilisation de la requête.
Le stockage des données dans BigQuery peut être facturé de différentes manières en fonction de l'option de stockage choisie:
  • Le stockage natif (standard) de BigQuery est facturé à un taux fixe de 0,02 USD/TB/mois.
  • Le stockage en colonnes (columnar storage) est facturé à un taux plus élevé de 0,04 USD/TB/mois.
Pour les requêtes, le coût est basé sur la quantité de données analysées. La tarification de BigQuery est conçue pour être transparente et prévisible, ce qui signifie que vous ne paierez que pour les données que vous utilisez réellement et le temps de traitement des requêtes. Le coût des requêtes peut varier en fonction de facteurs tels que le type de requête (standard ou legacy SQL), le nombre de requêtes simultanées et la complexité de la requête.

Où trouver le taux de facturation sur son compte BigQuery ?

Le taux de facturation (billing rate) sur votre compte BigQuery peut être trouvé dans la console Google Cloud Platform (GCP). Voici les étapes à suivre pour y accéder :
  1. Connectez-vous à votre compte Google Cloud Platform (GCP).
  1. Accédez à la console BigQuery en sélectionnant le produit BigQuery dans le menu de navigation de la console GCP.
  1. Dans la console BigQuery, sélectionnez le projet pour lequel vous souhaitez connaître le taux de facturation.
  1. Cliquez sur l'icône d'engrenage dans le coin supérieur droit de la fenêtre BigQuery et sélectionnez "Paramètres de facturation".
  1. Dans la page "Paramètres de facturation", vous devriez voir le taux de facturation actuel de votre compte BigQuery. Le taux de facturation est exprimé en dollars par téraoctet (USD/TB).
⚠️
Il est important de noter que le taux de facturation peut varier en fonction de l'option de stockage choisie et du type de requête. Si vous utilisez des options de stockage telles que le stockage en colonnes ou si vous utilisez des requêtes complexes qui nécessitent plus de ressources de traitement, votre taux de facturation peut être plus élevé que le taux de facturation standard. Par conséquent, il est important de comprendre comment le coût est calculé pour éviter les surprises en matière de facturation.

Comment calculer le coût d’une requête BigQuery ?

Le taux de facturation (billing rate) n'est pas directement disponible dans les tables INFORMATION_SCHEMA.JOBS de BigQuery.
Cependant, il est possible de calculer le coût de chaque requête à l'aide des informations disponibles dans ces tables :
  • nombre de téraoctets analysés : obtenu à partir de la colonne total_bytes_processed dans la table INFORMATION_SCHEMA.JOBS
  • durée de la requête en secondes : obtenu à partir des colonnes total_slot_ms et total_compute_units dans la table INFORMATION_SCHEMA.JOBS
  • tarif de traitement par seconde : Le tarif de traitement par seconde dépend du type de requête et du nombre de ressources allouées à la requête.
  • taux de facturation : Le taux de facturation doit être récupéré à partir de la console, comme expliqué précédemment.
Pour calculer le coût d'une requête à partir des informations disponibles dans les tables INFORMATION_SCHEMA.JOBS, vous pouvez utiliser la formule suivante :
coût de la requête = (nombre de téraoctets analysés x taux de facturation) + (durée de la requête en secondes x tarif de traitement par seconde)
⚠️
Cette formule peut fournir une estimation approximative du coût réel de la requête, car le taux de facturation peut varier en fonction de l'option de stockage choisie et du type de requête. Par conséquent, il est important de surveiller régulièrement les coûts d'utilisation de BigQuery pour éviter les surprises en matière de facturation.