I. 배치 핵심 패턴
· Read - 데이터베이스, 파일, 큐에서 다량의 데이터를 조회한다. (추출)
· Process - 특정 방법으로 데이터를 가공한다. (변형)
· Write - 데이터를 수정된 양식으로 다시 저장한다. (적재)
@ DB에서 사용하는 ETL 작업과 비슷
E : Extract(추출)
- 여러 출처(데이터베이스, API, 로그 파일 등)에서 데이터를 끌어오는 단계
ex : MySQL, Oracle, CSV 파일, 외부 시스템 등에서 데이터 수집
T : Transform(변환)
- 데이터를 가공, 정체, 변환하는 단계
ex : 불필요한 컬럼 제거, 날짜 형식 통일, 코드값 변환, 집계 처리 등
L : Load(적재)
- 가공한 데이터를 목적지(DB, 데이터 웨어하우스 등)에 저장
ex : 정제된 데이터를 분석용 데이터베이스에 적재
II. 배치 시나리오
· 배치 프로세스를 주기적으로 커밋
- 최소한의 자원을 가지고 최대한의 성능을 낼 수 있는 커밋 전략, Spring Batch에서 해당 기능을 제공
· 동시 다발적인 Job의 배치 처리, 대용량 병렬 처리
@병렬처리
하나의 스레드가 아닌 멀티 스레드로 데이터를 처리.
· 실패 후 수동 또는 스케줄링에 의한 재시작
· 의존관계가 있는 step 여러 개를 순차적으로 처리
· 조건적 Flow 구성을 통한 체계적이고 유연한 배치 모델 구성
· 반복, 재시도, Skip 처리
III. Spring Batch 아키텍처
@ Application
· 스프링 배치 프레임워크를 통해 개발자가 만든 모든 배치 Job과 커스텀 코드를 포함.
· 개발자는 업무로직의 구현에만 집중하고 공통적인 기반 기술은 프레임웍이 담당하게 한다.
@ Batch Core
· Job을 실행, 모니터링, 관리하는 API로 구성되어 있다.
· JobLauncher, Job, Step, Flow 등이 속한다.
@ Batch Infrastructure
· Application, Core 모두 공통 Infrastructure 위에서 빌드한다.
· Job 실행의 흐름과 처리를 위한 틀을 제공한다.
· Reader, Processor Writer, Skip, Retry 등이 속한다.

'Java & Spring > SpringBatch' 카테고리의 다른 글
| 스프링 배치 도메인 이해 - Job (1) | 2025.04.21 |
|---|---|
| Spring Batch 시작 - DB 스키마 생성(2) (0) | 2025.04.20 |
| Spring Batch 시작 - DB 스키마 생성(1) (1) | 2025.04.20 |
| SpringBatch Hello Spring Batch 시작하기 (0) | 2025.04.20 |