Visualização da tabela TABLE_STORAGE_BY_ORGANIZATION

A visualização INFORMATION_SCHEMA.TABLE_STORAGE_BY_ORGANIZATION contém uma linha para cada tabela ou visualização materializada para toda a organização associada ao projeto atual. Os dados dessa tabela não são mantidos em tempo real e podem atrasar de alguns segundos a alguns minutos.

As visualizações de armazenamento de tabela oferecem uma maneira conveniente de observar o consumo de armazenamento atual, além de fornecer detalhes sobre o uso, pelo armazenamento, de bytes lógicos não compactados, bytes físicos compactados ou bytes de viagem no tempo. Essas informações podem ajudar você em tarefas como o planejamento para crescimento futuro e a compreensão dos padrões de atualização das tabelas.

Dados incluídos nas colunas *_BYTES

As colunas *_BYTES nas visualizações de armazenamento da tabela incluem informações sobre o uso de bytes de armazenamento. Essas informações são determinadas analisando o uso do armazenamento para visualizações materializadas e os seguintes tipos de tabelas:

  • tabelas permanentes criadas por meio de qualquer um dos métodos descritos em Criar e usar tabelas.
  • Tabelas temporárias criadas em sessões. Essas tabelas são colocadas em conjuntos de dados com nomes gerados, como "_c018003e063d09570001ef33ae401fad6ab92a6a".
  • Tabelas temporárias criadas em consultas de várias instruções ("scripts"). Essas tabelas são colocadas em conjuntos de dados com nomes gerados, como "_script72280c173c88442c3a7200183a50eeeaa4073719".

Os dados armazenados no cache de resultados da consulta não são faturados, portanto, não são incluídos nos valores de coluna *_BYTES.

Clones e snapshots mostram valores de coluna *_BYTES como se fossem tabelas completas, em vez de mostrar o delta do armazenamento usado pela tabela base. Portanto, eles são uma estimativa superestimada. Sua fatura considera esse delta corretamente no uso do armazenamento. Para mais informações sobre os bytes delta armazenados e faturados por clones e snapshots, consulte a visualização TABLE_STORAGE_USAGE_TIMELINE.

Prever faturamento de armazenamento

Para prever o faturamento mensal de armazenamento de um conjunto de dados, use as colunas logical ou physical *_BYTES nessa visualização, dependendo do modelo de faturamento de armazenamento usado pelo conjunto de dados. Observação: essa é apenas uma previsão aproximada, e os valores exatos de faturamento são calculados com base no uso da infraestrutura de faturamento de armazenamento do BigQuery e visíveis no Cloud Billing.

Para conjuntos de dados que usam um modelo de faturamento lógico, preveja os custos mensais de armazenamento desta maneira:

((ACTIVE_LOGICAL_BYTES valor / POW(1024, 3)) * preço de bytes lógicos ativos) + ((LONG_TERM_LOGICAL_BYTES valor / POW(1024, 3)) * preço de bytes lógicos de longo prazo)

O valor ACTIVE_LOGICAL_BYTES de uma tabela reflete os bytes ativos usados atualmente por ela.

Para conjuntos de dados que usam um modelo de faturamento físico, preveja os custos de armazenamento desta maneira:

((ACTIVE_PHYSICAL_BYTES + FAIL_SAFE_PHYSICAL_BYTES valor / POW(1024, 3)) * preço de bytes físicos ativos) + ((LONG_TERM_PHYSICAL_BYTES valor / POW(1024, 3)) *preço dos bytes físicos de longo prazo)

O valor ACTIVE_PHYSICAL_BYTES de uma tabela reflete os bytes ativos usados atualmente por essa tabela, além dos bytes utilizados para o deslocamento no tempo dela.

Para ver os bytes ativos apenas da tabela, subtraia o valor TIME_TRAVEL_PHYSICAL_BYTES do valor ACTIVE_PHYSICAL_BYTES.

Para mais informações, consulte preços de armazenamento.

Permissões necessárias

Para consultar a visualização INFORMATION_SCHEMA.TABLE_STORAGE_BY_ORGANIZATION, você precisa das permissões do Identity and Access Management (IAM) para sua organização:

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

Cada um dos seguintes papéis predefinidos do IAM inclui as permissões anteriores:

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

Essa visualização de esquema está disponível apenas para usuários com organizações definidas do Google Cloud.

Para mais informações sobre as permissões do BigQuery, consulte Controle de acesso com o IAM.

Esquema

A visualização INFORMATION_SCHEMA.TABLE_STORAGE_BY_ORGANIZATION tem o seguinte esquema:

Nome da coluna Tipo de dados Valor
PROJECT_ID STRING O ID do projeto que contém o conjunto de dados
TABLE_CATALOG STRING O ID do projeto que contém o conjunto de dados
PROJECT_NUMBER INT64 O número do projeto que contém o conjunto de dados
TABLE_SCHEMA STRING O nome do conjunto de dados que contém a tabela ou a visualização materializada, também conhecido como datasetId
TABLE_NAME STRING O nome da tabela ou visualização materializada, também conhecido como tableId
CREATION_TIME TIMESTAMP O horário de criação da tabela
DELETED BOOLEAN Indica se a tabela foi excluída.
STORAGE_LAST_MODIFIED_TIME TIMESTAMP O horário mais recente em que os dados foram gravados na tabela.
TOTAL_ROWS INT64 O número total de linhas na tabela ou visualização materializada
TOTAL_PARTITIONS INT64 O número de partições presentes na tabela ou na visualização materializada. Tabelas não particionadas retornam 0.
TOTAL_LOGICAL_BYTES INT64 Número total de bytes (não compactados) lógicos na tabela ou visualização materializada
ACTIVE_LOGICAL_BYTES INT64 Número de bytes (não compactados) lógicos com menos de 90 dias
LONG_TERM_LOGICAL_BYTES INT64 Número de bytes (não compactados) lógicos com mais de 90 dias
TOTAL_PHYSICAL_BYTES INT64 Número total de bytes físicos (compactados) usados para armazenamento, incluindo bytes ativos, de longo prazo e de viagem no tempo (dados excluídos ou alterados)
ACTIVE_PHYSICAL_BYTES INT64 Número de bytes físicos (compactados) com menos de 90 dias, incluindo bytes de viagem no tempo (dados excluídos ou alterados)
LONG_TERM_PHYSICAL_BYTES INT64 Número de bytes (não compactados) físicos com mais de 90 dias
TIME_TRAVEL_PHYSICAL_BYTES INT64 Número de bytes (não compactados) físicos usados pelo armazenamento de viagem no tempo (dados excluídos ou alterados)
FAIL_SAFE_PHYSICAL_BYTES INT64 Número de bytes físicos (compactados) usados pelo armazenamento seguro contra falhas (dados excluídos ou alterados)
TABLE_TYPE STRING O tipo de tabela. Por exemplo, "EXTERNAL" ou "BASE TABLE"

Escopo e sintaxe

As consultas nessa visualização precisam incluir um qualificador de região. A tabela a seguir explica o escopo da região dessa visualização:

Nome da visualização Escopo do recurso Escopo da região
[`PROJECT_ID`.]`region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_BY_ORGANIZATION Organização que contém o projeto especificado REGION
Substitua:

  • Opcional: PROJECT_ID: o ID do seu projeto do Google Cloud. Se não for especificado, o projeto padrão será usado.
  • REGION: qualquer nome da região do conjunto de dados. Por exemplo, region-us.

O exemplo a seguir mostra como retornar informações de armazenamento para tabelas em um projeto especificado em uma organização:

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

O exemplo a seguir mostra como retornar informações de armazenamento por projeto para tabelas em uma organização:

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

Exemplo

O exemplo a seguir mostra quais projetos em uma organização estão usando mais armazenamento.

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;

O resultado será semelhante ao seguinte:

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