Exibição TABLE_STORAGE_METRICS¶
Esta exibição mostra informações de utilização do armazenamento em nível de tabela, que é usada para calcular o faturamento do armazenamento para cada tabela da conta, incluindo tabelas que foram descartadas, mas que ainda estão incorrendo em custos de armazenamento.
Além dos metadados da tabela, a exibição mostra o número de bytes de armazenamento faturados para cada tabela. O Snowflake decompõe os bytes nas seguintes categorias:
Bytes ativos, representando os dados na tabela que podem ser consultados.
Bytes excluídos que ainda estão acumulando encargos de armazenamento porque ainda não foram purgados do sistema. Estes bytes são classificados nas seguintes subcategorias:
Bytes no Time Travel (ou seja, eliminados recentemente, mas ainda dentro do período de retenção de Time Travel para a tabela).
Bytes em Fail-safe (ou seja, bytes excluídos que passaram do período de retenção do Time Travel, mas estão dentro do período de Fail-safe para a tabela).
Bytes retidos para os clones (ou seja, bytes eliminados que não estão mais no Time Travel ou Fail-safe, mas ainda são retidos porque os clones da tabela fazem referência aos bytes).
Em outras palavras, as linhas são mantidas nesta exibição até que as tabelas correspondentes não sejam mais faturadas para qualquer armazenamento, independentemente de vários estados em que os dados nas tabelas possam estar (isto é, ativos, Time Travel, Fail-safe ou retidos para clones).
Para obter mais detalhes sobre o armazenamento de dados em tabelas, consulte Considerações sobre armazenamento de dados.
Nota
Para consultar esta exibição, você deve usar a função ACCOUNTADMIN. A exibição é visível para outras exibições e pode ser consultada, mas as consultas não retornarão linhas.
Colunas¶
Nome da coluna |
Tipo de dados |
Descrição |
---|---|---|
TABLE_CATALOG |
TEXT |
Banco de dados ao qual a tabela pertence. |
TABLE_SCHEMA |
TEXT |
Esquema a qual a tabela pertence. |
TABLE_NAME |
TEXT |
Nome da tabela. |
ID |
NUMBER |
Identificador único para a tabela. |
CLONE_GROUP_ID |
NUMBER |
Identificador único para o ancestral de clone mais antigo desta tabela. O mesmo que ID se a tabela não for um clone. |
IS_TRANSIENT |
TEXT |
‘YES’ se a tabela for transitória ou temporária, caso contrário ‘NO’. As tabelas transitórias e temporárias não têm período de Fail-safe. |
ACTIVE_BYTES |
NUMBER |
Bytes de (e faturados para) esta tabela que estão no estado ativo da tabela. |
TIME_TRAVEL_BYTES |
NUMBER |
Bytes de (e faturados para) esta tabela que estão no estado de Time Travel da tabela. |
FAILSAFE_BYTES |
NUMBER |
Bytes de (e faturados para) esta tabela que estão no estado de Fail-safe da tabela. |
RETAINED_FOR_CLONE_BYTES |
NUMBER |
Bytes de (e faturados para) esta tabela que são retidos após a exclusão porque são referenciados por um ou mais clones desta tabela. |
TABLE_CREATED |
TIMESTAMP_LTZ |
Data e hora em que a tabela foi criada. |
TABLE_DROPPED |
TIMESTAMP_LTZ |
Data e hora em que a tabela foi descartada. NULL se a tabela não tiver sido descartada. |
TABLE_ENTERED_FAILSAFE |
TIMESTAMP_LTZ |
Data e hora em que a tabela, caso tenha sido descartada, entrou no estado de Fail-safe ou NULL. Neste estado, a tabela não pode ser restaurada usando UNDROP. |
CATALOG_CREATED |
TIMESTAMP_LTZ |
Data e hora em que o banco de dados contendo a tabela foi criado. |
CATALOG_DROPPED |
TIMESTAMP_LTZ |
Data e hora em que o banco de dados contendo a tabela foi descartado. |
SCHEMA_CREATED |
TIMESTAMP_LTZ |
Data e hora em que o esquema contendo a tabela foi criado. |
SCHEMA_DROPPED |
TIMESTAMP_LTZ |
Data e hora em que o esquema contendo a tabela foi descartado. |
COMMENT |
TEXT |
Comentário para a tabela. |
Notas de uso¶
Pode haver um atraso de 1 a 2 horas na atualização das estatísticas relacionadas ao armazenamento para
active_bytes
,time_travel_bytes
,failsafe_bytes
eretained_for_clone_bytes
.ID e CLONE_GROUP_ID:
A ID não muda para uma tabela durante todo o seu ciclo de vida, inclusive se a tabela for renomeada ou descartada.
CLONE_GROUP_ID é a ID do ancestral de clone mais antigo, inclusive se a tabela foi descartada, mas ainda está gerando custos de armazenamento. Por exemplo:
A tabela
t2
é clonada a partir det1
.A tabela
t3
é clonada a partir det2
.
Todas as três tabelas listam a ID para
t1
como CLONE_GROUP_ID, mesmo que ot1
seja descartado e eventualmente purgado do Snowflake.Se ID e CLONE_GROUP_ID forem idênticos, a tabela não é um clone.
Os bytes de armazenamento são sempre de propriedade da tabela onde os bytes foram inicialmente adicionados e, portanto, faturados. Se a tabela for então clonada, as métricas de armazenamento desses bytes iniciais nunca serão transferidas para os clones, mesmo que os bytes sejam excluídos da tabela de origem.
As tabelas clonadas compartilham o mesmo armazenamento subjacente (no nível da micropartição) até que a tabela original ou a tabela clonada seja modificada. A cada mudança feita em qualquer uma das tabelas, a tabela toma “posse” dos bytes trocados.
As tabelas descartadas são exibidas na visualização, desde que ainda incorram em custos de armazenamento:
As tabelas descartadas mantêm suas métricas de armazenamento ativas, indicando quantos bytes estarão ativos se a tabela for restaurada.
As tabelas descartadas no período de retenção do Time Travel para a tabela podem ser restauradas usando UNDROP.
As tabelas descartadas em Fail-safe (TABLE_ENTERED_FAILSAFE e não NULL) exibirão potencialmente valores NULL na maioria das colunas, exceto para
- Colunas de ID:
ID , CLONE_GROUP_ID
- Colunas de bytes:
ACTIVE_BYTES , TIME_TRAVEL_BYTES , FAILSAFE_BYTES , RETAINED_FOR_CLONE_BYTES
Estas tabelas não podem ser restauradas usando UNDROP.
Quando os dados são excluídos de uma tabela com um período de retenção do Time Travel de 0 dias, processos assíncronos de fundo purgam os bytes ativos ou os movem diretamente para o armazenamento Fail-safe, dependendo do tipo de tabela. Isso pode levar pouco tempo para ser concluído. Durante esse tempo, a coluna
TIME_TRAVEL_BYTES
pode conter um valor diferente de zero, mesmo quando o período de retenção do Time Travel é de 0 dias.FAILSAFE_BYTES
denota bytes que passaram além do Time Travel. Todos esses bytes são faturados na tabela atual.Se várias linhas tiverem o mesmo valor na coluna TABLE_NAME, isto indica que existem várias versões da tabela. Uma versão é criada cada vez que uma tabela é descartada e uma nova tabela com o mesmo nome é criada, inclusive quando um comando CREATE OR REPLACE TABLE é emitido em uma tabela existente. Observe que a versão atual terá um valor NULL para a coluna TABLE_DROPPED; todas as outras versões terão um valor do carimbo de data/hora. Isso é importante notar porque cada versão de uma tabela incorre em custos de armazenamento associados ao Time Travel (e Fail-safe, se a tabela for permanente).
Em alguns casos, os bytes ativos podem incluir bytes de dados em uma coluna descartada. Para obter mais informações, consulte as Notas de uso para ALTER TABLE.