Pular para o conteúdo
Lucas Lessa
Voltar para as notícias
SnowflakeGAImpacto: Alto

Espelhamento de dados do Snowflake Postgres chega em GA

Replique dados do Snowflake Postgres diretamente para o Snowflake quase em tempo real, sem conectores externos ou pipelines ETL, com suporte a tabelas nativas ou Iceberg.

O que mudou

O recurso de data mirroring (espelhamento de dados) para o Snowflake Postgres está agora em disponibilidade geral (GA). A funcionalidade replica continuamente tabelas de uma instância do Snowflake Postgres para um banco de dados Snowflake com latência mínima, sem necessidade de ferramentas de CDC externas ou pipelines ETL intermediários.

Para que serve

Imagine que a sua aplicação transacional grava dados no Snowflake Postgres e seu time analítico precisa desses registros disponíveis no Snowflake quase em tempo real para dashboards e consultas pesadas sem sobrecarregar a base operacional.

  • Replicar tabelas individuais ou esquemas inteiros sem gerenciar agentes externos de CDC.
  • Propagar automaticamente comandos de DDL (como inclusão e renomeação de colunas) sem interromper a sincronização.
  • Acessar dados pendentes com latência de cerca de 30 segundos por meio da view companion $live.
  • Consultar o histórico de alterações (inserts, updates e deletes) dos últimos 7 dias na tabela $changes.
  • Direcionar os dados para tabelas nativas do Snowflake ou para tabelas Iceberg gerenciadas.

Como usar

O espelhamento utiliza tarefas serverless gerenciadas pelo próprio Snowflake para aplicar as alterações, além de registrar metadados e logs via extensão pg_lake. Para acompanhar o custo computacional do processo de replicação de um espelho:

-- Consulta o histórico de execuções da tarefa serverless do mirror
SELECT *
FROM SNOWFLAKE.ACCOUNT_USAGE.SERVERLESS_TASK_HISTORY
WHERE TASK_NAME LIKE 'APPLY_MIRROR_%';

O que acontece nesse código:

  1. Acessa a view SERVERLESS_TASK_HISTORY no schema SNOWFLAKE.ACCOUNT_USAGE.
  2. Filtra pelo prefixo padrão APPLY_MIRROR_, atribuído à tarefa serverless que aplica as alterações daquele mirror.
  3. Retorna o consumo de créditos e a frequência de execução do processo.

Para verificar o consumo de armazenamento gerado pelas tabelas de log $changes e pelo metalog no Postgres:

-- Consulta o histórico de consumo de armazenamento do Snowflake Postgres
SELECT *
FROM SNOWFLAKE.ACCOUNT_USAGE.POSTGRES_STORAGE_USAGE_HISTORY
ORDER BY START_TIME DESC;

O que acontece nesse código:

  1. Acessa o histórico de uso de disco da instância do Postgres.
  2. Lista o armazenamento gerado pelas tabelas Iceberg criadas pelo pg_lake para o log de alterações.

Limitações e requisitos

  • Estágio: Disponibilidade geral (GA).
  • Provedores suportados: Disponível na AWS e no Microsoft Azure, em todas as regiões em que o Snowflake Postgres é suportado.
  • Fronteiras de conta: Não é possível configurar o espelhamento entre diferentes contas, regiões ou provedores de nuvem.
  • Ajustes de escopo: A inclusão e remoção de objetos replicados é feita via alter_mirror (add_tables/remove_tables ou add_schemas/remove_schemas), sem suporte à substituição total do conjunto em uma única operação.

Como aplicar num pipeline

O espelhamento substitui conectores de terceiros (como Debezium ou Fivetran) na camada de ingestão para o Bronze/Raw. A partir daí, consultas críticas podem ler diretamente da view $live, enquanto rotinas de transformação incremental consomem a tabela $changes para compor camadas Silver e Gold.

Ver nota oficial do Snowflake

Data mirroring for Snowflake Postgres (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