The discourse vs the reality
Conference talks make it sound like everyone is moving to streaming. The reality on the ground in 2026 is that most data engineering remains batch, and the ratio is something like 80/20 in favor of batch even at sophisticated companies. Here's how to think about which one you actually need.
What batch buys you
- Simpler mental model — "every day at 3 AM, the pipeline runs."
- Cheaper compute — you can size the cluster for the daily peak instead of the running 24/7 worst case.
- Easier debugging — there are discrete runs, with logs, that either succeeded or didn't.
- Easier backfills — "rerun for last week" is meaningful.
What streaming buys you
- Lower latency — events flow continuously, downstream consumers see them within seconds/minutes.
- Always-on aggregations — useful for fraud detection, real-time dashboards, online ML feature serving.
- Decoupled producers/consumers — Kafka/Pulsar acts as a bus.
The right question
"What's the freshness SLA the consumer needs?" If the answer is "daily is fine," you're batch. If "five minutes is fine," you're micro-batch (run a batch job every 5 minutes). If "sub-second," you're streaming. Most consumers say "daily." Streaming has real benefits when you actually need it — and a real cost (operational complexity, cost, debugging difficulty) when you don't.