Spring Batch
1. Batch Processing
사용자 와 상호 작용 하다록 개발
- API 기능 만으로는 한게에 봉착(사용자 요청을 받아 처리도므로)
- 크기가 큰 데이터의 처리 어려움
사용자의 개입이나 중단 없이 유한한 양의 데이터 처리하는 기술
구성 요소
Task: 실행할 작업
Scheduling: 주기 또는 시간
Trigger: Task 를 실행하는 것
사용 이유
유지 보수 측면에서의 장점
- 테스트 용이성 과 추상화의 이점이 있음
유연성
- POJO 로 업무 로직을 구현
다양한 커뮤니티 정보
비용의 장점
어디에 쓰이는가?
ETL(Extract Transform Load): 추출, 변환, 로딩
- 한 형식에서 다른 형식으로 데이터를 전환하는 작업에 주로 사용
Data Migration
워크로드 조정
병렬 처리
- YARN, Spark 등의 빅데이터 플랫폼의 병렬 처리 수행에 적용할 수 있게 알고리즘 또는 데이터 구조에 맞게 전처리 작업 필요
무중단 처리, 상시 데이터 처리
- chunk 단위 queue 를 이용해서 배치 처리 수행 가능