Appendix D: Glossary

Spring Batch Glossary

배치(Batch)

시간이 지남에 따라 비즈니스 트랜젝션이 누적된다.

배치 애플리케이션 스타일(Batch Application Style)

온라인, 웹 또는 SOA와 유사하게 배치를 그 자체의 애플리케이션 스타일로 지정하는 데 사용되는 용어이다. 여기에는 입력, 검증, 정보를 비즈니스 모델로 변환, 비즈니스 처리 및 출력의 표준 엘리먼트가 있다. 또한 매크로(macro) 레벨의 모니터링도 필요하다.

배치 프로세싱(Batch Processing)

일정 기간(예: 1시간, 1일, 1주, 1개월 또는 1년)에 걸쳐 누적된 다수의 비즈니스 트랜잭션을 배치 처리한다. 오류 처리를 위한 수동 엘리먼트나 별도의 수동 엘리먼트 없이 반복적이고 예측 가능한 방식으로 많은 데이터 엔터티 또는 객체에 프로세스 또는 프로세스 집합을 적용하는 것이다.

배치 윈도우(Batch Window)

배치 잡을 완료해야 하는 기간(time frame)이다. 이는 온라인 상태가 되는 다른 시스템, 실행해야 하는 다른 의존 잡 또는 배치 환경과 관련된 기타 요인에 의해 제한될 수 있다.

스텝(Step)

메인 배치 작업 또는 작업의 단위이다. 커밋 간격(commit interval) 설정 및 기타 요소를 기반으로 비즈니스 로직을 초기화하고 트랜잭션 환경을 제어한다.

태스크릿(Tasklet)

스텝에 대한 비즈니스 로직을 처리하기 위해 애플리케이션 개발자가 만든 컴포넌트이다.

배치 잡 타입(Batch Job Type)

잡 타입은 특정 타입의 처리에 대한 잡 애플리케이션을 설명한다. 공통 영역은 인터페이스 처리(일반적으로 플랫 파일), 양식 처리(온라인 PDF 생성 또는 인쇄 포맷) 및 보고서 처리이다.

드라이빙 쿼리, 구동 쿼리(Driving Query)

드라이빙 쿼리는 잡이 수행할 작업 집합을 식별한다. 그런 다음 잡은 해당 작업을 개별 작업 단위로 나눈다. 예를 들어, 드라이빙 쿼리는 “전송 보류 중” 상태인 모든 금융 트랜젝션를 식별하여 이를 파트너 시스템으로 보내는 것일 수 있다. 드라이빙 쿼리는 처리할 레코드 ID 집합을 반환한다. 그러면 각 레코드 ID가 작업 단위가 된다. 드라이빙 쿼리에는 조인(선택 기준이 두 개 이상의 테이블에 걸쳐 있는 경우)이 포함될 수도 있고 단일 테이블에서 작동할 수도 있다.

아이템(Item)

아이템은 처리할 전체 데이터의 최소량을 나타낸다. 가장 간단한 용어로 이는 파일의 로우, 데이터베이스 테이블의 로우 또는 XML 파일의 특정 엘리먼트일 수 있다.

Logicial Unit of Work (LUW)

배치 잡은 드라이빙 쿼리(또는 파일과 같은 기타 입력 소스)를 반복하여 작업을 수행한다. 수행된 작업의 각 반복은 작업 단위이다.

커밋 인터벌(Commit Interval)

싱글 트랜잭션 내에서 처리되는 LUW 집합이다.

파티셔닝(Partitioning)

잡을 여러 스레드로 분할하여 각 스레드가 처리할 전체 데이터의 하위 집합을 담당한다. 실행 스레드는 동일한 JVM 내에 있을 수도 있고 워크로드 밸런싱을 지원하는 클러스터 환경의 JVM에 걸쳐 있을 수도 있다.

스테이징 테이블(Staging Table)

처리되는 동안 임시 데이터를 보관하는 테이블이다.

재시작가능(Restartable)

다시 실행될 수 있고 처음 실행될 때와 동일한 ID를 가정하는 잡이다. 즉, 동일한 잡 인스턴스 ID를 갖는다.

재실행가능(Rerunnable)

이전 실행의 기록 처리 측면에서 자체적으로 상태를 관리하고 재실행이 가능한 잡이다. 재실행 가능한 스텝의 예로는 드라이빙 쿼리를 기반으로 하는 스텝이 있다. 잡이 재실행될 때 처리되는 로우을 제한하도록 드라이빙 쿼리를 구성할 수 있으면 해당 쿼리를 재실행할 수 있다. 이는 애플리케이션 로직에 의해 관리된다. 흔히 where 문에 조건이 추가되어 processFlag!= true와 유사한 논리를 사용하여 드라이빙 쿼리에서 반환되는 로우을 제한한다.

반복(Repeat)

배치 프로세싱의 가장 기본적인 단위 중 하나로, 오류가 없을 때까지 코드의 일부를 반복적으로 호출하여 정의합니다. 일반적으로 배치 프로세싱은 입력이 있는 한 반복 가능하다.

재시도(Retry)

트랜잭션 출력 예외 처리와 가장 자주 관련된 재시도 의미 체계를 사용하여 잡 익스큐션을 단순화한다. 재시도(retry)는 반복(repeat)과 약간 다르다. 코드 블록을 계속 호출하는 대신 재시도는 상태 저장 방식이며 성공하거나 일부 유형의 재시도 제한을 초과할 때까지 동일한 입력으로 동일한 코드 블록을 계속 호출한다. 일반적으로 환경의 일부가 개선되어 후속 작업 호출이 성공할 수 있는 경우에만 유용하다.

복구(Recover)

복구 작업은 반복 프로세스가 계속될 수 있는 방식으로 예외를 처리한다.

스킵(Skip)

스킵은 검증에 실패하고 잘못된 입력 레코드를 무시하기 위한 전략으로 파일 입력 소스에서 자주 사용되는 복구 전략이다.