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 e retained_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 de t1.

      • A tabela t3 é clonada a partir de t2.

      Todas as três tabelas listam a ID para t1 como CLONE_GROUP_ID, mesmo que o t1 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.