Airflow vs Dagster vs Prefect: qual orquestrador
- ⬜🔧 dbt: transformação como código, testável(Data Engineering Moderna)
Recomendamos completar os pré-requisitos antes de seguir, mas nada te impede de continuar.
Antes de escolher: você precisa de orquestrador?
A pergunta que quase ninguém faz. Orquestrador não é ferramenta gratuita: é um serviço a mais para operar, com banco próprio, agendador, trabalhadores, logs e atualizações. Para três trabalhos por dia que rodam em sequência, uma tarefa agendada e um script resolvem melhor.
O ponto em que ele passa a valer é bem definido: quando existem dependências entre trabalhos que você não consegue mais manter na cabeça, quando é preciso reprocessar um período específico, ou quando falha parcial precisa retomar de onde parou em vez de recomeçar.
O custo escondido
Um orquestrador auto-hospedado é um sistema distribuído a mais na sua operação — com plantão, atualização e depuração próprios. Times pequenos que subestimam isso acabam com o orquestrador sendo a peça que mais quebra. Serviço gerenciado costuma ser mais barato que a hora de engenharia que ele consome.
As três filosofias, e o que cada uma otimiza
Comparar por lista de recursos é o jeito errado — os três fazem o essencial. O que muda é qual é a unidade que você declara, e isso molda o dia a dia.
| Ferramenta | Unidade que você declara | Consequência prática |
|---|---|---|
| O clássico, orientado a tarefas | A tarefa e a ordem entre tarefas | Você descreve o QUE executar e quando. Maduro, ecossistema enorme, e verboso: o grafo é código de encanamento, e responder "esta tabela está atualizada?" exige inferir a partir das execuções |
| O orientado a ativos | O ATIVO — a tabela, o modelo, o arquivo — e o que ele precisa | Você declara o que deve existir; a ferramenta deriva a ordem. Responde diretamente "esta tabela está fresca?" e casa naturalmente com transformação analítica, onde o produto é a tabela |
| O orientado a fluxos | A função Python, decorada | Menor distância entre código comum e código orquestrado. Bom para grafo dinâmico, em que o número de passos só é conhecido em execução |
Por que a diferença importa mais do que parece
Quando o time analítico pergunta "por que o painel está desatualizado?", a ferramenta orientada a ativos responde direto. Nas outras, alguém precisa traduzir de execuções de tarefa para estado de tabela — todo dia, manualmente.
Qual diferença conceitual separa as abordagens desses orquestradores?
Como decidir sem cair no modismo
📋 Escolhendo orquestrador para um time de dados
Primeira: você já tem um rodando? Migração de orquestrador é cara e raramente paga — o clássico moderno é perfeitamente adequado. Segunda: o produto do time são TABELAS ou são PROCESSOS? Se são tabelas, o modelo orientado a ativos elimina uma tradução mental diária.
Alt: Greenfield com transformação analítica pesada — Orientado a ativos: a unidade que você já pensa é a tabela
Alt: Time Python, fluxos dinâmicos, sem legado — Orientado a fluxos: menor atrito entre escrever e orquestrar
Alt: Poucos trabalhos, dependências simples — Nenhum: tarefa agendada e script, até doer
- Verifique a integração com a ferramenta de transformação que você já usa — é onde a diferença de conforto aparece todo dia.
- Prefira gerenciado se o time tem menos de cinco pessoas: operar agendador, trabalhadores e banco de metadados consome mais tempo do que se estima.
- Teste reprocessamento antes de decidir. Reprocessar um intervalo específico é a operação mais frequente em produção, e a experiência varia bastante entre as três.
- Não escolha por benchmark de desempenho: o gargalo quase nunca é o orquestrador, e sim o trabalho que ele dispara.
A decisão que envelhece melhor
Mantenha a lógica de negócio FORA do orquestrador. Se cada tarefa é uma chamada a um contêiner ou função que roda sozinha, trocar de orquestrador vira reescrever o grafo — não o sistema. Times que embutem transformação dentro das tarefas ficam presos à ferramenta.
Perguntas frequentes
❓ Como escolher o orquestrador?
❓ Orquestrador precisa executar o trabalho?
❓ Como lidar com reprocessamento?
Fixando
Qual critério prático deve pesar mais na escolha?
Por que reexecutar apenas parte do pipeline é uma capacidade importante?
Terminou de ler?
Marcar como concluído registra o XP, mantém sua sequência e coloca 3 cartas deste módulo na fila de revisão espaçada.
Próximos passos sugeridos
Temas deste módulo
Discussão
Carregando comentários…