Spring Batch - Table 정리

유건우·2024λ…„ 9μ›” 23일

Batch

λͺ©λ‘ 보기
1/1
post-thumbnail

πŸ’‘ μŠ€ν”„λ§ 배치 메타 데이터

  • μŠ€ν”„λ§ 배치의 μ‹€ν–‰ 및 관리λ₯Ό μœ„ν•œ λͺ©μ μœΌλ‘œ μ—¬λŸ¬ λ„λ©”μΈλ“€μ˜ 정보듀을 μ €μž₯, μ—…λ°μ΄νŠΈ, μ‘°νšŒν•  수 μžˆλŠ” μŠ€ν‚€λ§ˆ μ œκ³΅ν•©λ‹ˆλ‹€.
  • 싀행에 λŒ€ν•œ 성곡, μ‹€νŒ¨ μ—¬λΆ€ 등을 κ΄€λ¦¬ν•¨μœΌλ‘œμ¨ λ°°μΉ˜μš΄μš©μ— λ°œμƒν•  수 μžˆλŠ” λ¦¬μŠ€ν¬λ“€μ„ κΈ°λ‘ν•˜μ—¬ 리슀크 λŒ€μ‘μ„ λΉ λ₯΄κ²Œ λŒ€μ²˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • DB와 연동할 경우 ν•„μˆ˜μ μœΌλ‘œ 메타 ν…Œμ΄λΈ”μ΄ μƒμ„±λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€.






JOB κ΄€λ ¨ ν…Œμ΄λΈ”

  • BATCH_JOB_INSTANCE
    • 배치 μž‘μ—… μΈμŠ€ν„΄μŠ€λ₯Ό μ €μž₯ν•©λ‹ˆλ‹€.
    • job_name κ³Ό νŒŒλΌλ―Έν„°μ˜ μ‘°ν•©μœΌλ‘œ ν•˜λ‚˜μ˜ μΈμŠ€ν„΄μŠ€κ°€ μƒμ„±λ©λ‹ˆλ‹€.
  • BATCH_JOB_EXECUTION
    • 배치 μž‘μ—… μ‹€ν–‰ 정보λ₯Ό μ €μž₯ν•©λ‹ˆλ‹€.
    • 각 μΈμŠ€ν„΄μŠ€μ˜ μ‹€ν–‰ μ‹œλ§ˆλ‹€ λ ˆμ½”λ“œκ°€ μƒμ„±λ©λ‹ˆλ‹€.
  • BATCH_JOB_EXECUTION_PARAMS
    • 배치 μž‘μ—… 싱행에 μ‚¬μš©λœ νŒŒλΌλ―Έν„°λ₯Ό μ €μž₯ν•©λ‹ˆλ‹€.
  • BATCH_JJOB_EXECTUION_CONTEXT
    • 배치 μž‘μ—… μ‹€ν–‰ 쀑에 ν•„μš”ν•œ μ»¨ν…μŠ€νŠΈ 정보λ₯Ό μ €μž₯ν•©λ‹ˆλ‹€.
    • Job 의 μ‹€ν–‰λ™μ•ˆ μ—¬λŸ¬κ°€μ§€ μƒνƒœμ •λ³΄, 곡유 데이터λ₯Ό 직렬화(Json) ν•˜μ—¬ μ €μž₯ν•©λ‹ˆλ‹€.






Step κ΄€λ ¨ ν…Œμ΄λΈ”

  • BATCH_STEP_EXECUTION
    • 배치 μž‘μ—…μ˜ 각 μŠ€ν… 정보λ₯Ό μ €μž₯ν•©λ‹ˆλ‹€.
  • BATCH_STEP_EXECUTION_CONTEXT
    • μŠ€ν… μ‹€ν–‰ 쀑에 ν•„μš”ν•œ μ»¨ν…μŠ€νŠΈ 정보λ₯Ό μ €μž₯ν•©λ‹ˆλ‹€.









πŸ“– ν…Œμ΄λΈ” λͺ…μ„Έ

BATCH_JOB_INSTANCE

  • JOB_INSTANCE_ID : 배치 μž‘μ—… μΈμŠ€ν„΄μŠ€μ˜ 고유 ID (Primary Key)
  • JOB_NAME : 배치 μž‘μ—…μ˜ 이름
  • JOB_KEY : μž‘μ—… μΈμŠ€ν„΄μŠ€μ˜ 고유 ν‚€(μž‘μ—… νŒŒλΌλ―Έν„°μ— λŒ€ν•œ ν•΄μ‹œκ°’)




BATCH_JOB_EXECUTION

  • JOB_EXECUTION_ID : 배치 μž‘μ—… μ‹€ν–‰μ˜ 고유 ID(Primary Key)
  • JOB_INSTANCE_ID : μ‹€ν–‰λœ 배치 μž‘μ—… μΈμŠ€ν„΄μŠ€μ˜ ID(Foreign Key)
  • START_TIME : 배치 μ‹€ν–‰ μ‹œμž‘ μ‹œκ°„
  • END_TIME : 배치 μ‹€ν–‰ μ’…λ£Œ μ‹œκ°„
  • STATUS : μ‹€ν–‰ μƒνƒœ ( ex. STARTED, COMPLETED, FAILED)
  • EXIT_CODE : 배치 μž‘μ—… μ’…λ£Œ μ½”λ“œ
  • EXIT_MESSAGE : 적업 μ’…λ£Œ μ‹œ 남긴 λ©”μ‹œμ§€
  • CREATE_TIME : μ‹€ν–‰ 정보 생성
  • LAST_UPDATED : λ§ˆμ§€λ§‰ μ—…λ°μ΄νŠΈ μ‹œκ°„




BATCH_JOB_EXECUTION_PARAMS

  • JOB_EXECUTION_ID : 배치 μž‘μ—… μ‹€ν–‰μ˜ ID (Foreign Key)
  • TYPE_CD : νŒŒλΌλ―Έν„° μœ ν˜• (ex. STRING, LONG, DOUBLE)
  • KEY_NAME : νŒŒλΌλ―Έν„° ν‚€
  • STRING_VAL, DATE_VAL, LONG_VAL, DOUBLE_VAL : νŒŒλΌλ―Έν„° κ°’
  • IDENTIFYING : 식별 μ—¬λΆ€ (ex. TRUE, FALSE)




BATCH_JOB_EXECUTION_CONTEXT

  • JOB_EXECUTION_ID : 배치 μž‘μ—… μ‹€ν–‰μ˜ ID (Foreign Key)
  • SHORT_CONTEXT : μ»¨ν…μŠ€νŠΈ 데이터 (μž‘μ—… 쀑간에 μ €μž₯ν•  데이터)
  • SERIALIZED_CONTEXT : μ§λ ¬ν™”λœ μ»¨ν…μŠ€νŠΈ 정보




BATCH_STEP_EXECTUION

  • STEP_EXECUTION_ID : μŠ€ν… μ‹€ν–‰μ˜ 고유 ID (Primary Key)
  • JOB_EXECUTION_ID : κ΄€λ ¨ 배치 μž‘μ—… μ‹€ν–‰ ID (Foreign Key)
  • STEP_NAME : μ‹€ν–‰λœ μŠ€ν…μ˜ 이름
  • START_TIME : μŠ€ν… μ‹€ν–‰ μ‹œμž‘ μ‹œκ°„
  • END_TIME : μŠ€ν… μ‹€ν–‰ μ’…λ£Œ μ‹œκ°„
  • STATUS : μŠ€ν… μ‹€ν–‰ μƒνƒœ
  • READ_COUNT, WRITE_COUNT, COMMIT_COUNT : μŠ€ν…μ—μ„œ 읽은/ μž‘μ„±ν•œ / μ»€λ°‹λœ ν•­λͺ©μ˜ 수
  • READ_SKIP_COUNT, WRITE_SKIP_COUNT, PROCESS_SKIP_COUNT : μŠ€ν‚΅λœ ν•­λͺ© 수
  • ROLLBACK_COUNT : λ‘€λ°± 횟수
  • EXIT_CODE : μŠ€ν… μ’…λ£Œ μ½”λ“œ
  • EXIT_MESSAGE : μŠ€ν… μ’…λ£Œ λ©”μ‹œμ§€




BATCH_STEP_EXECUTION_CONTEXT

  • STEP_EXECUTION_ID : μŠ€ν… μ‹€ν–‰μ˜ ID(Foreign Key)
  • SHORT_CONTEXT : μŠ€ν… μ‹±ν–‰ μ»¨ν…μŠ€νŠΈ 데이터
  • SERIALIZED_CONTEXT : μ§λ ¬ν™”λœ μ»¨ν…μŠ€νŠΈ 정보
profile
βœ…Β μ λ‹Ήν•œ 좔상화λ₯Ό μ°Ύμ•„κ°€λŠ” κ°œλ°œμžμž…λ‹ˆλ‹€.

0개의 λŒ“κΈ€