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 MB 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 MB 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
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 MB 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 MB 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 MB 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 MB 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 MB 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 MB 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
Reemplaza lo siguiente:

  • 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. Un ejemplo es 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\")')