Spring Batch

Spring Batch 테이블 의미

NEWDODORIPYO 2022. 8. 18. 13:07

🎈Job 관련 테이블

  • BATCH JOB INSTANCE
    • job 이 실행될 때 JobInstance 정보가 저장되며 job_name과 job_key를 키로 하여 하나의 데이터가 저장
    • 동일한 job_name과 job_key로 중복 저장될 수 없다
JOB_INSTANCE_ID  고유하게 식별할 수 있는 기본 키
VERSION 업데이트 될 때 마다 1씩 증가
JOB_NAME job을 구성할 때 부여하는 job 의 이름
JOB_KEY job_name 과 jobParameter 를 합쳐 해상한 값을 저장
  • BATCH_JOB_EXEXUTION
    • job 의job의 실행정보가 저장되며 job 생성 , 시작 , 종료 시간 , 실행상태 , 메시지 등을 관리
JOB_EXECUTION_ID jobExecution 을 고유하게 식별할 수 있는 기본키 , JOB_INSTANCE 와 일대 다 관계
VERSION 업데이트 될 때마다 1씩 증가
JOB_INSTANCE_ID JOB_INSTANCE 의 키 저장
CREATE_TIME 실행(Execution)이 생성된 시점을 TimeStamp 형식으로 기록
START_TIME 실행(Execution)이 시작된 시점을 TimeStamp 형식으로 기록
END_TIME 실행이 종료된 시점을 TimeStamp으로 기록하며 job 실행 도중 오류가 발생해서 job이 중단된 경우 값이 저장되지 않을 수 있음
STATUS 실행 상태 (BatchStatus)를 저장 (COMPLETED , FAILED , STOPPED…..)
EXIT_CODE 실행 종료코드(ExitStatus)를 저장 (COMPLETED , FAILED……)
EXIT_MESSAGE Status가 실패일 경우 실패 원인 등의 내용을 저장
LAST_UPDATED 마지막 실행(ExitStatus) 시점을 TimeStamp 형식으로 기록
  • BATCH_JOB_EXCUTION_PARAMS
    • job과 함께 실행되는 JobParameter 정보를 저장
JOB_EXECUTION_ID jobExecution 식별 키 , JOB_EXECUTION 과는 일대다 관계
TYPE_CD STRING , LONG , DATE , DUBLE 타입정보
KEY_NAME 파라미터 키 값
STRING_VAL 파라미터 문자 값
DATE_VAL 파라미터 날짜 값
LONG_VAL 파라미터 LONG 값
DOUBLE_VAL 파라미터 DOUBLE 값
IDENTIFYNG 식별여부 (TRUE , FALSE)
  • BATCH_JOB_EXECUTION_CONTEXT
    • job 의 실행 동안 여러 가지 상태 정보 , 공유 데이터를 직렬화 (Json 형식) 해서 저장
    • Step 간 서로 공유 가능함
JOB_EXECUTION_ID  jobExecution 식별 키 , JOB_EXECUTION 마다 각 생성
SHORT_CONTEXT JOB 의 실행 상태정보 , 공유데이터 등의 정보를 문자열로 저장
SERIALIZED_CONTEXT 직렬화(serialized)된 전체 컨텍스트

🎈Step 관련 테이블

  • BATCH_STEP_EXCUTION
    • Step 의Step의 실행정보가 저장되며 생성 , 시작 , 종료시간 , 실행상태 ,메시지 등을 관리
STEP_EXECUTION_ID Step 의 실행정보를 고유하게 식별할 수 있는 기본 키
VERSION 업데이트 될 때마다 1씩 증가
STEP_NAME Step 을 구성할 때 부여하는 Step 이름
JOB_EXECUTION_ID jobExecution 기본키 , jobExecution 과는 일대 다 관계
START_TIME 실행(Execution)이 시작된 시점을 TimeStamp 형식으로 기록
END_TIME 실행이 종료된 시점을 TimeStamp으로 기록하며 job 실행 도중 오류가 발생해서 job이 중단된 경우 값이 저장되지 않을 수 있음
STATUS 실행 상태 (BatchStatus)를 저장 (COMPLETED , FAILED , STOPPED…..)
COMMIT_COUNT 트랜잭션 당 커밋되는 수를 기록
READ_COUNT 실행시점에 Read한 Item 수를 기록
FILTER_COUNT 실행도중 필터링된 Item수를 기록
WRITE_COUNT 실행도중 저장되고 커밋된 Item 수를 기록
READ_SKIP_COUNT 실행도중 Read가 Skip 된 Item 수를 기록
WRITE_SKIP_COUNT 실행도중 write가 Skip 된 Item 수를 기록
PROCESS_SKIP_COUNT 실행도중 Process가 Skip 된 Item 수를 기록
ROLLBACK_COUNT 실행도중 rollback이 일어난 수를 기록
EXIT_CODE 실행 종료코드(ExitStatus)를 저장 (COMPLETED , FAILED……)
EXIT_MESSAGE Status가 실패일 경우 실패 원인 등의 내용을 저장
LAST_UPDATED 마지막 실행(ExitStatus) 시점을 TimeStamp 형식으로 기록
  • BATCH_STEP_EXCUTION_CONTEXT
    • Step 의 실행 동안 여러 가지 상태 정보 , 공유 데이터를 직렬화 (Json 형식) 해서 저장
    • Step 별로 저장되며 Step 간 서로 공유할 수 없음
STEP_EXECUTION_ID  StepExecution 식별 키 , STEP_EXECUTION 마다 각 생성
SHORT_CONTEXT STEP 의 실행 상태정보 , 공유데이터 등의 정보를 문자열로 저장
SERIALIZED_CONTEXT STEP 의 실행 상태정보 , 공유데이터 등의 정보를 문자열로 저장

생성된 테이블
테이블 관계

'Spring Batch' 카테고리의 다른 글

Spring Batch 도메인 Joblnstance  (0) 2022.08.19
Spring Batch 도메인 Job  (0) 2022.08.19
Spring Batch의 기본 구조와 DB 연결  (0) 2022.08.17
Spring Batch 스키마 생성  (0) 2022.08.17
Spring Batch 기본 구조  (0) 2022.08.13