Skip to content

O que um Agente e uma agenda garantem ​

Três decisões entraram naquele Dataflow: qual Agente executa, que tipo de carga aplicar e em que horário rodar. A do meio é a que costuma custar caro depois.

O Agente roda numa máquina sua ​

O HorusETL não executa a sua carga. Quem executa é o Agente ETL, um programa instalado numa máquina que você escolheu, e é de lá que a consulta sai. Por isso a pergunta que decide qual Agente usar é geográfica: essa máquina enxerga o banco que eu quero ler?

Um banco de produção que só aceita conexão da rede interna funciona com um Agente instalado dentro dessa rede, e falha com um Agente instalado em qualquer outro lugar, por mais correta que a credencial esteja. A mensagem de erro vai falar de conexão recusada e mandar você conferir usuário e senha, que estão certos.

O sentido da conexão também é escolha de projeto. O Agente é quem procura o backend e mantém a conversa aberta; o backend nunca inicia conexão para dentro da sua rede. Isso significa que instalar um Agente não pede porta liberada no firewall de entrada, o que costuma ser a diferença entre o projeto começar esta semana ou daqui a um mês esperando a segurança.

O tipo de carga decide o que some antes de entrar ​

Toda carga apaga alguma coisa antes de inserir, e o tipo de carga é exatamente essa regra de apagar. São três.

A carga Total esvazia a tabela e recarrega tudo. Simples, sem risco de duplicata, e a escolha certa enquanto a tabela couber nela. Tabela de referência, lista de produtos, qualquer coisa pequena.

A carga Janela apaga só um intervalo de datas e reinsere aquele intervalo. É o que se usa num fato grande, quando recarregar cinco anos de venda toda madrugada não faz sentido. Ela exige uma coluna de data para recortar a janela, e essa coluna precisa ser imutável. Data de emissão serve. Data de vencimento não, porque uma renegociação move o registro para outra janela e a linha antiga fica órfã numa janela que ninguém mais vai limpar, virando duplicata.

A carga Incremental não apaga nada. Ela pergunta qual foi o último registro que entrou e traz o que veio depois. Boa para log e para registro que só cresce. O ponto cego é a contrapartida direta de não apagar: se alguém excluir um pedido no sistema de origem, ele continua no HorusDW para sempre, e o total fecha para mais sem nenhum erro aparecer.

A agenda garante a tentativa ​

Uma agenda dispara a execução no horário. Ela não garante que o dado ficou atualizado, e essa distinção aparece no pior momento possível.

Se a origem estava fora do ar às três da manhã, a agenda cumpriu o combinado e a tabela continua com o dado de ontem. Se a consulta trouxe zero linha porque alguém renomeou uma coluna, a agenda cumpriu o combinado. O Dashboard abre normalmente nos dois casos. Quem percebe é a pessoa que conhece o número, na reunião, e é por isso que o hábito de olhar o log de execução na primeira semana de qualquer carga nova vale mais do que parece.

Para se aprofundar ​