Pular para o conteúdo
Lucas Lessa
Voltar para as notícias
SnowflakeGAImpacto: Médio

Dynamic tables agora atualizam de forma incremental após o failover

Tabelas dinâmicas com atualização incremental ou adaptativa podem continuar atualizando sem reinicialização após um failover.

O que mudou

Tabelas dinâmicas configuradas para refresh incremental ou adaptativo agora mantêm o comportamento incremental após uma promoção de failover group, evitando recargas completas desnecessárias.### Para que serveImagine que você tem um pipeline crítico de dados de vendas replicado para uma conta secundária para disaster recovery e ocorre um failover. Com esta novidade, você pode:- Evitar o custo computacional de um refresh completo após a promoção da conta secundária.- Manter a continuidade das atualizações incrementais em tabelas elegíveis.- Garantir que agendamentos e atribuições de warehouse sejam preservados.### Como usarPara usar a replicação com tabelas dinâmicas, agrupe a tabela e seus objetos base em um failover group:sqlCREATE FAILOVER GROUP myfg OBJECT_TYPES = DATABASES ALLOWED_DATABASES = analytics_db ALLOWED_ACCOUNTS = myorg.secondary_account REPLICATION_SCHEDULE = '10 MINUTE';O que acontece nesse código:1. Cria um failover group chamado myfg.2. Define o tipo de objeto como bancos de dados.3. Especifica o banco de dados permitido e a conta secundária de destino.Para monitorar o estado de agendamento na secundária:sqlSELECT name, scheduling_state FROM TABLE(INFORMATION_SCHEMA.DYNAMIC_TABLE_GRAPH_HISTORY());O que acontece nesse código:1. Consulta a função de sistema DYNAMIC_TABLE_GRAPH_HISTORY.2. Retorna o nome da tabela dinâmica e o estado de agendamento atual para identificar razões de suspensão por replicação.Para verificar eventos de reinicialização no histórico:sqlSELECT name, refresh_action, refresh_trigger, reinit_reason FROM TABLE(INFORMATION_SCHEMA.DYNAMIC_TABLE_REFRESH_HISTORY()) WHERE refresh_action = 'REINITIALIZE' ORDER BY data_timestamp DESC;O que acontece nesse código:1. Consulta o histórico de refresh das tabelas dinâmicas.2. Filtra por ações do tipo REINITIALIZE para verificar se houve reinicialização após o failover.### Limitações e requisitos- Disponível em General Availability (GA).- Requer o uso de failover groups (grupos de replicação simples não suportam failover).- Tabelas dinâmicas do tipo Iceberg ou que possuam tabelas base em Apache Iceberg ainda não suportam refresh incremental após failover.- Todos os objetos base devem estar no mesmo failover group e não podem ter sofrido alterações desde o último refresh bem-sucedido na conta primária.

Ver nota oficial do Snowflake

Dynamic tables continue incrementally refreshing after failover (General availability)

Resumo e explicação gerados por IA a partir da release note oficial. Em caso de dúvida, a documentação oficial da plataforma prevalece.

Relacionadas