Vista de TABLE_STORAGE_usage_TIMELINE
En la vista INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE
, se proporcionan los totales diarios de uso de almacenamiento de los últimos 90 días para los siguientes tipos de tablas:
- Tablas estándar
- Vistas materializadas
- Clonaciones de tablas que tienen un delta en bytes de la tabla base
- Instantáneas de tablas que tienen un delta en bytes de la tabla base
Las tablas que no tienen bytes facturables no se incluyen en la vista INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE
. Esto incluye los siguientes tipos de tablas:
- Tablas externas
- Tablas anónimas
- Tablas vacías
- Clonaciones de tablas que no tienen delta en bytes de la tabla base
- Instantáneas de tablas que no tienen delta en bytes de la tabla base
Cuando consultas la vista INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE
, los resultados contienen una fila por día por cada tabla o vista materializada del proyecto actual.
Los datos de esta tabla no se mantienen en tiempo real. Los datos de la tabla tardan alrededor de 72 horas en reflejarse en esta vista.
El uso del almacenamiento se muestra en MiB de segundo. Por ejemplo, si un proyecto usa 1,000,000 bytes físicos durante 86,400 segundos (24 horas), el uso físico es de 86,400,000,000 bytes segundos, que se convierten en 82,397 MiB segundos, como se muestra en el siguiente ejemplo:
86,400,000,000 / 1,024 / 1,024 = 82,397
Este es el valor que mostraría la columna BILLABLE_TOTAL_PHYSICAL_USAGE
.
Para obtener más información, consulta los precios de almacenamiento.
Permisos necesarios
Para consultar la vista INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE
, necesitas los siguientes permisos de Identity and Access Management (IAM):
bigquery.tables.get
bigquery.tables.list
Cada uno de los siguientes roles predefinidos de IAM incluye los permisos anteriores:
roles/bigquery.dataViewer
roles/bigquery.dataEditor
roles/bigquery.metadataViewer
roles/bigquery.admin
Para consultas con un calificador de región, debes tener permisos para el proyecto.
Para obtener más información sobre IAM de BigQuery, consulta Control de acceso con IAM.
Esquema
La vista INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE
tiene el siguiente esquema:
USAGE_DATE |
DATE |
La fecha de facturación de los bytes que se muestran, con la zona horaria de America/Los_Angeles |
PROJECT_ID |
STRING |
El ID del proyecto que contiene el conjunto de datos |
TABLE_CATALOG |
STRING |
El ID del proyecto que contiene el conjunto de datos |
PROJECT_NUMBER |
INT64 |
El número del proyecto que contiene el conjunto de datos |
TABLE_SCHEMA |
STRING |
El nombre del conjunto de datos que contiene la tabla o la vista materializada (también denominado datasetId ) |
TABLE_NAME |
STRING |
El nombre de la tabla o la vista materializada (también denominado tableId ) |
BILLABLE_TOTAL_LOGICAL_USAGE |
INT64 |
El uso lógico total, en MiB segundos. Muestra 0 si el conjunto de datos usa el modelo de facturación de almacenamiento físico. |
BILLABLE_ACTIVE_LOGICAL_USAGE |
INT64 |
El uso lógico que tiene menos de 90 días, en MiB segundos. Muestra 0 si el conjunto de datos usa el modelo de facturación de almacenamiento físico. |
BILLABLE_LONG_TERM_LOGICAL_USAGE |
INT64 |
El uso lógico que tiene más de 90 días, en MiB segundos. Muestra 0 si el conjunto de datos usa el modelo de facturación de almacenamiento físico. |
BILLABLE_TOTAL_PHYSICAL_USAGE |
INT64 |
El uso total en MiB segundos. Esto incluye bytes físicos que se usan para el almacenamiento a prueba de fallas y viajes en el tiempo. Muestra 0 si el conjunto de datos usa el modelo de facturación de almacenamiento lógico. |
BILLABLE_ACTIVE_PHYSICAL_USAGE |
INT64 |
El uso físico que tiene menos de 90 días, en MiB segundos. Esto incluye los bytes físicos que se usan para el almacenamiento a prueba de fallas y viajes en el tiempo. Muestra 0 si el conjunto de datos usa el modelo de facturación de almacenamiento lógico. |
BILLABLE_LONG_TERM_PHYSICAL_USAGE |
INT64 |
El uso físico que tiene más de 90 días, en MiB segundos. Muestra 0 si el conjunto de datos usa el modelo de facturación de almacenamiento lógico. |
Permiso y sintaxis
Las consultas realizadas a esta vista deben incluir un calificador de región. En la siguiente tabla, se explica el permiso de la región para esta vista:
Nombre de la vista | Permiso del recurso | Permiso de la región |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE[_BY_PROJECT] |
Nivel de proyecto | REGION |
Opcional: PROJECT_ID
: el ID del proyecto de Google Cloud. Si no se especifica, se usa el proyecto predeterminado.
REGION
: Cualquier nombre de región del conjunto de datos.
Por ejemplo, `region-us`
.
En el siguiente ejemplo, se demuestra cómo mostrar información de almacenamiento de las tablas en un proyecto específico:
SELECT * FROM myProject.`region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE;
En el siguiente ejemplo, se demuestra cómo mostrar información de almacenamiento de las tablas en una región específica:
SELECT * FROM `region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE;
Ejemplos
Ejemplo 1
En el siguiente ejemplo, se suma el uso de almacenamiento por día para proyectos en una región específica.
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;
El resultado es similar al siguiente:
+-------------------------+------------------------------+-------------------------------+-----------------------------------+-------------------------------+--------------------------------+-------------------------------------+ | 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 | +-------------------------+------------------------------+-------------------------------+-----------------------------------+-------------------------------+--------------------------------+-------------------------------------+
Ejemplo 2
En el siguiente ejemplo, se muestra el uso del almacenamiento de un día específico para tablas en un conjunto de datos que usa almacenamiento lógico.
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;
El resultado es similar al siguiente:
+--------------+--------------+------------+------------------------------+ | 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 | +--------------+--------------+------------+------------------------------+
Ejemplo 3
En el siguiente ejemplo, se muestra el uso del almacenamiento de la fecha de uso más reciente de las tablas en un conjunto de datos que usa almacenamiento físico.
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;
El resultado es similar al siguiente:
+--------------+--------------+------------+-------------------------------+ | 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 | +--------------+--------------+------------+-------------------------------+
Ejemplo 4
En el siguiente ejemplo, se unen las vistas TABLE_OPTIONS
y TABLE_STORAGE_USAGE_TIMELINE
para obtener detalles del uso del almacenamiento según las etiquetas.
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\")')