- 사용자와의 상호 작용 없이 여러 작업들을 미리 정해진 일련의 순서에 따라 일괄적으로 처리하는 것
- 배치 프로그램이 자동으로 수행되는 주기
| 배치 | 설명 |
| 정기 배치 | 일, 주, 월과 같이 정해진 기간에 정기적으로 수행 |
| 이벤트성 배치 | 특정 조건을 설정해두고 조건이 충족될 때만 수행 |
| On-Demand 배치 | 사용자 요청 시 수행 |
⭐ 배치 프로그램 필수 요소
| 요소 | 설명 |
| 대용량 데이터 | 대량의 데이터를 가져오기, 전달, 계산하는 등의 처리가 가능해야 함 |
| 자동화 | 심각한 오류가 발생하는 상황을 제외하고는 사용자의 개입없이 수행되어야 함 |
| 견고성 | 잘못된 데이터나 데이터 중복 등의 상황으로 중단되는 일 없이 수행되어야 함 |
| 안정성/신뢰성 | 오류가 발생하면 오류의 발생 위치, 시간 등을 추적할 수 있어야 함 |
| 성능 | 다른 응용 프로그램의 수행을 방해하지 않아야 하고, 지정된 시간 내에 처리가 완료되어야 함 |
1. 배치 스케줄러(Batch Scheduler) = 잡 스케줄러(Job Scheduler)
- 일괄 처리(Batch Processing) 작업이 설정된 주기에 맞춰 자동으로 수행되도록 지원해주는 도구
- 스프링 배치, Quartz
1) 스프링 배치(Spring Batch)
- Spring Source 사와 Accenture 사가 2007년 공동 개발한 오플 소스 프레임워크
- 스프링 프레임워크의 특성을 그대로 가져와 스프링이 가지고 있는 다양한 기능들을 모두 사용 가능
- 데이터베이스나 파일의 데이터를 교환하는데 필요한 컴포넌트를 제공
- 로그 관리, 추적, 트랜잭션 관리, 작업 처리 통계, 작업 재시작 등의 다양한 기능을 제공
| 주요 구성요소 | 설명 |
| Job | 수행할 작업 정의 |
| Job Launcher | 실행을 위한 인터페이스 |
| Step | Job 처리를 위한 제어 정보 |
| Job Repository | Step의 제어 정보를 포함하여 작업 실행을 위한 모든 정보 저장 |
2) Quartz
- 스프링 프레임워크로 개발되는 응용 프로그램들의 일괄 처리를 위한 다양한 기능을 제공하는 오픈 소스 라이브러리
- 수행할 작업과 수행 시간을 관리하는 요소들을 분리하여 일관 처리 작업에 유연성을 제공
| 주요 구성요소 | 설명 |
| Scheduler | 실행 환경 관리 |
| Job | 수행할 작업 정의 |
| JobDetail | Job의 상세 정보 |
| Trigger | Job의 실행 스케줄 정의 |
📖 Reference
2023 시나공 정보처리기사 필기 : 네이버 도서
네이버 도서 상세정보를 제공합니다.
search.shopping.naver.com
728x90
반응형
'Certificate > 정보처리기사' 카테고리의 다른 글
| [4과목 프로그래밍 언어 활용] 프로그래밍 언어 활용 - 132. 데이터 타입 ~ 138. 배열과 문자열 (0) | 2025.11.20 |
|---|---|
| [4과목 프로그래밍 언어 활용] 서버 프로그램 구현 - 131. 패키지 소프트웨어 (Package Software) (0) | 2025.11.20 |
| [4과목 프로그래밍 언어 활용] 서버 프로그램 구현 - 129. 보안 및 API (0) | 2025.11.20 |
| [4과목 프로그래밍 언어 활용] 서버 프로그램 구현 - 127. 개발 환경 구축 ~ 128. 서버 개발 (0) | 2025.11.20 |
| [3과목 데이터베이스 구축] 데이터 전환 - 124. 데이터 검증 ~ 126. 데이터 정제요청서 및 정제보고서 (1) | 2025.11.20 |