Intermediário · 12 min de leitura

Sync types: full vs incremental

A decisão que define seu custo e quão atualizado estão seus dados. Com exemplo real e um guia de decisão.

O que você vai levar
  • Entender a diferença entre full sync e incremental
  • Saber estimar o impacto em custo e atualização
  • Escolher o sync certo para cada fonte

Toda fonte que você conecta precisa de uma decisão: a cada sync, a Nekt puxa tudo de novo ou só o que mudou? Essa escolha, aparentemente técnica, define diretamente quanto você paga e quão fresco fica o seu dado. Vale entender antes de sair conectando.

Os dois tipos

Full sync (completo). A cada execução, a Nekt lê a fonte inteira e reescreve a tabela. Simples e à prova de erro: o destino é sempre um retrato exato da origem. O custo é que você reprocessa tudo, mesmo o que não mudou.

Incremental. A cada execução, a Nekt traz só os registros novos ou alterados desde o último sync, usando uma coluna de referência (geralmente updated_at ou um id crescente). Muito mais barato e rápido em tabelas grandes. O custo é que exige uma coluna confiável para saber "o que mudou".

Cuidado

Incremental depende de uma coluna que indique quando o registro foi atualizado. Se a fonte altera um registro sem mexer no updated_at, a Nekt não vê a mudança e o dado fica dessincronizado. Quando essa coluna não existe, a única opção que garante integridade dos dados é o full sync.

Importante

A Nekt sempre traz o incremental como padrão sempre que a fonte permite filtros por data de atualização. A exceção são bancos de dados, onde o próprio usuário deve configurar a chave incremental para cada tabela do banco.

O trade-off na prática

Tabela de 5 milhões de pedidos, sync de hora em hora

Full: extrai 5M de linhas a cada hora, 24 vezes por dia. Taxa de atualização ótima, custo alto e crescente conforme a tabela cresce.

Incremental por updated_at: lê só os ~2 mil pedidos que mudaram na última hora. Mesma taxa de atualização, custo uma ordem de grandeza menor, e estável mesmo quando a tabela chega a 50M.

A regra prática: quanto maior e mais movimentada a tabela, mais o incremental compensa, especialmente em bancos de dados.

Caso de usoe-commerce

Um e-commerce puxava o catálogo de produtos (8 mil SKUs, muda pouco) em full sync diário, e os pedidos (crescendo 20 mil/dia) em incremental de hora em hora. Cada fonte no seu tipo: produtos simples e sempre corretos, pedidos frescos sem explodir o custo. A decisão de "qual é melhor" deve levar em conta o contexto e caso de uso específico.

Decida agora

Experimente na Nekt
Abra uma fonte grande no seu workspace e veja qual sync está configurado. Se estiver em full sync e a tabela for volumosa, esse é um ganho de custo fácil.
Abrir na Nekt
↗ Vá fundo nos docs: Configurando sources
Continue
Trilha: Modelagem & transformação