본문 바로가기
Programing/Knowledge

[CS] Batch

by 꾸압 2022. 12. 3.

 

<설명>

  - Computer 에서 User와의 추가적인 상호작용 없이 실행되도록 Computer에 할당된 Program.

  - (IBM 피셜) 최종 User와의 상호작용 없이 실행 가능하거나 Resource가 허용하는대로 예약 가능한 것.

  - 인간의 간섭없이 완전 자동화하도록 설계됨.

  - Workload Automation(WLA) 혹은 Job Scheduling 으로도 불림.

  - 대용량 DB를 적은 시간으로 Process(작업)하기에 가성비(Effecttive Cost)가 좋음.

 

이미지 출처 : TIBCO

 


 

<Batch가 적합한 활용>

  - 즉시 Addressed 될 필요가 없거나, 실시간 정보가 필요하지 않은 Process.

  - 매우 큰 용량의 Data 를 Process(처리) 해야하는 경우

  - Computer 나 System에 Idle Time(유휴 시간)이 있는 경우

  - Process에 인간의 입력(간섭) 이 필요없으며, 반복적인 경우

 


 

<Batch 이점>

  1) 속도 & 비용 절감.

    ==> 대형 규모로 자동화되어 있어, 수동 간섭이 필요없음.

 

  2) 정확성

    ==> 사람의 간섭을 없애버려, Human Error(인재)가 발생하지 않음.

 

  3) 오프라인 특성

    ==> 하루가 끝나도 Workload 는 여전히 작동함. Process 과부하나 일과 작업을 방해하지 않도록 관리자가 조정 가능.

    ==> User가 적은 새벽 등에 Batch 작업하여 부하(Load) 를 줄일 수 있음.

 

  4) 설치하고 잊기

    ==> 장애가 발생하면 알림이 뜨기에, 그 외의 자동 시스템을 건드릴게 없음.

 

  5) 간략한 동작

    ==> Batch를 한번 시작하면 추가적인 지원이나 요구사항이 없음.

 


 

<Batch 의 도전과제>

  1) Training & Deployment (훈련&배포)

    ==> Batch Trigger, Scheduling, Process에 대한 Exception의 알림 및 장애 처리 등을 관리자가 이해해야 함.

 

  2) 비용

    ==> 대형 사업이나 기관에서 과다한 Data 를 다루는 경우 Batch는 노동에 대한 비용 및 시간 절감이 뛰어나지만,

        작은 조직에선 Data 입력 직원이나 System 유지에 충분한 하드웨어가 없을 수 있기에 Batch 시작하기 적합하지 않을 수 있음.

 


 

<Batch가 쓰이면 좋을 조건>

  - 급여 및 근무표 처리 작업

  - Data를 누적하고 특정 시간에 하나의 주요 결과값을 산출하는 기업 및 조직에 대한 Line-item Invoices(폼목 송장).

  - 계좌 내역서, 은행 예금 잔고

  - 연구 & 분석

  - 공급망 & 공급 충족 : 재고 수준 추적 및 매주 or 매월 작업할 지 모르는 교체 제품 주문

  - 매주 or 매달에 한번 진행되는 결제 시스템

 


 

<Batch가 필요한지 확인 질문>

  - 완료해야 할 수동 작업이 많은가? 이런 작업의 정확성을 어떻게 보장하는가? 정확성을 보장하고 올바른 순서로 제출 및 처리되는 시스템이 있는가?

  - 다른 작업이 완료되길 기다리는 작업이 시스템에 존재하는가? 각 작업이 언제 완료되는지 or 다음 작업이 언제 시작되는지 아는가?

  - 조직에서 New File을 수동으로 확인하는가? 파일을 효율적으로 확인할 만큼 자주 발생하는 Script-loop 가 있는가?

  - 현재 시스템의 Server에서 작업-Level(수준) 의 재시도가 있었는가? 속도를 늦추거나 다른 작업의 우선 순위를 재정하는가? Server를 더 잘 활용 가능한가?

 


 

<참조 1> https://www.techtarget.com/searchdatacenter/definition/batch

<참조 2> https://www.ibm.com/docs/en/zos-basic-skills?topic=jobs-what-is-batch-processing

<참조 3> https://www.tibco.com/reference-center/what-is-batch-processing

<참조 4>

 

 

'Programing > Knowledge' 카테고리의 다른 글

[CS] Mount  (0) 2022.12.07
[CS] Cyclic Dependency  (2) 2022.12.04
[CS] Abstraction  (0) 2022.12.02
[CS] Memoization  (0) 2022.11.30

댓글