Vista TABLE_STORAGE_BY_ORGANIZATION

La vista INFORMATION_SCHEMA.TABLE_STORAGE_BY_ORGANIZATION contiene una fila para cada tabla o vista materializada de toda la organización asociada con el proyecto actual. Los datos de esta tabla no se mantienen en tiempo real y pueden tardar unos segundos o unos minutos.

Las vistas de almacenamiento de tablas te brindan una manera conveniente de observar el consumo actual del almacenamiento, y también proporcionan detalles sobre si tu almacenamiento usa bytes lógicos sin comprimir, bytes comprimidos físicos o bytes de viaje en el tiempo. Esta información puede ayudarte con tareas como la planificación para el crecimiento futuro y comprender los patrones de actualización de las tablas.

Datos incluidos en las columnas *_BYTES

Las columnas *_BYTES en las vistas de almacenamiento de la tabla incluyen información sobre tu uso de bytes de almacenamiento. Esta información se determina mediante el análisis del uso de almacenamiento para las vistas materializadas y los siguientes tipos de tablas:

  • Tablas permanentes creadas a través de cualquiera de los métodos descritos en Crea y usa tablas.
  • Tablas temporales creadas en sesiones. Estas tablas se colocan en conjuntos de datos con nombres generados, como “_c018003e063d09570001ef33ae401fad6ab92a6a”.
  • Tablas temporales creadas en consultas de varias declaraciones (“secuencias de comandos”). Estas tablas se colocan en conjuntos de datos con nombres generados, como “_script72280c173c88442c3a7200183a50eeeaa4073719”.

Los datos almacenados en la caché de resultados de la consulta no se facturan a ti, por lo que no se incluyen en los valores de la columna *_BYTES.

Las clonaciones y las instantáneas muestran los valores de la columna *_BYTES como si fueran tablas completas, en lugar de mostrar el delta del almacenamiento que usa la tabla base, por lo que son una estimación excesiva. Tu factura no tiene en cuenta este delta en el uso de almacenamiento de forma correcta. Para obtener más información sobre los bytes delta almacenados y facturados por clonaciones e instantáneas, consulta la vista TABLE_STORAGE_USAGE_TIMELINE.

Facturación de almacenamiento de previsión

Para prever la facturación de almacenamiento mensual de un conjunto de datos, puedes usar las columnas logical o physical *_BYTES en esta vista, según el modelo de facturación de almacenamiento de conjunto de datos que usa el conjunto de datos. Ten en cuenta que esta es solo una previsión aproximada y que los importes de facturación precisos se calculan según el uso de la infraestructura de facturación de almacenamiento de BigQuery, que se puede ver en la Facturación de Cloud.

Para los conjuntos de datos que usan un modelo lógico de facturación, puedes prever los costos de almacenamiento mensuales de la siguiente manera:

((Valor ACTIVE_LOGICAL_BYTES/POW(1024, 3)) * precio de bytes lógicos activos + ((valor LONG_TERM_LOGICAL_BYTES/POW(1024, 3)) * precios de bytes lógicos a largo plazo).

El valor ACTIVE_LOGICAL_BYTES de una tabla refleja los bytes activos que usa esa tabla en este momento.

Para los conjuntos de datos que usan un modelo de facturación físico, puedes prever los costos de almacenamiento de la siguiente manera:

((valor ACTIVE_PHYSICAL_BYTES + FAIL_SAFE_PHYSICAL_BYTES/POW(1024, 3)) * precios de bytes físicos activos + ((valor LONG_TERM_PHYSICAL_BYTES/POW(1024, 3)) * precios de bytes físicos a largo plazo)

El valor ACTIVE_PHYSICAL_BYTES de una tabla refleja los bytes activos que usa esa tabla en este momento, además de los bytes que se usan en ese período.

Para ver solo los bytes activos de la tabla, resta el valor TIME_TRAVEL_PHYSICAL_BYTES del valor ACTIVE_PHYSICAL_BYTES.

Para obtener más información, consulta los precios de almacenamiento.

Permisos necesarios

Si deseas consultar la vista INFORMATION_SCHEMA.TABLE_STORAGE_BY_ORGANIZATION, necesitas los siguientes permisos de Identity and Access Management (IAM) para tu organización:

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

Cada uno de los siguientes roles predefinidos de IAM incluye los permisos anteriores:

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

Esta vista de esquema solo está disponible para los usuarios con organizaciones de Google Cloud definidas.

Para obtener más información sobre IAM de BigQuery, consulta Control de acceso con IAM.

Esquema

La vista INFORMATION_SCHEMA.TABLE_STORAGE_BY_ORGANIZATION tiene el siguiente esquema:

Nombre de la columna Tipo de datos Valor
PROJECT_ID 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_CATALOG STRING El ID 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).
CREATION_TIME TIMESTAMP La hora de creación de la tabla.
TOTAL_ROWS INT64 La cantidad total de filas en la tabla o la vista materializada
TOTAL_PARTITIONS INT64 La cantidad de particiones presentes en la tabla o la vista materializada. Las tablas no particionadas muestran 0.
TOTAL_LOGICAL_BYTES INT64 Cantidad total de bytes lógicos (sin comprimir) en la tabla o la vista materializada.
ACTIVE_LOGICAL_BYTES INT64 Cantidad de bytes lógicos (sin comprimir) que tienen menos de 90 días.
LONG_TERM_LOGICAL_BYTES INT64 Cantidad de bytes lógicos (sin comprimir) que tienen más de 90 días.
CURRENT_PHYSICAL_BYTES INT64 Cantidad total de bytes físicos para el almacenamiento actual de la tabla en todas las particiones.
TOTAL_PHYSICAL_BYTES INT64 Cantidad total de bytes físicos (comprimidos) que se usan para el almacenamiento, incluidos los bytes activos, a largo plazo y de viaje en el tiempo (datos borrados o modificados). No se incluyen los bytes a prueba de fallas (datos borrados o modificados retenidos después del período de viaje en el tiempo).
ACTIVE_PHYSICAL_BYTES INT64 Cantidad de bytes físicos (comprimidos) con menos de 90 días, incluidos los bytes de viaje en el tiempo (datos borrados o modificados).
LONG_TERM_PHYSICAL_BYTES INT64 Cantidad de bytes físicos (comprimidos) con más de 90 días.
TIME_TRAVEL_PHYSICAL_BYTES INT64 Cantidad de bytes físicos (comprimidos) que usa el almacenamiento de viaje en el tiempo (datos borrados o modificados).
STORAGE_LAST_MODIFIED_TIME TIMESTAMP La hora más reciente en que los datos se escribieron en la tabla.
DELETED BOOLEAN Indica si la tabla se borró o no.
TABLE_TYPE STRING El tipo de tabla. Por ejemplo, EXTERNAL o BASE TABLE.
FAIL_SAFE_PHYSICAL_BYTES INT64 Cantidad de bytes físicos (comprimidos) que usa el almacenamiento seguro ante fallas (datos borrados o modificados)
LAST_METADATA_INDEX_REFRESH_TIME TIMESTAMP La última hora de actualización del índice de metadatos de la tabla.

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_BY_ORGANIZATION Organización que contiene el proyecto especificado 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 para las tablas en un proyecto especificado de una organización:

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

En el siguiente ejemplo, se demuestra cómo mostrar información de almacenamiento por proyecto para las tablas en una organización:

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

Ejemplo

En el siguiente ejemplo, se muestran los proyectos de la organización que usan más almacenamiento.

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;

El resultado es similar al siguiente:

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