Vista TABLE_STORAGE_BY_FOLDER
A vista INFORMATION_SCHEMA.TABLE_STORAGE_BY_FOLDER
contém uma linha para cada tabela ou vista materializada na pasta principal do projeto atual, incluindo as respetivas subpastas.
Esta tabela não mantém dados em tempo real e pode ter um atraso de alguns segundos a alguns minutos. As alterações ao armazenamento resultantes apenas da partição ou da expiração da tabela, ou de modificações ao período de deslocação no tempo do conjunto de dados, podem demorar até um dia a aparecer na vista INFORMATION_SCHEMA.TABLE_STORAGE
. Se um conjunto de dados
com mais de 1000 tabelas for eliminado, 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_FOLDER
, precisa das seguintes autorizações de gestão de identidade e de acesso (IAM) para a pasta principal do projeto:
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
Para mais informações acerca das autorizações do BigQuery, consulte o artigo Funções e autorizações do IAM do BigQuery.
Esquema
A vista INFORMATION_SCHEMA.TABLE_STORAGE_BY_FOLDER
tem o seguinte esquema:
Nome da coluna | Tipo de dados | Valor |
---|---|---|
FOLDER_NUMBERS |
REPEATED INTEGER |
Os IDs numéricos das pastas que contêm o projeto, começando pela pasta que contém imediatamente
o projeto, seguida da pasta que contém a pasta secundária e assim sucessivamente.
Por exemplo, se FOLDER_NUMBERS for [1, 2, 3] , a pasta
1 contém imediatamente o projeto, a pasta 2 contém
1 e a pasta 3 contém 2 . Esta coluna só é
preenchida 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 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_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_FOLDER |
Pasta que contém o projeto especificado | REGION |
-
Opcional:
PROJECT_ID
: o ID do seu projeto do Trusted 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`
.
Para obter informações de armazenamento de tabelas na pasta principal do projeto especificado, execute a seguinte consulta:
SELECT * FROM `myProject`.`region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_BY_FOLDER;
Exemplo
A consulta seguinte mostra os projetos numa pasta que 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 é semelhante ao seguinte:
+---------------------+---------------------+ | project_id | total_logical_bytes | +---------------------+---------------------+ | projecta | 971329178274633 | +---------------------+---------------------+ | projectb | 834638211024843 | +---------------------+---------------------+ | projectc | 562910385625126 | +---------------------+---------------------+