Vue TABLE_STORAGE_USAGE_TIMELINE

La vue INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE fournit les totaux quotidiens d'utilisation du stockage au cours des 90 derniers jours pour les types de tables suivants :

  • Tables standards
  • Vues matérialisées
  • Clones de tables ayant un delta en octets par rapport à la table de base
  • Instantanés de tables ayant un delta en octets par rapport à la table de base

Les tables qui n'ont pas d'octets facturables ne sont pas incluses dans la vue INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE. Cela inclut les types de tables suivants :

  • Tables externes
  • Tables anonymes
  • Tables vides
  • Clones de table n'ayant pas de delta en octets par rapport à la table de base
  • Instantanés de tables n'ayant pas de delta en octets par rapport à la table de base

Lorsque vous interrogez la vue INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE, les résultats de la requête contiennent une ligne par jour pour chaque table ou vue matérialisée du projet en cours.

Les données de cette table ne sont pas conservées en temps réel. Il faut environ 72 heures pour que les données de la table soient reflétées dans cette vue.

L'utilisation de l'espace de stockage est renvoyée en Mo/s. Par exemple, si un projet utilise 1 000 000 d'octets physiques pendant 86 400 secondes (24 heures), l'utilisation physique totale est de 86 400 000 000 d'octets par seconde, ce qui est converti en 82 397 Mo/s, comme illustré dans l'exemple suivant :

86,400,000,000 / 1,024 / 1,024 = 82,397

Il s'agit de la valeur qui serait renvoyée par la colonne BILLABLE_TOTAL_PHYSICAL_USAGE.

Pour en savoir plus, consultez les détails des tarifs de stockage.

Autorisations requises

Pour interroger la vue INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE, vous avez besoin des autorisations IAM (Identity and Access Management) suivantes :

  • bigquery.tables.get
  • bigquery.tables.list

Chacun des rôles IAM prédéfinis suivants inclut les autorisations ci-dessus :

  • roles/bigquery.dataViewer
  • roles/bigquery.dataEditor
  • roles/bigquery.metadataViewer
  • roles/bigquery.admin

Pour les requêtes avec un qualificatif de région, vous devez disposer des autorisations nécessaires sur le projet.

Pour plus d'informations sur les autorisations BigQuery, consultez la page Contrôle des accès avec IAM.

Schéma

La vue INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE présente le schéma suivant :

USAGE_DATE DATE Date de facturation pour les octets affichés
PROJECT_ID STRING ID du projet qui contient l'ensemble de données
TABLE_CATALOG STRING ID du projet qui contient l'ensemble de données
PROJECT_NUMBER INT64 Numéro du projet contenant l'ensemble de données
TABLE_SCHEMA STRING Nom de l'ensemble de données contenant la table ou la vue matérialisée, également appelé datasetId
TABLE_NAME STRING Nom de la table ou de la vue matérialisée, également appelé tableId
BILLABLE_TOTAL_LOGICAL_USAGE INT64

Utilisation logique totale, en Mo.

Renvoie 0 si l'ensemble de données utilise le modèle de facturation du stockage physique.

BILLABLE_ACTIVE_LOGICAL_USAGE INT64

Utilisation logique datant de moins de 90 jours, en Mo/s.

Renvoie 0 si l'ensemble de données utilise le modèle de facturation du stockage physique.

BILLABLE_LONG_TERM_LOGICAL_USAGE INT64

Utilisation logique datant de plus de 90 jours, en Mo/s.

Renvoie 0 si l'ensemble de données utilise le modèle de facturation du stockage physique.

BILLABLE_TOTAL_PHYSICAL_USAGE INT64

Utilisation totale, en Mo/s. Cela inclut les octets physiques utilisés pour le stockage sécurisé et le stockage temporel.

Renvoie 0 si l'ensemble de données utilise le modèle de facturation de stockage logique.

BILLABLE_ACTIVE_PHYSICAL_USAGE INT64

Utilisation physique datant de moins de 90 jours, en Mo/s. Cela inclut les octets physiques utilisés pour le stockage sécurisé et le stockage temporel.

Renvoie 0 si l'ensemble de données utilise le modèle de facturation de stockage logique.

BILLABLE_LONG_TERM_PHYSICAL_USAGE INT64

Utilisation physique datant de plus de 90 jours, en Mo/s.

Renvoie 0 si l'ensemble de données utilise le modèle de facturation de stockage logique.

Champ d'application et syntaxe

Les requêtes exécutées sur cette vue doivent inclure un qualificatif de région. Le tableau suivant explique le champ d'application de la région pour cette vue :

Nom de la vue Champ d'application de la ressource Champ d'application de la région
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE[_BY_PROJECT] Niveau Projet REGION
Remplacez les éléments suivants :

  • Facultatif : PROJECT_ID : ID de votre projet Google Cloud. Si non spécifié, le projet par défaut est utilisé.
 + REGION : nom de la région de l'ensemble de données. Par exemple, region-us.

L'exemple suivant montre comment renvoyer des informations de stockage pour les tables d'un projet spécifié :

SELECT * FROM myProject.`region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE;

L'exemple suivant montre comment renvoyer des informations de stockage pour les tables d'une région spécifiée :

SELECT * FROM `region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE;

Exemples

Exemple 1

L'exemple suivant additionne l'utilisation de l'espace de stockage par jour pour les projets situés dans une région spécifiée.

SELECT
  usage_date,
  project_id,
  SUM(billable_total_logical_usage) AS billable_total_logical_usage,
  SUM(billable_active_logical_usage) AS billable_active_logical_usage,
  SUM(billable_long_term_logical_usage) AS billable_long_term_logical_usage,
  SUM(billable_total_physical_usage) AS billable_total_physical_usage,
  SUM(billable_active_physical_usage) AS billable_active_physical_usage,
  SUM(billable_long_term_physical_usage) AS billable_long_term_physical_usage
FROM
  `region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE
GROUP BY
  1,
  2
ORDER BY
  usage_date;

Le résultat ressemble à ce qui suit :

+-------------------------+------------------------------+-------------------------------+-----------------------------------+-------------------------------+--------------------------------+-------------------------------------+
| usage_date | project_id | billable_total_logical_usage | billable_active_logical_usage | billable_long_term_logical_usage  | billable_total_physical_usage | billable_active_physical_usage | billable_long_term_physical_usage   |
+-------------------------+------------------------------+-------------------------------+-----------------------------------+-------------------------------+--------------------------------+-------------------------------------+
| 2023-04-03 | project_A  | 305085738096                 | 7667321458                    | 297418416638                      | 74823954823                   | 124235724                      | 74699719099                         |
+-------------------------+------------------------------+-------------------------------+-----------------------------------+-------------------------------+--------------------------------+-------------------------------------+
| 2023-04-04 | project_A  | 287033241105                 | 7592334614                    | 279440906491                      | 75071991788                   | 200134561                      | 74871857227                         |
+-------------------------+------------------------------+-------------------------------+-----------------------------------+-------------------------------+--------------------------------+-------------------------------------+
| 2023-04-03 | project_B  | 478173930912                 | 8137372626                    | 470036558286                      | 0                             | 0                              | 0                                   |
+-------------------------+------------------------------+-------------------------------+-----------------------------------+-------------------------------+--------------------------------+-------------------------------------+
| 2023-04-04 | project_B  | 496648915405                 | 7710451723                    | 488938463682                      | 0                             | 0                              | 0                                   |
+-------------------------+------------------------------+-------------------------------+-----------------------------------+-------------------------------+--------------------------------+-------------------------------------+

Exemple 2

L'exemple suivant montre l'utilisation de l'espace de stockage pour un jour spécifié pour les tables d'un ensemble de données utilisant un stockage logique.

SELECT
  usage_date,
  table_schema,
  table_name,
  billable_total_logical_usage
FROM
  `region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE
WHERE
  project_id = 'PROJECT_ID'
  AND table_schema = 'DATASET_NAME'
  AND usage_date = 'USAGE_DATE'
ORDER BY
  billable_total_logical_usage DESC;

Le résultat ressemble à ce qui suit :

+--------------+--------------+------------+------------------------------+
| usage_date   | table_schema | table_name | billable_total_logical_usage |
+--------------+--------------+------------+------------------------------+
|  2023-04-03  | dataset_A    | table_4    | 734893409201                 |
+--------------+--------------+------------+------------------------------+
|  2023-04-03  | dataset_A    | table_1    | 690070445455                 |
+--------------+--------------+------------+------------------------------+
|  2023-04-03  | dataset_A    | table_3    |  52513713981                 |
+--------------+--------------+------------+------------------------------+
|  2023-04-03  | dataset_A    | table_2    |   8894535355                 |
+--------------+--------------+------------+------------------------------+

Exemple 3

L'exemple suivant montre l'utilisation de l'espace de stockage pour la date d'utilisation la plus récente pour les tables d'un ensemble de données utilisant un stockage physique.

SELECT
  usage_date,
  table_schema,
  table_name,
  billable_total_physical_usage
FROM
  (
    SELECT
      *,
      ROW_NUMBER()
        OVER (PARTITION BY project_id, table_schema, table_name ORDER BY usage_date DESC) AS rank
    FROM
      `region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE
  )
WHERE
  rank = 1
  AND project_id = 'PROJECT_ID'
  AND table_schema ='DATASET_NAME'
ORDER BY
  usage_date;

Le résultat ressemble à ce qui suit :

+--------------+--------------+------------+-------------------------------+
| usage_date   | table_schema | table_name | billable_total_physical_usage |
+--------------+--------------+------------+-------------------------------+
|  2023-04-12  | dataset_A    | table_4    |  345788341123                 |
+--------------+--------------+------------+-------------------------------+
|  2023-04-12  | dataset_A    | table_1    |             0                 |
+--------------+--------------+------------+-------------------------------+
|  2023-04-12  | dataset_A    | table_3    | 9123481400212                 |
+--------------+--------------+------------+-------------------------------+
|  2023-04-12  | dataset_A    | table_2    |    1451334553                 |
+--------------+--------------+------------+-------------------------------+

Exemple 4

L'exemple suivant joint les vues TABLE_OPTIONS et TABLE_STORAGE_USAGE_TIMELINE pour obtenir des détails sur l'utilisation de l'espace de stockage en fonction des tags.

SELECT * FROM region-REGION.INFORMATION_SCHEMA.TABLE_OPTIONS
    INNER JOIN region-REGION.INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE
    USING (TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME)
    WHERE option_name='tags'
    AND CONTAINS_SUBSTR(option_value, '(\"tag_namespaced_key\", \"tag_namespaced_value\")')