Batch Program

배치프로그램에 대해서 알아봅시다

2021.08.04 | 조회 695 |
0
|
main x character의 프로필 이미지

main x character

예술과 IT가 현존하는 크리에이티브 코딩을 소개합니다

 

님들 구글링하다가 들어왔죠? 역시 최고의 선생 구글...
님들 구글링하다가 들어왔죠? 역시 최고의 선생 구글...

 

배치프로그램은 사용자와의 상호 작용 없이 여러작업들을 미리 정해진 일련의 순서에 따라 일괄적으로 처리하는 것! 

자동으로 수행되는 주기에 따라서 3가지로 분류 됩니다

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

 

배치 프로그램이 갖추어야 하는 요소

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

 

그래서 배치프로그램을 언제 실무에서 사용하는데....🎶🎅🏾

주기마다 수행되는 백업 작업, 외부의 데이터베이스로부터 최신 자료를 갱신하는 작업 등 대용량의 데이터가 주기적으로 교환되는 업무에 주로 사용됩니다. 대용량의 데이터가 오가는 만큼 자원을 많이 차지하므로 업무에 방해되지 않도록 야간이나 새벽에 수행되도록 설정하세요!

 

Batch Scheduler (배치 스케줄러)

배치 스케줄러는 일괄처리 작업이 설정된 주기에 맞춰 자동으로 수행되도록 지원해주는 도구인데요 특정 업무(job)를 원하는 시간에 처리할 수 있도록 지원한다는 특성때문에 잡 스케줄러(Job Scheduler)라고도 불립니다.

주로 사용되는 배치 스케줄러 : 스프링 배치, Quartz

🍕[Spring Batch]

Spring Source사와 Accenture사가 공동 개발한 오픈 소스 프레임워크

스프링 프레임워크의 특성을 그대로 가져와 스프링이 가지고 있는 다양한 기능들을 모두 사용할수 있다!

데이터 베이스나 파일의 데이터를 교환하는데 필요한 컴포넌트 제공

JOB수행할 작업 정의
Job Launcher실행을 위한 인터페이스
StepJob처리를 위한 제어 정보
Job RepositioryStep의 제어 정보를 포함하여 작업 실행을 위한 모든정보 저장

 

🍕[Quartz]

스프링 프레임워크로 개발되는 응용 프로그램들의 일괄 처리를 위한 다양한 기능을 제공하는 오픈 소스 라이브러리

수행할 작업과 수행 시간을 관리하는 요소들을 분리하여 일괄 처리 작업에 유연성을 제공한다

Scheduler실행 환경 관리
Job수행할 작업 정의
JobDetailJob의 상세 정보
TriggerJob의 실행 스케줄 정의

 

 

다음에도 IT 소소지식으로 찾아오겠습니다 그동안 안영희..~

 

 

 

다가올 뉴스레터가 궁금하신가요?

지금 구독해서 새로운 레터를 받아보세요

✉️

이번 뉴스레터 어떠셨나요?

main x character 님에게 ☕️ 커피와 ✉️ 쪽지를 보내보세요!

댓글

의견을 남겨주세요

확인
의견이 있으신가요? 제일 먼저 댓글을 달아보세요 !

다음 뉴스레터

Monthly Stamp Web Curation

Monthly Stamp Web Curation의 썸네일 이미지
2021.08.05 | 조회 399
© 2025 main x character

예술과 IT가 현존하는 크리에이티브 코딩을 소개합니다

메일리 로고

도움말 자주 묻는 질문 오류 및 기능 관련 제보 뉴스레터 광고 문의

서비스 이용 문의admin@team.maily.so

메일리 사업자 정보

메일리 (대표자: 이한결) | 사업자번호: 717-47-00705 | 서울 서초구 강남대로53길 8, 8층 11-7호

이용약관 | 개인정보처리방침 | 정기결제 이용약관 | 라이선스