Visualização TABLE_STORAGE_BY_FOLDER
A visualização INFORMATION_SCHEMA.TABLE_STORAGE_BY_FOLDER
contém uma linha para cada
tabela ou visualização materializada na pasta mãe do projeto atual,
incluindo as subpastas.
Essa tabela não mantém dados em tempo real e pode atrasar de alguns segundos
a alguns minutos. As alterações de armazenamento causadas apenas pela expiração da partição ou da tabela ou por modificações na janela de viagem no tempo do conjunto de dados podem levar até um dia para serem refletidas na visualização INFORMATION_SCHEMA.TABLE_STORAGE
. Se um conjunto de dados
com mais de mil tabelas for excluído, essa visualização não vai refletir a mudança
até que a janela de viagem no tempo do
conjunto de dados excluído tenha passado.
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_FOLDER
, você precisa das
seguintes permissões do Identity and Access Management (IAM) para a pasta mãe do
projeto:
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
Para mais informações sobre as permissões do BigQuery, consulte Papéis e permissões do IAM no BigQuery.
Esquema
A visualização INFORMATION_SCHEMA.TABLE_STORAGE_BY_FOLDER
tem o seguinte esquema:
Nome da coluna | Tipo de dados | Valor |
---|---|---|
FOLDER_NUMBERS |
REPEATED INTEGER |
IDs de número das pastas que contêm o projeto, começando com a pasta que contém o projeto imediatamente, seguido pela pasta que contém a pasta filho e assim por diante.
Por exemplo, se FOLDER_NUMBERS for [1, 2, 3] , a pasta
1 conterá imediatamente o projeto, a pasta 2 conterá
1 , e a pasta 3 conterá 2 . Essa coluna é preenchida apenas em
TABLE_STORAGE_BY_FOLDER .
|
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 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 |
A hora de criação da 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 lógicos (não compactados) com menos de 90 dias. |
LONG_TERM_LOGICAL_BYTES |
INT64 |
Número de bytes lógicos (não compactados) 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 (compactados) usados para armazenamento, incluindo bytes ativos, de longo prazo e de viagem no tempo (dados excluídos ou alterados) Segurança contra falhas (dados excluídos ou alterados retidos após a viagem no tempo window) bytes não são incluídos. |
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 físicos (compactados) 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) |
STORAGE_LAST_MODIFIED_TIME |
TIMESTAMP |
O horário mais recente em que os dados foram gravados na tabela. |
DELETED |
BOOLEAN |
Indica se a tabela foi excluída. |
TABLE_TYPE |
STRING |
O tipo de tabela. Por exemplo, BASE TABLE
|
FAIL_SAFE_PHYSICAL_BYTES |
INT64 |
Número de bytes físicos (compactados) usados pelo armazenamento seguro contra falhas (dados excluídos ou alterados). |
LAST_METADATA_INDEX_REFRESH_TIME |
TIMESTAMP |
O horário da última atualização do índice de metadados da tabela. |
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_FOLDER |
Pasta que contém o projeto especificado | REGION |
-
Opcional:
PROJECT_ID
: o ID do seu projeto 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`
.
Para extrair informações de armazenamento de tabelas na pasta mãe do projeto especificado, execute a seguinte consulta:
SELECT * FROM `myProject`.`region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_BY_FOLDER;
Exemplo
A consulta a seguir mostra quais projetos em uma pasta usam mais armazenamento:
SELECT project_id, SUM(total_logical_bytes) AS total_logical_bytes FROM `region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_BY_FOLDER 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 | +---------------------+---------------------+