Vista TABLE_STORAGE_BY_ORGANIZATION

A vista INFORMATION_SCHEMA.TABLE_STORAGE_BY_ORGANIZATION contém uma linha para cada tabela ou vista materializada para toda a organização associada ao projeto atual.

Os dados nesta tabela não são mantidos em tempo real e podem ter um atraso de alguns segundos a alguns minutos. As alterações ao armazenamento causadas apenas pela expiração de partições ou tabelas, ou causadas por modificações na janela de deslocamento no tempo do conjunto de dados, podem demorar até um dia a serem refletidas na vista INFORMATION_SCHEMA.TABLE_STORAGE. Nos casos de eliminação de conjuntos de dados em que o conjunto de dados contém mais de 1000 tabelas, esta vista não reflete a alteração até que o período de viagem no tempo do conjunto de dados eliminado tenha terminado.

As vistas de armazenamento de tabelas oferecem-lhe uma forma conveniente de observar o seu consumo de armazenamento atual e, além disso, fornecem detalhes sobre se o seu armazenamento usa bytes lógicos não comprimidos, bytes físicos comprimidos ou bytes de viagem no tempo. Estas informações podem ajudar em tarefas como o planeamento do crescimento futuro e a compreensão dos padrões de atualização das tabelas.

Dados incluídos nas *_BYTES colunas

As colunas *_BYTES nas vistas de armazenamento de tabelas incluem informações sobre a sua utilização de bytes de armazenamento. Estas informações são determinadas através da análise da sua utilização de armazenamento para vistas materializadas e os seguintes tipos de tabelas:

  • Tabelas permanentes criadas através de qualquer um dos métodos descritos no artigo Crie e use tabelas.
  • Tabelas temporárias criadas em sessões. Estas tabelas são colocadas em conjuntos de dados com nomes gerados, como "_c018003e063d09570001ef33ae401fad6ab92a6a".
  • Tabelas temporárias criadas em consultas com várias declarações ("scripts"). Estas tabelas são colocadas em conjuntos de dados com nomes gerados, como "_script72280c173c88442c3a7200183a50eeeaa4073719".

Os dados armazenados na cache de resultados da consulta não lhe são cobrados e, por isso, não estão incluídos nos valores da coluna *_BYTES.

Os clones e as capturas de ecrã mostram os valores das colunas *_BYTES como se fossem tabelas completas, em vez de mostrarem a diferença em relação ao armazenamento usado pela tabela base, pelo que são uma sobrestimação. A sua fatura tem em conta corretamente esta diferença na utilização do armazenamento. Para mais informações sobre os bytes delta armazenados e faturados por clones e cópias instantâneas, consulte a TABLE_STORAGE_USAGE_TIMELINE vista.

Preveja a faturação do armazenamento

Para prever a faturação de armazenamento mensal de um conjunto de dados, pode usar as colunas logical ou physical *_BYTES nesta vista, consoante o modelo de faturação de armazenamento do conjunto de dados usado pelo conjunto de dados. Tenha em atenção que esta é apenas uma previsão aproximada e os valores de faturação precisos são calculados com base na utilização pela infraestrutura de faturação do armazenamento do BigQuery e visíveis na faturação do Google Cloud.

Para conjuntos de dados que usam um modelo de faturação lógico, pode prever os custos de armazenamento mensais da seguinte forma:

((ACTIVE_LOGICAL_BYTES value / POW(1024, 3)) * active logical bytes pricing) + ((LONG_TERM_LOGICAL_BYTES value / POW(1024, 3)) * long-term logical bytes pricing)

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

Para conjuntos de dados que usam um modelo de faturação físico, pode prever os custos de armazenamento da seguinte forma:

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

O valor ACTIVE_PHYSICAL_BYTES de uma tabela reflete os bytes ativos usados atualmente por essa tabela, além dos bytes usados para a funcionalidade de viagem no tempo dessa tabela.

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

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

Autorizações necessárias

Para consultar a vista INFORMATION_SCHEMA.TABLE_STORAGE_BY_ORGANIZATION, precisa das seguintes autorizações de gestão de identidade e de acesso (IAM) para a sua organização:

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

Cada uma das seguintes funções de IAM predefinidas inclui as autorizações anteriores:

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

Esta vista de esquema só está disponível para utilizadores com Google Cloud organizações definidas.

Para mais informações sobre as autorizações do BigQuery, consulte o artigo Controlo de acesso com a IAM.

Esquema

A vista 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.
PROJECT_NUMBER INT64 O número do projeto que contém o conjunto de dados.
TABLE_CATALOG STRING O ID 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 vista materializada, também conhecido como datasetId.
TABLE_NAME STRING O nome da tabela ou da vista materializada, também conhecido como tableId.
CREATION_TIME TIMESTAMP A hora de criação da tabela.
TOTAL_ROWS INT64 O número total de linhas na tabela ou na vista materializada.
TOTAL_PARTITIONS INT64 O número de partições presentes na tabela ou na vista materializada. As tabelas não particionadas devolvem 0.
TOTAL_LOGICAL_BYTES INT64 O número total de bytes lógicos (não comprimidos) na tabela ou na vista materializada.
ACTIVE_LOGICAL_BYTES INT64 Número de bytes lógicos (não comprimidos) com menos de 90 dias.
LONG_TERM_LOGICAL_BYTES INT64 Número de bytes lógicos (não comprimidos) com mais de 90 dias.
CURRENT_PHYSICAL_BYTES INT64 Número total de bytes físicos para o armazenamento atual da tabela em todas as partições.
TOTAL_PHYSICAL_BYTES INT64 Número total de bytes físicos (comprimidos) usados para armazenamento, incluindo bytes ativos, a longo prazo e de viagem no tempo (dados eliminados ou alterados). Os bytes de segurança (dados eliminados ou alterados retidos após o período de recuperação) não estão incluídos.
ACTIVE_PHYSICAL_BYTES INT64 Número de bytes físicos (comprimidos) com menos de 90 dias, incluindo bytes de viagem no tempo (dados eliminados ou alterados).
LONG_TERM_PHYSICAL_BYTES INT64 Número de bytes físicos (comprimidos) com mais de 90 dias.
TIME_TRAVEL_PHYSICAL_BYTES INT64 Número de bytes físicos (comprimidos) usados pelo armazenamento de viagem no tempo (dados eliminados ou alterados).
STORAGE_LAST_MODIFIED_TIME TIMESTAMP A hora mais recente em que os dados foram escritos na tabela.
DELETED BOOLEAN Indica se a tabela foi eliminada ou não.
TABLE_TYPE STRING O tipo de tabela. Por exemplo, BASE TABLE.
MANAGED_TABLE_TYPE STRING Esta coluna está em pré-visualização. O tipo gerido da tabela. Por exemplo, NATIVE ou BIGLAKE.
FAIL_SAFE_PHYSICAL_BYTES INT64 Número de bytes físicos (comprimidos) usados pelo armazenamento à prova de falhas (dados eliminados ou alterados).
LAST_METADATA_INDEX_REFRESH_TIME TIMESTAMP A hora da última atualização do índice de metadados da tabela.
TABLE_DELETION_REASON STRING Motivo da eliminação da tabela se o campo DELETED for verdadeiro. Os valores possíveis são os seguintes:
  • TABLE_EXPIRATION: tabela eliminada após o tempo de validade definido
  • DATASET_DELETION: conjunto de dados eliminado pelo utilizador
  • USER_DELETED: tabela foi eliminada pelo utilizador
TABLE_DELETION_TIME TIMESTAMP A hora de eliminação da tabela.

Âmbito e sintaxe

As consultas nesta vista têm de incluir um qualificador de região. A tabela seguinte explica o âmbito da região para esta vista:

Nome da visualização de propriedade Âmbito do recurso Âmbito da região
[`PROJECT_ID`.]`region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_BY_ORGANIZATION Organização que contém o projeto especificado REGION
Substitua o seguinte:
  • Opcional: PROJECT_ID: o ID do seu projeto do Google Cloud Google Cloud. Se não for especificado, é usado o projeto predefinido.
  • REGION: qualquer nome da região do conjunto de dados. Por exemplo, `region-us`.

O exemplo seguinte mostra como devolver informações de armazenamento para tabelas num projeto especificado numa organização:

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

O exemplo seguinte mostra como devolver informações de armazenamento por projeto para tabelas numa organização:

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

Exemplo

O exemplo seguinte mostra os projetos de uma organização que estão a usar mais armazenamento atualmente.

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 é semelhante ao seguinte:

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