Batch

많은 양의 데이터를 **일괄적으로 처리**하는 작업을 의미한다.

ex)) 하루동안 쌓인 데이터를 Batch 작업을 통해 특정 시간에 한꺼번에 처리

Batch Processing

**일괄 처리라고도 하는 과정**으로서 실시간 요청에 의해서 처리되는 방식이 아닌

일괄적으로 한꺼번에 대량 Process를 처리하는 방식이다.


Spring Batch

Spring에서 **Batch 처리**를 쉽게 하기 위해 설계된 프레임워크이다. DI, IOC, DIP 등 모두 적용 가능하다.

대용량의 데이터를 복잡한 로직으로 처리해야 할 경우 유용하게 사용 가능하다.


주요 구성 요소

큰 틀의 그림으로 구성한다면 위와 같이 그려진다.

큰 틀의 그림으로 구성한다면 위와 같이 그려진다.

Job

전체 계층 최상단에 위치하며 **배치처리 과정을 하나의 단위**로 만들어놓은 **객체**이다.

Step을 수행하는 방식은 아래처럼 2개로 나뉜다.

Tasklet 방식(10,000개 데이터 한 번에 처리)