본문 바로가기
대외활동/DateEngineering Zoom Camp

[DE-Zoomcamp] 6-1. Batch Processing 소개

by 드인 2026. 3. 1.

이 글은 Data Engineering Zoomcamp의 Module 6: Batch Processing를 기반으로, 
데이터 처리 방식 중 가장 널리 사용되는 Batch Processing(배치 처리)의 개념과 구조를 정리한 글입니다.  


목차

  1. Batch Processing이란
  2. Batch와 Streaming의 차이
  3. 왜 Batch Processing이 필요한가
  4. Batch 파이프라인의 기본 구조
  5. Batch 처리에 사용되는 기술
  6. Batch Processing의 장단점
  7. 실무에서의 Batch 설계 방식
  8. 참고자료/실습

1. Batch Processing이란

Batch Processing은 일정 시간 동안 수집된 데이터를 모아 한 번에 처리하는 방식입니다.

데이터가 생성되는 즉시 처리하는 것이 아니라,

시간 단위(예: 1시간, 1일, 1주 등)로 데이터를 누적한 뒤 정해진 시점에 일괄 처리하는 구조입니다.

  • 하루 동안 발생한 주문 데이터를 자정에 집계
  • 한 시간 단위 로그 데이터를 정각마다 정제
  • 월말 전체 매출 데이터를 한 번에 계산

2. Batch와 Streaming의 차이

구분 Batch Processing Streaming Processing
처리 시점 일정 주기마다 처리하는 구조 이벤트 발생 즉시 처리하는 방식
지연 지연이 존재하는 구조 거의 실시간 처리 구조
구현 난이도 비교적 단순 상대적으로 복잡
장애 복구 재실행 용이 상태 관리 필요
주요 사용 사례 집계, 리포트, 데이터 정제 작업 실시간 알림, 모니터링 시스템

3. 왜 Batch Processing이 필요한가

3-1. 안정성

Batch 작업은 특정 시간 구간을 기준으로 처리하는 구조입니다.
따라서 작업이 실패하더라도 동일 구간을 다시 실행하면 동일한 결과를 얻을 수 있는 장점이 있습니다.

이 특성은 운영 안정성 측면에서 매우 중요한 요소입니다.

3-2. 리소스 효율성

대량 데이터를 한 번에 처리하면 자원을 집중적으로 활용할 수 있는 구조입니다.
특히 분산 처리 환경에서는 여러 노드가 동시에 데이터를 처리하므로 처리 효율이 높아지는 구조입니다.

3-3. 운영 관리 단순

Batch 작업은 일반적으로 스케줄러(Airflow, Cron 등)를 통해 관리하는 구조입니다.

Raw Data → Batch Job → 정제 데이터 저장 → 리포트/대시보드
 

정해진 시간에 실행되기 때문에 파이프라인 흐름이 명확하고 관리가 비교적 용이한 방식입니다.


4. Batch 파이프라인의 기본 구조

일반적인 Batch 파이프라인은 다음과 같은 단계로 구성됩니다.

  1. 원천 데이터 수집 단계
  2. 일정 시간 동안 데이터 누적 단계
  3. Batch Job 실행 단계
  4. 데이터 정제 및 집계 단계
  5. 결과 저장 단계
  6. 분석 또는 리포트 활용 단계

5. Batch 처리에 사용되는 기술

5-1. Python Script 기반 처리 방식

간단한 ETL 스크립트로 파일을 읽고 변환한 뒤 저장하는 구조입니다.

장점은 구현이 단순하고 소규모 데이터에 적합하다는 점입니다.
단점은 단일 머신 기반이기 때문에 대용량 데이터 처리에는 한계가 있다는 점입니다.

5-2. SQL 기반 처리 방식

데이터 웨어하우스에서 SQL을 사용해 집계하는 구조입니다.

SELECT customer_id,
SUM(amount) AS total_amount
FROM sales
GROUP BY customer_id;
 

장점은 집계에 최적화되어 있고 분석 친화적인 구조라는 점입니다.
단점은 복잡한 로직 구현이 어렵고 파일 기반 대규모 처리에는 제약이 있을 수 있다는 점입니다.

5-3. 분산 처리 엔진 기반 처리 방식

대용량 데이터를 처리하는 경우 분산 처리 엔진을 사용하는 구조입니다.

특징은 다음과 같습니다.

  • 여러 노드에서 병렬 처리하는 구조
  • 대규모 파일 처리에 적합한 방식
  • SQL과 코드 기반 로직을 함께 사용할 수 있는 환경

현대 데이터 플랫폼에서는 이러한 분산 처리 환경에서 Batch 작업을 수행하는 구조가 일반적입니다.


6. Batch Processing의 장단점

6-1. 장점

  1. 안정적인 운영이 가능한 구조
  2. 재실행 및 복구가 용이한 방식
  3. 대규모 데이터 처리에 적합한 구조
  4. 스케줄 기반 자동화가 가능한 방식

6-2. 단점

  1. 실시간 반영이 어려운 구조
  2. 일정 수준의 지연이 존재하는 방식

7. 실무에서의 Batch 설계 방식

실제 시스템에서는 Batch와 Streaming을 함께 사용하는 경우가 일반적입니다.

  • 실시간 알림은 Streaming으로 처리하는 구조
  • 일별 매출 집계 및 분석은 Batch로 처리하는 방식

대부분의 핵심 데이터 분석, 리포트 생성, 머신러닝 학습 데이터 생성은 Batch 기반으로 동작하는 경우가 많습니다.

즉, Batch Processing은 데이터 플랫폼의 기본 구조라고 볼 수 있는 방식입니다.


 

8. 참고 자료 / 출처