반응형
메타 테이블 데이터
BATCH_JOB_INSTANCE
- Job이 실행되면 JobInstance가 이 테이블에 저장된다.
- JOB_INSTANCE_ID : BATCH_JOB_INSTANCE 테이블의 PK
- VERSION : 업데이트 될 때마다 1씩 증가
- JOB_NAME : Job의 이름
- JOB_KEY : job_name과 jobParameter를 합쳐 해싱한 해시코드 저장
- job_key이 같으면 추가적으로 기록되지 않습니다. 즉 같은 Batch Job인 경우 JobParameter가 다른 경우에만 추가적으로 데이터가 저장된다.
BATCH_JOB_EXECUTION
- Job의 실행정보가 저장된다.
- JOB_EXECUTION_ID : BATCH_JOB_EXECUTION 테이블의 PK, JOB_INSTANCE와 1:N 관계
- VERSION : 업데이트 될 때마다 1씩 증가
- JOB_INSTANCE_ID : JOB_INSTANCE KEY (외래 키)
- STATUS: 실행 상태 저장 ( COMPLETED, FAILED, STOPPED, STARTED, ... )
- EXIT_CODE : 실행 종료 코드 ( COMPLETED. FAILED, UNKNOWN, ... )
- EXIT_MESSAGE : Status가 FAILED인 경우 원인 저장
- JOB_EXECUTION은 자신의 부모 관계인 JOB_INSTANCE의 실행 상태 내역을 갖고 있는다.
BATCH_JOB_EXECUTION_PARAMS
- Job과 함께 실행되는 JobParameter 정보가 저장된다.
- JOB_EXECUTION_ID : JobExecution 식별키 (외래 키)
- TYPE_CD : 타입 정보 (String, Long, Double, Date)
- 나머지는 파라미터 정보
BATCH_JOB_EXECUTION_CONTEXT
- Job의 실행 동안 여러가지 상태 정보나 공유 데이터를 JSON 형태로 직렬화해서 저장한다.
- JOB_EXECUTION_ID : JOB_EXECUTION 마다 생성된다. (외래 키)
- SHORT_CONTEXT : Job의 실행 상태 정보, 공유 데이터 등의 정보를 문자열로 저장
- SERIALIZED_CONTEXT : 직렬화된 전체 컨텍스트를 저장
- Step간 서로 공유가 가능하다.
BATCH_STEP_EXECUTION
- Step의 실행정보가 저장된다.
- STEP_EXECUTION_ID : Step의 실행 정보 PK
- VERSION : 업데이트 될 때마다 1씩 증가
- STEP_NAME : Step의 이름
- JOB_EXECUTION_ID : JobExecution PK (외래 키)
- START_TIME : 실행이 시작된 시점
- END_TIME : 실행이 종료된 시점, Job 실행 중 오류 발생시 값이 저장 안됨
- STATUS : 실행 상태 (COMPLETED, FAILED, STOPPED, STARTED, ... )
- COMMIT_COUNT : 트랜잭션 당 커밋되는 수
- ROLLBACK_COUNT : 실행도중 Rollback이 일어난 수
- EXIT_CODE : 실행 종료 코드 ( COMPLETED. FAILED, UNKNOWN, ... )
- EXIT_MESSAGE : Status가 FAILED인 경우 원인 저장
BATCH_STEP_EXECUTION_CONTEXT
- Step의 실행 동안 여러가지 상태 정보나 공유 데이터를 JSON 형태로 직렬화해서 저장한다.
- STEP_EXECUTION_ID : StepExecution PK, (외래 키)
- SHORT_CONTEXT : STEP의 실행 상태 정보, 공유 데이터 등의 정보를 문자열로 저장
- SERIALIZED_CONTEXT : 직렬화된 전체 컨텍스트 저장
- Step 별로 저장되며, Step 간 서로 공유가 가능하다.
반응형
'Spring Batch' 카테고리의 다른 글
Spring Batch 문법 (0) | 2023.01.26 |
---|---|
Spring Batch 설정하기 (0) | 2023.01.26 |
Spring Batch 개념 (0) | 2023.01.25 |