Quando desenhas como processar dados, uma pergunta define a arquitetura: precisas dos resultados já, ou podes esperar? É a escolha entre processamento em lote (batch) e em tempo real (streaming) — e escolher mal traz complexidade a mais ou lentidão a mais.
Batch: processar em blocos, de tempos a tempos
No processamento em lote, os dados acumulam-se e são tratados em conjunto, em intervalos definidos — de hora a hora, de madrugada, ao fim do dia. É simples, robusto e barato. A maioria dos relatórios e análises vive perfeitamente com dados atualizados uma vez por dia.

Streaming: processar à medida que chega
No processamento em tempo real, cada dado é tratado assim que acontece, com latência de segundos ou menos. Permite reagir na hora — mas é mais complexo de construir, mais caro de operar e mais difícil de manter fiável.
A pergunta que decide: qual o custo de esperar?
A chave não é "qual é mais moderno", mas "quanto custa o atraso". Se uma decisão pode esperar até amanhã de manhã sem prejuízo, o batch chega. Se cada segundo de atraso tem custo — fraude a acontecer, um sistema a falhar — aí o streaming justifica-se.
Casos típicos de cada um
- Batch: relatórios de gestão, faturação, análises históricas, atualização diária de dashboards.
- Streaming: deteção de fraude, monitorização de equipamentos, alertas operacionais, recomendações ao vivo.
O erro de escolher tempo real "porque sim"
O streaming soa mais avançado, e é tentador construí-lo sem necessidade real. Mas paga-se em complexidade, custo e fragilidade. A maioria dos casos empresariais vive muito bem com batch — e começar simples permite evoluir para tempo real só onde compensa mesmo.
Na prática
Antes de montar streaming, pergunta a cada caso: se estes dados só estivessem prontos daqui a algumas horas, perderíamos alguma coisa? Se a resposta for não, o batch é mais barato e mais robusto. Onde é que, no teu negócio, esperar pelos dados custa mesmo dinheiro?