배치 처리

빨래가 생길 때마다 세탁기를 돌리지 않고, 빨래통에 모아두었다가 한 번에 세탁기를 돌리는 것과 같아요.

정의 배치 처리(Batch Processing)는 데이터를 들어올 때마다 즉각 처리하지 않고, 일정한 양이나 정해진 시간 동안 차곡차곡 모아두었다가 컴퓨터가 한꺼번에 묶어서 일괄 처리하는 데이터 관리 방식이에요.

왜 데이터를 모아서 처리할까요?

양말 한 짝이 더러워졌다고 그때마다 세탁기를 매번 돌리면 전기와 수도 요금이 심각하게 낭비돼요. 빨래를 빨래통에 가득 모아두었다가 주말에 한 번에 돌리는 편이 훨씬 현명하죠.

컴퓨터 작업도 이와 똑같아요. 데이터가 1건 들어올 때마다 매번 무거운 데이터베이스를 열고 연산 프로그램을 실행하면 컴퓨터의 두뇌인 CPU가 지치고 자원이 크게 낭비돼요. 대신 데이터를 상자에 차곡차곡 모아두었다가 정해진 때에 한꺼번에 묶어서 계산하는 방식이 바로 배치 처리예요.

영어 단어 '배치(Batch)'는 '한 묶음'이나 '한 무더기'를 뜻해요. 이렇게 묶음 단위로 일을 맡기면 컴퓨터가 사용자가 없는 심야 시간대에 사람의 개입 없이 스스로 방대한 작업을 효율적으로 끝마칠 수 있어요.

배치 처리와 실시간 처리 비교 다이어그램 실시간 처리 (1건씩) 데이터 1건 매번 가동 · 자원 낭비 배치 처리 (모아서) 데이터 누적 심야 1회 가동 · 고효율

우리 일상 속의 대표적인 사례

우리가 매달 받는 월급 명세서나 신용카드 이용 대금 청구서가 가장 대표적인 배치 처리의 예예요. 직원이 수만 명에 달하는 대기업에서 직원 한 명이 퇴근할 때마다 실시간으로 세금을 계산해 통장에 돈을 넣어주지 않아요.

한 달 동안 쌓인 수만 명의 출퇴근 기록과 각종 수당 데이터를 꼬박 모아두었다가, 급여일 전날 밤에 컴퓨터가 밤새 일괄 정산을 수행해요. 은행이 영업을 마친 자정에 하루 동안 일어난 모든 계좌 거래를 맞춰보는 마감 작업이나, 대형 쇼핑몰이 매일 새벽에 전날 판매 통계를 뽑아내는 일도 모두 배치 처리예요.

사용자에게 1초 만에 결과를 보여줄 필요는 없지만, 처리해야 할 데이터의 덩치가 거대할 때 배치 처리가 가장 강력한 위력을 발휘해요.

조금 더 정확히 말하면: 실시간 처리와의 차이

배치 처리의 반대편에는 데이터가 발생하는 순간 곧바로 처리하는 '실시간 스트림 처리(Stream Processing)'가 있어요. 자동차 내비게이션의 실시간 길 안내나 신용카드 도난 감지 시스템처럼 1초의 지체도 허용되지 않는 긴급한 작업에는 실시간 방식이 반드시 필요해요.

하지만 모든 데이터 처리를 실시간 방식으로 만들면 고성능 서버를 하루 종일 팽팽하게 돌려야 해서 비용이 천문학적으로 늘어나요. 그래서 현대 IT 서비스는 즉각 반응해야 하는 부분과 모아서 처리할 일을 영리하게 나누어 함께 사용해요.

수억 장의 사진 데이터로 인공지능(AI)을 학습시키거나 수년간 쌓인 빅데이터를 분석할 때도 여전히 배치 처리가 핵심 인프라로 든든하게 활용되고 있어요.

🤔 흔한 오해

✕ 오해

배치 처리는 속도가 느린 구식 기술이라 곧 사라질 것이다.

✓ 사실

느려서 쓰는 것이 아니라 '컴퓨터 자원을 가장 아끼며 대용량을 처리하기 위해' 전략적으로 쓰는 방식이에요. 인공지능 모델 학습과 빅데이터 파이프라인 등 현대 최신 기술에서도 가장 핵심적인 축을 담당해요.

🧺 일상에서 만나요

1 매달 25일 새벽에 전 직원의 한 달 치 출퇴근 기록과 세금을 일괄 계산해 월급을 입금해요.
2 은행이 문을 닫은 자정에 하루 동안 발생한 모든 송금과 입출금 데이터를 모아 계좌 잔액을 최종 정산해요.
💡 그러니까 한마디로

데이터를 바로 처리하지 않고 한데 모아두었다가 컴퓨터가 한가한 시간에 한꺼번에 처리하는 효율적인 작업 방식이에요.