Todos os produtos
Search
Central de documentação

MaxCompute:Snapshots de tabela

Última atualização: Jun 27, 2026

Os snapshots de tabela capturam o estado de uma tabela base em um momento específico. Esse recurso permite restaurar dados após exclusões acidentais ou atualizações incorretas, além de reter dados históricos além da janela de retenção do backup local.

Use snapshots para:

  • Restaurar os dados da tabela para uma versão anterior correta após exclusão acidental, atualizações incorretas ou alterações problemáticas em regras de negócio.

  • Reter dados de um ponto específico no tempo além do período suportado pelo backup local.

  • Reduzir custos de armazenamento, pois apenas os bytes diferentes entre o snapshot e a tabela base são armazenados.

Como funciona

Um snapshot é somente leitura. Para modificar dados em um snapshot, restaure-o para uma tabela nova ou existente e, em seguida, atualize essa tabela.

É possível atualizar os metadados do snapshot — descrição, horário de expiração e permissões de acesso — sem precisar restaurá-lo.

A criação de um snapshot não gera taxas de armazenamento. As taxas se aplicam apenas aos dados exclusivos do snapshot: aqueles modificados ou excluídos na tabela base após a criação do snapshot. Se vários snapshots contiverem os mesmos dados alterados ou excluídos, a cobrança ocorrerá apenas pelo armazenamento consumido pelo maior snapshot.

Limitações

Tipos de tabela compatíveis:

Tipo de tabela

Compatível

Tabelas padrão (particionadas, não particionadas e clusterizadas)

Sim

Tabela PK/Append Delta

Sim

Transaction Table

Não

View

Não

Materialized views (Delta Live MV)

Não

External Table

Não

Restrições e cotas:

Restrição

Limite

Região e tenant

O snapshot deve estar na mesma região e no mesmo tenant da tabela base.

Regras de ciclo de vida

Caso a tabela base tenha um ciclo de vida configurado, a regra não se aplica aos dados no snapshot.

Latência de gravação em streaming

Dados gravados via Streaming Tunnel e liberados por meio de streamRecordPack.flush no kit de desenvolvimento de software (SDK) do Tunnel apresentam latência de 5 a 10 minutos antes de serem incluídos em um snapshot.

Snapshots por tabela

1.000

Jobs CREATE SNAPSHOT simultâneos por projeto

100

Jobs CREATE SNAPSHOT por projeto por dia

50.000

Jobs CREATE SNAPSHOT por tabela por dia

50

Importante

Não é possível recuperar snapshots de tabelas excluídas.

Crie um snapshot

CREATE [OR REPLACE] SNAPSHOT TABLE [IF NOT EXISTS] <table_snapshot_name>
CLONE <source_table_name>
[OPTIONS(<snapshot_option_list>)]

Parâmetros:

Parâmetro

Descrição

table_snapshot_name

Nome do snapshot a ser criado.

source_table_name

Tabela base da qual o snapshot será criado.

expiration_timestamp

Horário de expiração do snapshot. Tipo de dados: TIMESTAMP. Deve ser posterior ao horário atual. Se não definido, o snapshot herda o tempo de vida dos dados configurado para o projeto. Observação: esse comportamento mudará futuramente para que os horários de expiração dos snapshots de tabela sejam totalmente independentes.

description

Descrição do snapshot. Tipo de dados: STRING.

Exemplo:

CREATE SNAPSHOT TABLE <table_snapshot_name>
CLONE <source_table_name>
OPTIONS(
  expiration_timestamp=TIMESTAMP "2025-07-01 00:00:00",
  description="A table snapshot that expires in xxx days"
);

Restaurar a partir de um snapshot

Restaure um snapshot para a tabela base original ou para uma nova tabela:

CREATE [OR REPLACE] TABLE [IF NOT EXISTS] <target_table_name>
CLONE <table_snapshot_name>

Modifique um snapshot

Apenas as OPTIONS podem ser modificadas (descrição, horário de expiração e permissões de acesso):

ALTER SNAPSHOT TABLE [IF EXISTS] <snapshot_table_name>
SET OPTIONS(<snapshot_option_list>)

Exclua um snapshot

DROP SNAPSHOT TABLE [IF EXISTS] <table_snapshot_name>
Importante

Não é possível recuperar snapshots excluídos.

Permissões

As operações de snapshot de tabela seguem o mesmo modelo de permissão das operações de tabela. As permissões abrangem:

  • Criação de snapshots

  • Restauração a partir de snapshots

  • Listagem de snapshots

  • Visualização de descrições de snapshots

  • Atualização de metadados de snapshots

  • Exclusão de snapshots

  • Consulta de dados em snapshots

Faturamento

As taxas de armazenamento se aplicam apenas aos dados em um snapshot ainda não presentes em nenhuma outra tabela. O MaxCompute cobra pelos bytes diferentes, e não por uma cópia completa da tabela.

Cenário

Gera taxa de armazenamento?

Criação de um snapshot

Não

Adição de dados à tabela base após o snapshot

Não (os novos dados estão na tabela base, não no snapshot)

Modificação ou exclusão de dados na tabela base após o snapshot

Sim (os dados originais são preservados apenas no snapshot)

Vários snapshots contendo os mesmos dados alterados ou excluídos

Cobrança apenas pelo maior snapshot

Nota

Dados modificados ou excluídos na tabela base ainda podem ser restaurados por meio do backup local dentro do período de retenção do backup local, sem taxas adicionais de backup local.