LumoMate
LumoMate/용어집/SedimentData

배치 처리

배치 처리(Batch Processing)는 데이터·작업을 한 덩어리로 모아 두었다가 정해진 시점에 한꺼번에 처리하는 방식입니다. 실시간 처리의 반대편 모델입니다.
배치 처리의 개념을 표현한 편집형 일러스트.

쉬운 설명

어떤 작업은 즉시 답을 줄 필요가 없습니다. '어젯밤까지의 매출을 합산해 오늘 아침에 보고서로 만든다', '월말에 모든 사용자에게 청구서를 발송한다', '매주 일요일 밤 머신러닝 모델을 재학습한다' 같은 일은 한 번에 모아서 처리하는 게 효율적입니다. 그게 배치 처리입니다.

장점은 단순함과 효율입니다. ① 처리 도중에 새 데이터가 들어와도 신경 쓸 필요가 없음. ② 같은 자원을 짧은 시간 동안 집중적으로 써서 비용을 줄일 수 있음. ③ 실패해도 같은 입력으로 다시 돌리면 됨(idempotent). 그래서 보고서·정산·청구·머신러닝 학습에서 여전히 1등 선택지입니다.

동작 흐름은 보통 세 단계입니다. ① 정해진 시각이 되면 스케줄러가 작업을 시작(cron·Airflow). ② 데이터 소스에서 한 덩어리를 읽어 처리. ③ 결과를 저장하고, 다음 단계가 있다면 트리거. 큰 회사에서는 수백 개의 배치 작업이 의존성을 갖고 줄지어 돌아갑니다.

단점은 '결과를 보기까지 기다려야 한다'는 점입니다. 사용자가 클릭하는 순간 결과를 봐야 한다면 스트리밍이 더 적합합니다. 실무에서는 보통 두 가지가 섞여 있습니다: 일상 운영은 스트리밍, 일·주·월 단위 통계는 배치.

도구: 가장 단순한 cron, 워크플로 도구 Airflow·Prefect·Dagster, 클라우드 매니지드(AWS Batch·GCP Cloud Composer), 머신러닝 학습용 분산 배치(Spark·Ray·Slurm). 어떤 도구를 쓰든 핵심은 '실패 알람·재시도·로그·의존성 관리'를 사람이 매번 신경 안 써도 되게 만드는 일입니다.

배치 처리의 개념을 본문 안에서 다른 각도로 비춰 보는 편집형 일러스트.
FIG. 1배치 처리를 다른 각도에서 다시 봅니다.

비유로 보면

배치 처리는 우체국의 야간 분류 작업과 비슷합니다. 낮 동안 모인 우편을 밤에 한꺼번에 모아 지역별로 정리해 다음 날 아침에 배달합니다. 모든 우편을 들어오는 즉시 처리하려고 했다면 더 많은 인력과 공간이 필요했을 겁니다.

어디에서 만나나

월급·청구서·세금 계산, 매일 새벽 BI 보고서 갱신, 머신러닝 모델 재학습, 마케팅 이메일 일괄 발송, 백업·로그 정리, 데이터 웨어하우스 적재, 정산·환불 처리. 회사가 다루는 '주기적 무거운 일' 대부분이 배치로 돌아갑니다.

작은 예시

월급 명세서는 매달 정해진 날 한꺼번에 계산·발송됩니다. 매시간 실시간으로 계산할 이유가 없고, 그달의 모든 근태·세금·공제가 다 모인 뒤 한 번에 처리하는 게 더 정확하고 안전합니다. 전형적인 배치 작업입니다.

자주 하는 오해

오해
흔한 오해 둘. ① '배치는 옛날 방식, 스트리밍이 미래' — 두 가지는 다른 도구이고, 같은 회사 안에서 영역에 따라 골라 씁니다. 배치가 사라지지 않습니다. ② '배치는 단순' — 큰 회사에선 수백 개의 작업이 의존성을 갖고 줄지어 도는 복잡한 시스템이 됩니다.

한 줄 정리

배치의 비결은 '즉시성을 포기해서 효율을 얻는다'입니다. 즉시가 필요 없는 일에는 배치만큼 안정적이고 싼 도구가 없습니다.
매주 월요일 오전 8시

한 주에 한 통,
오래 남는 이해를 보냅니다.

흘려보내지 않는 글만 골라 보내드립니다. 광고와 추적, 외부로 빠지는 미끼 링크 없이 메일 안에서 끝나는 한 통입니다.

언제든 한 번의 클릭으로 해지할 수 있습니다. 스팸은 보내지 않습니다.