메타데이터(Metadata)는 데이터에 대한 대이터이다.
Karen Coyle에 의하면 "어떤 목적을 가지고 만들어진 데이터
(Constructed data with a purpose)" 라고 정의한다.
대량의 정보 가운데 찾고 있는 정보를 효율적으로 찾아내서 이용하기 위해 일정한
규칙에 따라 콘텐츠에 대하여 부여되는 데이터이다.
어떤 데이터 즉 구조화된 정보를 분석,
분류하고 부가적 정보를 추가하기 위해 그 데이터 뒤에 함께 따라가는 정보를 말한다.
속성정보라고도 한다.
대량의 정보 가운데에서 찾고 있는 정보를 효율적으로 찾아내서 이용하기 위해
일정한 규칙에 따라 콘텐츠에 대하여 부여되는 데이터이다.
여기에는 콘텐츠의 위치와 내용, 작성자에 관한 정보, 권리 조건, 이용 조건,
이용 내력 등이 기록되어 있다.
컴퓨터에서는 보통 메타데이터를 데이터를 표현하기 위한 목적과
데이터를 빨리 찾기 위한 목적으로 사용하고 있다.
Spring Batch MetaData
스프링 배치의 실행 및 관리를 위한 목적으로 여러 Domain ( Job , Step , JobParametes .. ) 의 정보들을 저장 , 업데이트 , 조회 할 수 있는 스키마 제공
과거 및 현재에 대한 상태정보 실행정보를 담아 관리에 용이하게 함
DB 연동 시 필수적으로 메타 테이블이 생성 되어야 함
DB 스키마 제공 : org.springframework.batch:spring-batch-core
수동생성 : 제공되는 스키마를 수동으로 복사하여 실행
자동생성 : spring.batch.jdbc.initialize-schema 설정
스프링 배치는 많은 스키마를 예로 제공하며, 이들은 모두 개별 데이터베이스 공급업체의 데이터 유형 처리 방식의 다양성으로 인해 다양한 데이터 유형을 가지고 있다. 아래는 6개의 테이블과 테이블 간의 관계에 대한 ERD 모델입니다.
Spring Batch RDB 연결하기 ( MySQL )
Docker에서 DB Run이 완료되었으면 intelli j 에서 연결한다.
연결 완료 ~!
프로젝트에 Mysql 종속성 추가
프로파일 별로 DB를 설정한다.
메모리DB H2 , RDM Mysql
Yml에는 --- 으로 프로파일이 나뉘도록 설정
추후 active를 local , mysql인지 정하도록 함
spring:
profiles:
active: local
Mysql이 자동 생성되도록 설정함,
없는 경우 옵션 수정을 통해서 활성화된 프로파일을 추가한다 !
해당 옵션 설정으로 진행할 경우 yml 파일보다 우선적으로 선행한다
자동생성 완료 !
꿀Tip )
해시(hash)란 다양한 길이를 가진 데이터를 고정된 길이를 가진
데이터로 매핑(mapping)한 값이다. 이를 이용해 특정한 배열의
인덱스나 위치나 위치를 입력하고자 하는 데이터의 값을 이용해 저
장하거나 찾을 수 있다. 기존에 사용했던 자료 구조들은 탐색이나
삽입에 선형시간이 걸리기도 했던것에 비해, 해시를 이용하면 즉시
저장하거나 찾고자 하는 위치를 참조할 수 있으므로 더욱 빠른 속
도로 처리할 수 있다
Column명 | 설명 |
---|---|
JOB_INSTANCE_ID | 고유하게 식별 할 수 있는 기본키 |
VERSION | 업데이트 될 때마다 1씩 증가 |
JOB_NAME | job을 구성할 때 부여하는 job의 이름 |
JOB_KEY | job_name과 jobParameter를 합쳐 해싱한 값을 저장 |
Column명 | 설명 |
---|---|
JOB_INSTANCE_ID | 고유하게 식별 할 수 있는 기본키 |
VERSION | 업데이트 될 때마다 1씩 증가 |
JOB_NAME | job을 구성할 때 부여하는 job의 이름 |
JOB_KEY | job_name과 jobParameter를 합쳐 해싱한 값을 저장 |