본문 바로가기

Spring

[Spring Batch] 메타 테이블에 대해 알아보자!

728x90
반응형

스프링 배치(Spring Batch)는 대규모 데이터 처리를 위한 프레임워크로, 작업(Job)과 단계(Step)를 기반으로 데이터를 읽고 처리하고 쓰는 기능을 제공합니다. 이 과정에서 작업의 실행 상태를 추적하고 관리하기 위해 메타 테이블을 사용합니다. 메타 테이블은 작업 실행의 상태와 관련된 다양한 정보를 저장하는데 사용됩니다.

주요 메타 테이블

BATCH_JOB_INSTANCE

구분 내용
용도 작업의 논리적 단위를 나타내는 테이블입니다.
각 작업(Job)의 인스턴스(Instance) 정보를 저장합니다.
주요 컬럼
  • JOB_INSTANCE_ID: 작업 인스턴스의 고유 ID
  • JOB_NAME: 작업 이름
  • JOB_KEY: 작업 인스턴스를 구분하기 위한 키 (주로 파라미터 기반의 직렬화<Serialization>)

BATCH_JOB_EXECUTION

구분 내용
용도 각 작업 인스턴스의 실행 정보를 저장합니다. 작업의 시작 시간, 종료 시간, 상태 등을 관리합니다.
주요 컬럼
  • JOB_EXECUTION_ID: 작업 실행의 고유 ID
  • JOB_INSTANCE_ID: 관련 작업 인스턴스의 ID
  • START_TIME: 작업 실행 시작 시간
  • END_TIME: 작업 실행 종료 시간
  • STATUS: 작업 실행 상태 (예: COMPLETED, FAILED)
  • EXIT_CODE: 작업 종료 코드
  • EXIT_MESSAGE: 작업 종료 메시지

BATCH_JOB_EXECUTION_PARAMS

구분 내용
용도 작업 실행 시 사용된 파라미터 정보를 저장합니다.
주요 컬럼
  • JOB_EXECUTION_ID: 관련 작업 실행의 ID
  • KEY_NAME: 파라미터 키 이름
  • TYPE_CD: 파라미터 타입 (예: STRING, LONG)
  • STRING_VAL: 문자열 값
  • DATE_VAL: 날짜 값
  • LONG_VAL: 숫자 값
  • DOUBLE_VAL: 실수 값

BATCH_STEP_EXECUTION

구분 내용
용도 각 단계(Step)의 실행 정보를 저장합니다. 단계의 시작 시간, 종료 시간, 상태 등을 관리합니다.
주요 컬럼
  • STEP_EXECUTION_ID: 단계 실행의 고유 ID
  • JOB_EXECUTION_ID: 관련 작업 실행의 ID
  • STEP_NAME: 단계 이름
  • START_TIME: 단계 실행 시작 시간
  • END_TIME: 단계 실행 종료 시간
  • STATUS: 단계 실행 상태 (예: COMPLETED, FAILED)
  • READ_COUNT: 읽은 항목의 수
  • WRITE_COUNT: 기록한 항목의 수
  • READ_SKIP_COUNT: 읽기 스킵 항목의 수
  • WRITE_SKIP_COUNT: 기록 스킵 항목의 수
  • PROCESS_SKIP_COUNT: 처리 스킵 항목의 수
  •  

BATCH_STEP_EXECUTION_CONTEXT

구분 내용
용도 단계 실행 시의 컨텍스트 정보를 저장합니다. 주로 각 단계의 상태를 관리하는데 사용됩니다.
주요 컬럼
  • STEP_EXECUTION_ID: 관련 단계 실행의 ID
  • SHORT_CONTEXT: 짧은 컨텍스트 정보
  • SERIALIZED_CONTEXT: 직렬화된 컨텍스트 정보
  •  

BATCH_JOB_EXECUTION_CONTEXT

구분 내용
용도 작업 실행 시의 컨텍스트 정보를 저장합니다.
주요 컬럼
  • JOB_EXECUTION_ID: 관련 작업 실행의 ID
  • SHORT_CONTEXT: 짧은 컨텍스트 정보
  • SERIALIZED_CONTEXT: 직렬화된 컨텍스트 정보
반응형

메타 테이블의 중요성

스프링 배치 메타 테이블은 다음과 같은 이유로 중요합니다:

  • 추적 및 관리: 작업과 단계의 실행 상태, 파라미터, 컨텍스트를 추적하여 전체 배치 프로세스를 관리할 수 있습니다.
  • 재시작 기능: 작업이나 단계가 실패했을 때, 실패한 지점부터 재시작할 수 있는 기능을 제공합니다.
  • 보고 및 감사: 실행 로그를 통해 작업의 실행 내역을 보고하거나 감사할 수 있습니다.
728x90
반응형