Vue TABLE_STORAGE_BY_ORGANIZATION

La vue INFORMATION_SCHEMA.TABLE_STORAGE_BY_ORGANIZATION contient une ligne pour chaque table ou vue matérialisée pour l'ensemble de l'organisation associée au projet en cours. Les données de ce tableau ne sont pas conservées en temps réel et peuvent être retardées de quelques secondes à quelques minutes.

Les vues de stockage de tables vous permettent de surveiller facilement la consommation de stockage actuelle. Elles fournissent également des informations sur l'utilisation d'octets logiques non compressés, d'octets compressés physiques ou d'octets de fonctionnalité temporelle dans votre espace de stockage. Ces informations peuvent vous aider dans des tâches telles que la planification de la croissance future et la compréhension des modèles de mise à jour des tables.

Données incluses dans les colonnes *_BYTES

Les colonnes *_BYTES des vues de stockage de tables incluent des informations sur votre utilisation des octets de stockage. Ces informations sont déterminées en examinant votre utilisation de l'espace de stockage pour les vues matérialisées et les types de tables suivants :

  • Tables permanentes créées via l'une des méthodes décrites sur la page Créer et utiliser des tables
  • Tables temporaires créées dans des sessions. Ces tables sont placées dans des ensembles de données ayant des noms générés comme "_c018003e063d09570001ef33ae401fad6ab92a6a".
  • Tables temporaires créées dans des requêtes à plusieurs instructions ("scripts"). Ces tables sont placées dans des ensembles de données ayant des noms générés comme "_script72280c173c88442c3a7200183a50eeeaa4073719".

Les données stockées dans le cache des résultats de requête ne vous sont pas facturées et ne sont donc pas incluses dans les valeurs des colonnes *_BYTES.

Les clones et les instantanés affichent les valeurs de la colonne *_BYTES comme s'il s'agissait de tables complètes, plutôt que d'afficher les valeurs delta du stockage utilisé par la table de base, ce qui constitue une surestimation. Votre facture tient compte correctement de ce delta dans l'utilisation de l'espace de stockage. Pour en savoir plus sur les octets delta stockés et facturés par les clones et les instantanés, consultez la page Vue TABLE_STORAGE_USAGE_TIMELINE.

Prévoir la facturation du stockage

Afin de prévoir la facturation mensuelle du stockage d'un ensemble de données, vous pouvez utiliser les colonnes logical ou physical *_BYTES de cette vue, selon le modèle de facturation du stockage des ensembles de données utilisé par l'ensemble de données. Notez qu'il ne s'agit que d'une prévision approximative. Les montants de facturation précis sont calculés en fonction de l'utilisation par l'infrastructure de facturation de l'espace de stockage BigQuery et sont visibles dans Cloud Billing.

Pour les ensembles de données qui utilisent un modèle de facturation logique, vous pouvez prévoir vos coûts de stockage mensuels comme suit :

((ACTIVE_LOGICAL_BYTES valeur / POW(1024, 3)) * tarification des octets logiques actifs) + ((valeur LONG_TERM_LOGICAL_BYTES / POW(1024, 3)) * tarification des octets logiques à long terme)

La valeur ACTIVE_LOGICAL_BYTES d'une table reflète les octets actifs actuellement utilisés par cette table.

Pour les ensembles de données qui utilisent un modèle de facturation physique, vous pouvez prévoir vos coûts de stockage comme suit :

((valeur ACTIVE_PHYSICAL_BYTES + FAIL_SAFE_PHYSICAL_BYTES / POW(1024, 3)) * tarification des octets physiques actifs) + ((valeur LONG_TERM_PHYSICAL_BYTES / POW(1024, 3)) * tarification des octets physiques à long terme)

La valeur ACTIVE_PHYSICAL_BYTES d'une table reflète les octets actifs actuellement utilisés par cette table, ainsi que les octets utilisés pour les fonctionnalités temporelles de cette table.

Pour afficher uniquement les octets actifs de la table, soustrayez la valeur TIME_TRAVEL_PHYSICAL_BYTES de la valeur ACTIVE_PHYSICAL_BYTES.

Pour en savoir plus, consultez les tarifs de stockage.

Autorisations requises

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

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

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

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

Cette vue du schéma n'est disponible que pour les utilisateurs associés à des organisations Google Cloud définies.

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_BY_ORGANIZATION présente le schéma suivant :

Nom de la colonne Type de données Valeur
PROJECT_ID STRING ID du projet qui contient l'ensemble de données.
PROJECT_NUMBER INT64 Numéro du projet qui contient l'ensemble de données.
TABLE_CATALOG STRING ID du projet qui contient l'ensemble de données.
TABLE_SCHEMA STRING Nom de l'ensemble de données qui contient 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.
CREATION_TIME TIMESTAMP Horodatage de création de la table.
TOTAL_ROWS INT64 Nombre total de lignes dans la table ou la vue matérialisée.
TOTAL_PARTITIONS INT64 Nombre de partitions présentes dans la table ou la vue matérialisée. Les tables non partitionnées renvoient la valeur 0.
TOTAL_LOGICAL_BYTES INT64 Nombre total d'octets logiques (non compressés) dans la table ou la vue matérialisée.
ACTIVE_LOGICAL_BYTES INT64 Nombre d'octets logiques (non compressés) datant de moins de 90 jours.
LONG_TERM_LOGICAL_BYTES INT64 Nombre d'octets logiques (non compressés) datant de plus de 90 jours.
CURRENT_PHYSICAL_BYTES INT64 Nombre total d'octets physiques pour le stockage actuel de la table sur l'ensemble des partitions.
TOTAL_PHYSICAL_BYTES INT64 Nombre total d'octets (compressés) physiques utilisés pour le stockage, y compris les octets actifs, à long terme et de fonctionnalité temporelle (données supprimées ou modifiées). Les octets sécurisés (données supprimées ou modifiées conservées après la fenêtre temporelle) ne sont pas inclus.
ACTIVE_PHYSICAL_BYTES INT64 Nombre d'octets physiques (compressés) datant de moins de 90 jours, y compris les octets de fonctionnalité temporelle (données supprimées ou modifiées).
LONG_TERM_PHYSICAL_BYTES INT64 Nombre d'octets physiques (compressés) datant de plus de 90 jours.
TIME_TRAVEL_PHYSICAL_BYTES INT64 Nombre d'octets physiques (compressés) utilisés par le stockage temporel (données supprimées ou modifiées).
STORAGE_LAST_MODIFIED_TIME TIMESTAMP Date et heure de la dernière écriture des données dans la table.
DELETED BOOLEAN Indique si la table est supprimée ou non.
TABLE_TYPE STRING Type de table. Par exemple, EXTERNAL ou BASE TABLE.
FAIL_SAFE_PHYSICAL_BYTES INT64 Nombre d'octets physiques (compressés) utilisés par le stockage sécurisé (données supprimées ou modifiées).

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_BY_ORGANIZATION Organisation contenant le projet spécifié 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. Exemple : region-us.

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

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

L'exemple suivant montre comment renvoyer des informations de stockage par projet pour les tables d'une organisation :

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

Exemple

L'exemple suivant montre quels projets d'une organisation utilisent le plus d'espace de stockage.

SELECT
  project_id,
  SUM(total_logical_bytes) AS total_logical_bytes
FROM
  `region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_BY_ORGANIZATION
GROUP BY
  project_id
ORDER BY
  total_logical_bytes DESC;

Le résultat ressemble à ce qui suit :

+---------------------+---------------------+
|     project_id      | total_logical_bytes |
+---------------------+---------------------+
| projecta            |     971329178274633 |
+---------------------+---------------------+
| projectb            |     834638211024843 |
+---------------------+---------------------+
| projectc            |     562910385625126 |
+---------------------+---------------------+