담론 vs 현실
컨퍼런스 무대만 보면 온 세상이 streaming 으로 넘어간 것 같지. 2026 현장의 현실은 데이터 엔지니어링 대부분이 여전히 batch 라는 거야 — 세련된 회사들도 비율로 치면 80/20 정도로 batch 가 우세해. 그러니까 어느 쪽이 진짜 필요한지 따지는 법부터.
Batch 가 사주는 것
- 더 단순한 mental model — "파이프라인은 매일 새벽 3시에 돌아."
- 더 싼 compute — 24/7 최악 부하가 아니라 daily peak 에 맞춰 cluster 를 잡으면 돼.
- 더 쉬운 디버깅 — run 이 하나하나 구분되고, 로그가 있고, 성공했거나 실패했거나 둘 중 하나야.
- 더 쉬운 backfill — "지난주 다시 돌려" 라는 말이 성립해.
Streaming 이 사주는 것
- 더 낮은 latency — 이벤트가 끊김 없이 흐르고, downstream consumer 가 초나 분 안에 봐.
- Always-on aggregation — fraud 탐지, 실시간 대시보드, 온라인 ML feature 서빙에 필요해.
- Producer 와 consumer 의 분리 — Kafka/Pulsar 가 그 사이의 bus 가 돼 줘.
옳은 질문
"Consumer 한테 필요한 freshness SLA 가 뭐야?" 답이 "daily 면 돼" 면 batch. "5분이면 돼" 면 micro-batch (5분마다 도는 batch 작업). "sub-second" 면 그때 streaming 이야. 그리고 대부분의 consumer 는 "daily" 라고 답해. Streaming 은 진짜 필요할 때 진짜 이점을 주고 — 안 필요할 때는 진짜 비용만 물려 (운영 복잡도, 돈, 디버깅 난이도).