용어 정리

정보처리기사[실기 핵심 정리] - 배치 프로그램 구현

k_sangmin 2024. 4. 8. 19:42

배치의 개념

  • 데이터를 일괄적으로 모아서 처리하는 대량의 작업을 처리
  • 컴퓨터 흐름에 따라 순차적으로 자료를 처리하는 방식
  • 배치 프로그램이란, 대량의 데이터를 모아 정기적으로 반복 처리하는 프로그램이다.

배치 프로그램의 필수 요소

  • 1) 대용량 데이터
    • 대용량의 데이터를 처리할 수 있어야 한다.
  • 2) 자동화
    • 심각한 오류 상황 외에는 사용자의 갸입 없이 동작해야 한다.
  • 3) 견고함
    • 비정상적인 동작 중단이 발생하지 않아야 한다.
  • 4) 안정성
    • 어떤 문제가 발생했을 때, 해당 문제를 추적하고 복구할 수 있어야 한다.
  • 5) 성능
    • 주어진 시간에 작업을 완료해야 하고, 다른 애플리케이션의 동작을 방해하지 않아야 한다.

스케줄 관리 종류

1) 크론랩(Crontab)

  • UNIX, LINUX 계열에서 사용
  • 시간을 지정해 특정 명령을 자동 실행
  • 크론탭 형식 ( 분 시 일 월 요일 명령어)

 

2) Spring Batch

  • 백엔드에서 배치 처리를 위한 프레임 워크
  • 대용량, 고성능 비치 작업 지원
  • 실패 지점부터 재시작 기능
  • Batch Job을 실행시키기 위해서는 Quartz, Scheduler, Jenkins 등 전용 Scheduler를 사용
  • 구성요소 :  Job, Job Launcher, Step, Job Repository

 

3) Quartz Job Schedular

  • Java 기반의 작업 스케줄러
  • 특정 시간 또는 주기적인 작업 실행
  • 주요 인터페이스 : Schduler Job, Job, JobDetail, Trigger, JobBuilder, TriggerBuilder
  • 형식 ( 초 분 시 일 월 요일 년(생략가능))

 

4) 배치 스케줄러 클래스 작성

  • 배치 설계서 확인
  • DTO/VO 구현
  • SQL문 구현
  • DAO 구현
  • Schedule 구현(매일 1시에 배치 실행