[[ Spring Batch ]]
● 개념
일괄처리( ETL : 추출 - Extract, 변환 - Transformation, 적재 - Load )
스프링 배치는 Job와 Step을 기준으로 배치를 수행하기 쉽게 하고, 대용량 처리에 편리하도록 Chunk 지향처리 제공
● Chunk
각 커밋 사이에 처리되는 row 수
즉. 한 번에 하나씩 데이터를 읽어 Chunk라는 덩어리를 만든 후 Chunk 단위로 트랜잭션을 다루는 것
● Job
하나의 배치 작업
Job Instance : 배치가 실행 되면 각각의 실행을 의미
( ex. Batch Job이 하루에 한번 씩 수행 시, 각각의 수행되는 Batch Job을 Batch Instance 라고 함 )
Job Execution : Job Instance 에 대한 한 번의 실행을 의미
( ex. Batch Job이 월요일에 실패하고 화요일에 Retry에 의해 성공되었다면, 각각은 다른 Job Execution이지만 같은 Job Instance가 됨 )
● Step
Batch Job은 Step의 모음으로 구성
Job은 Step이 순차적으로 수행
● 배치를 주기적으로 동작하게 해주는 스케줄러
- Quartz 스케줄러 : 세밀한 제어 필요 시 사용
- 스프링 스케줄러 : 단순 스케줄링 작업에 사용
● 스케줄러 시간 설정 방식
cron
초 : 0 ~ 59
분 : 0 ~ 59
시 : 0 ~ 23
일 : 1 ~ 31
월 : 1 ~ 12
요일 : 1 ~ 7( 일 ~ 토 )
년 : 1000 ~ 9999
* : 모든 값
? : 특정 값 없음
- : 범위 지정
, : 여러 값 지정
/ : 초기값과 증가치 설정
ex.
0 15 10 * * ? * : 모든 연도, 아무 요일, 매월, 매일, 10:15
0 10,44 14 ? 3 4 : 3월, 매주 수요일, 아무 날짜, 14:10, 14:44
'Spring > 짧은 정보' 카테고리의 다른 글
JWT (0) | 2021.11.13 |
---|---|
Spring Project 생성 (0) | 2020.10.05 |