JUINTINATION

배치 프로그램(Batch Program) 본문

정보처리기사 정리

배치 프로그램(Batch Program)

DEOKJAE KWON 2024. 2. 20. 20:45
반응형

배치 프로그램이란?

배치 프로그램은 사용자와의 상호 작용 없이 여러 작업들을 미리 정해진 일련의 순서에 따라 일괄적으로 처리하는 것을 의미하며 배치 프로그램이 자동으로 수행되는 주기에 따라 정기 배치, 이벤트성 배치, On-Demand 배치로 구분된다.

  • 정기 배치
    • 일, 주, 월과 같이 정해진 기간에 정기적으로 수행된다.
  • 이벤트성 배치
    • 특정 조건을 설정해두고 조건이 충족될 때만 수행된다.
  • On-Demand 배치
    • 사용자 요청 시 수행된다.

배치 프로그램이 갖추어야 하는 필수 요소는 다음과 같다.

  • 대용량 데이터
    • 대량의 데이터를 가져오거나 전달하거나 계산하는 등의 처리가 가능해야 한다.
  • 자동화
    • 심각한 오류가 발생하는 상황을 제외하고는 사용자의 개입 없이 수행되어야 한다.
  • 견고성
    • 잘못된 데이터나 데이터 중복 등의 상황으로 중단되는 일 없이 수행되어야 한다.
  • 안정성/신뢰성
    • 오류가 발생하면 오류의 발생 위치, 시간 등을 추적할 수 있어야 한다.
  • 성능
    • 다른 응용 프로그램의 수행을 방해하지 않아야 하며 지정된 시간 내에 처리가 완료되어야 한다.

배치 스케줄러(Batch Scheduler)

배치 스케줄러는 일괄 처리(Batch Processing) 작업이 설정된 주기에 맞춰 자동으로 수행되도록 지원해주는 도구이다.

스프링 배치(Spring Batch)

  • 스프링 프레임워크의 특성을 그대로 가져와 스프링이 가지고 있는 다양한 기능들을 모두 사용할 수 있다.
  • 데이터베이스나 파일의 데이터를 교환하는데 필요한 컴포넌트들을 제공한다.
  • 로그 관리, 추적, 트랜잭션 관리, 작업 처리 통계, 작업 재시작 등의 다양한 기능을 제공한다.

Quartz

  • 스프링 프레임워크로 개발되는 응용 프로그램들의 일괄 처리를 위한 다양한 기능을 제공하는 오픈 소스 라이브러리이다.
  • 수행할 작업과 수행 시간을 관리하는 요소들을 분리하여 일괄 처리 작업에 유연성을 제공한다.
728x90

'정보처리기사 정리' 카테고리의 다른 글

프로세스와 스케줄링  (0) 2024.02.20
운영체제(Operating System)  (0) 2024.02.20
SQL 테스트와 쿼리 최적화  (1) 2024.02.16
DBMS와 ORM  (0) 2024.02.16
트랜잭션 및 CRUD 분석  (0) 2024.02.16
Comments