Vista TABLE_STORAGE_USAGE_TIMELINE
La vista INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE
ofrece totales diarios del uso del almacenamiento de los últimos 90 días para los siguientes tipos de tablas:
- Tablas estándares
- Vistas materializadas
- Clones de tablas que tienen un delta en bytes con respecto a la tabla base
- Capturas de tablas que tienen un delta en bytes con respecto a 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
- Clones de tablas que no tienen ningún delta en bytes con respecto a la tabla base
- Capturas de tablas que no tienen ningún delta en bytes con respecto a la tabla base
Cuando consultas la INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE
vista, los resultados de la consulta contienen una fila por día para cada tabla o vista materializada del proyecto actual.
Los datos de esta tabla no se actualizan en tiempo real. Los datos de la tabla tardan aproximadamente 72 horas en reflejarse en esta vista.
El uso del almacenamiento se devuelve en segundos de MiB. Por ejemplo, si un proyecto usa 1.000.000 de bytes físicos durante 86.400 segundos (24 horas), el uso físico total es de 86.400.000.000 bytes por segundo, que se convierte en 82.397 MiB por segundo, como se muestra en el siguiente ejemplo:
86,400,000,000 / 1,024 / 1,024 = 82,397
Es el valor que devolvería la columna BILLABLE_TOTAL_PHYSICAL_USAGE
.
Para obtener más información, consulta los detalles de los precios de almacenamiento.
Permisos obligatorios
Para consultar la vista INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE
, necesitas los siguientes permisos de gestión de identidades y accesos (IAM):
bigquery.tables.get
bigquery.tables.list
Cada uno de los siguientes roles de gestión de identidades y accesos predefinidos incluye los permisos anteriores:
roles/bigquery.dataViewer
roles/bigquery.dataEditor
roles/bigquery.metadataViewer
roles/bigquery.admin
En el caso de las consultas con un calificador de región, debes tener permisos para el proyecto.
Para obtener más información sobre los permisos de BigQuery, consulta Control de acceso con gestión de identidades y accesos.
Esquema
La vista INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE
tiene el siguiente esquema:
USAGE_DATE |
DATE |
La fecha de facturación de los bytes mostrados, con la zona horaria 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 de proyecto del proyecto que contiene el conjunto de datos. |
TABLE_SCHEMA |
STRING |
Nombre del conjunto de datos que contiene la tabla o la vista materializada.
También se conoce como datasetId |
TABLE_NAME |
STRING |
Nombre de la tabla o de la vista materializada, también conocido como tableId |
BILLABLE_TOTAL_LOGICAL_USAGE |
INT64 |
El uso lógico total, en segundos de MiB. Devuelve 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 segundo. Devuelve 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 por segundo. second. Devuelve 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 segundos de MiB. Esto incluye los bytes físicos usados para la protección contra fallos y el almacenamiento de viajes en el tiempo. Devuelve 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 de antigüedad, en segundos MiB. Esto incluye los bytes físicos utilizados para el almacenamiento a prueba de fallos y el almacenamiento de viajes en el tiempo. Devuelve 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 segundos MiB. Devuelve 0 si el conjunto de datos usa el modelo de facturación de almacenamiento lógico. |
Ámbito y sintaxis
Las consultas en esta vista deben incluir un calificador de región. En la siguiente tabla se explica el ámbito de la región de esta vista:
Nombre de la vista | Ámbito de los recursos | Ámbito 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 de tu Google Cloud proyecto. 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 muestra cómo devolver información de almacenamiento de las tablas de un proyecto específico:
SELECT * FROM myProject.`region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE;
En el siguiente ejemplo se muestra cómo devolver información de almacenamiento de las tablas de 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 del almacenamiento por día de los proyectos de 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 concreto para las tablas de un conjunto de datos que utiliza el 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 ejemplo siguiente se muestra el uso del almacenamiento de la fecha de uso más reciente de las tablas de un conjunto de datos que utiliza 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 combinan las vistas TABLE_OPTIONS
y TABLE_STORAGE_USAGE_TIMELINE
para obtener detalles sobre el uso del almacenamiento en función de 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\")')