등장 배경
Batch processing 은 사용자(개발자)가 Punched card에 프로그램을 입력하는 Mainframe 컴퓨터 시대(초기의 컴퓨터는 한 번에 하나의 프로그램만 실행할 수 있었음)에 시작되었다. 이렇게 프로그래밍된 Punched card 를 사용자가 System operator 에게 제공하고, Syteme operator 는 이를 일정 순서, 시간에 맞춰 컴퓨터에 공급했다. Batch job 이 제출되면 이 job 들은 queue 대기열에 들어가고, System 은 처리 대기 중인 여러개의 작업을 시간 순서 또는 우선 순위에 따라 프로그램을 실행해 결과를 출력했다.
최근 컴퓨터가 발전하면서, Batch 의 정의와 사용은 많이 변화하였다. 최근에는 정기적으로 수행해야하는 작업을 자동화하거나, 대량 데이터를 일괄적으로 처리하는데 사용된다.
구조
Batch jobs 은 개발자의 추가적인 작업 없이 실행되는 Scheduled program 이다. 대규모의 프로그램, 서비스에서는 이런 jobs 들은 평소에는 작업 대기열에 있다가 주로 컴퓨터가 idle 상태인 저녁이나 주말에 실행되는 경우가 많다. Batch jobs 는
- 특정한 시간에 실행되어
- 대량의 데이터를 처리하고,
- 일괄적으로 처리하기
때문에, 업무의 효율성을 증대할 수 있다.
활용 범위
주로 은행 정산시스템, 급여 명세서, 성적처리와 같이 주기적이고 처리 시간이 오래걸리는 업무를 일괄 처리하는데 사용된다. 실시간으로 요청이 있을 때 마다 처리하지 않아도 되는 서비스에 주로 적용된다. 지금 일하고 있는 부서에서는 주로 Crontab 을 사용하여 DB 인덱싱, Sitemap 생성, 실행 시간이 오래 걸리는 Query 처리 등에 사용하고 있다.
참고자료
'🛠 Engineering > 각종 용어' 카테고리의 다른 글
Web Application Architecture 용어 모음집 (0) | 2022.10.02 |
---|
댓글0