Spring Batch4 [Spring Batch] JobParameters와 검증(JobParametersValidator) 이번 포스팅에서는 JobParameters와 JobParametersValidator를 사용한 JobParameters를 검증하는 방법을 알아볼 것이다. JobParameters란?JobParameters는 배치 작업을 하는데 사용되는 파라미터의 집합이다. JobParameters는 JobInsteance를 식별하고 서로 다른 파라미터를 사용해서 배치를 여러 번 실행할 수 있게 한다.JobInstance를 식별한다는 것은 JobParameters로 동일한 작업을 구분지으며, 중복 실행하는 것을 방지해 준다. 그리고 파라미터를 동적으로 변경해서 처리할 수 있게 해준다. 스프링 부트에서 "시스템 변수를 사용해서 파라미터를 주입받을 수는 없을까?"라고 생각할 수 도 있지만, 시스템 변수는 스프링 배치에서 제공.. 2024. 7. 21. [Spring Batch] Chunk 지향 처리 이전까지는 Step을 처리할 때 Tasklet으로 단일 작업을 처리했었다. 간단한 처리를 할 때는 Tasklet만 써도 상관없지만 대량의 데이터를 처리할 때 수십 수백만건의 데이터를 한 번에 처리하는 것은 그렇게 용이하지는 않다.이번에는 스프링 배치에서 데이터를 처리할 때 많은 이점을 제공하는 Chunk에 대해서 알아볼 것이다. 프로젝트 설정은 이전 포스팅과 동일하다. Chunk란?스프링 배치는 일반적으로 Chunk 지향적인 처리 스타일을 사용한다. Chunk는 대량의 데이터를 효율적으로 처리할 수 있으며 데이터를 일정한 크기(청크)로 나누어 처리하는 것을 의미한다. Chunk는 다음 요소들로 구성된다.ItemReader: 데이터를 읽어온다. (FILE, DB)ItemProcessor: 읽어온 데이터.. 2024. 7. 19. [Spring Batch] 스프링 배치 메타데이터 스키마 확인 이전에 스프링 부트 2버전과 3버전에서 스프링 배치 프로그램을 간단하게 작성했는데, 이번에는 메타데이터 스키마(테이블)을 한번 확인해볼 것이다. 프로젝트 설정은 이전 포스팅 설정을 그대로 사용한다. 메타데이터 스키마(Meta-Data Schema)출처: Appendix B: Meta-Data Schema 스프링 배치는 Job과 Step의 실행 상태, 결과를 관리하기 위해서 메타데이터 스키마를 사용한다. 각 테이블은 배치 작업의 상태 정보를 저장하며, 표시된 테이블 외에도 키를 관리하기 위한 시퀀스 테이블들이 있다. JobRepository를 통해서 Job, Step의 실행 상태, 시간, 파라미터 정보 등을 저장하고 관리하게 된다. 각 테이블의 ID 값은 레코드를 식별하기 위한 PK(대체키)다.그리고 .. 2024. 7. 14. [Spring Batch] 스프링 배치 개념 및 사용해보기 이제까지 배치 처리를 할 떄 Spring Boot에서 자바 자바 코드를 구현해서 리눅스의 cron 스케줄러를 사용해서 적용하기만 했었다.이번에 스프링 배치를 사용한 배치 처리를 해보면서 스프링 배치가 제공하는 이점들을 살펴볼 것이다. 배치란?배치는 일반적으로 "배치 처리(Batch Processing)"을 의미하며, 대량의 데이터를 일정한 시간에 일괄적으로 처리하는 것을 말한다.주로 대량의 데이터를 처리하는 작업이기 때문에 트래픽이 적은 새벽 시간에 작업 스케줄러(cron 등)를 사용해서 주기적인 배치 작업을 실행한다.여러 작업을 개별적으로 처리하는 것보다, 대량의 데이터를 처리함으로써 시스템 리소스를 효율적으로 사용할 수 있다. 스프링 배치(Spring Batch)란?스프링 배치는 대량의 데이터를 .. 2024. 7. 14. 이전 1 다음