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_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 |
-
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 | +---------------------+---------------------+