반응형 개발/Spring Batch4 스프링 배치 개선하기 정리 스프링 배치 성능에 관한 아래 두 영상을 간략하게 정리한 글입니다. Batch Performance 극한으로 끌어올리기https://www.youtube.com/watch?v=2IIwQDIi3ys&t=589sSpring Batch 애플리케이션 성능 향상을 위한 주요 팁https://www.youtube.com/watch?v=VSwWHHkdQI4&t=1011s Batch Performance 극한으로 끌어올리기 영상 정리대량 데이터 READbatch 성능 개선에서 제일 중요한 것은 Reader를 개선하는 것이다.일반적으로 Read의 복잡한 조건으로 인해 Write보다 성능의 더 큰 영향을 받는다.읽을 때 항상 Chunk 프로세싱이다. 예를 들어 천 만개를 1000개씩 나누어 1만번 처리한다.JpaPagi.. 개발/Spring Batch 2024. 9. 10. Chunk Process Chunk Chunk란 여러 개의 아이템을 묶은 하나의 덩어리, 블록을 의미 한번에 하나씩 아이템을 입력 받아 Chunk 단위의 덩어리로 만든 후 Chunk 단위로 트랜잭션을 처리함, 즉 Chunk 단위의 Commit과 Rollback이 이루어짐 일반적으로 대용량 데이터를 한번에 처리하는 것이 아닌 청크 단위로 쪼개어서 더 이상 처리할 데이터가 없을 때까지 반복해서 입출력하는데 사용된다. Chunk는 ItemReader로 읽은 하나의 아이템을 Chunk에서 정한 개수만큼 반복해서 저장하는 타입 Chunk는 ItemReader로부터 전달받은 Chunk를 참조해서 ItemProcessor에서 적절하게 가공, 필터링한 다음 ItemWriter에 전달하는 타입 아키텍쳐 ChunkOrientedTasklet Ch.. 개발/Spring Batch 2023. 11. 10. FlowJob FlowJob Step을 순차적으로만 구성하는 것이 아닌 특정한 상태에 따라 흐름을 전환하도록 구성할 수 있으며 FlowJobBuilder에 의해 생성된다. Flow와 Job의 흐름을 구성하는데만 관여하고 실제 비즈니스 로직은 Step에서 이루어진다. 내부적으로 SimpleFlow 객체를 포함하고 있으며 Job 실행 시 호출한다. 사용해야하는 경우 Step이 실패하더라도 Job은 실패로 끝나지 않도록 해야 하는 경우 Step이 성공했을 때 다음에 실행해야 할 Step을 구분해서 실행해야 하는 경우 특정 Step은 전혀 실행되지 않게 구성해야 하는 경우 조건적 흐름이 필요하면 FloJob, 순차적 흐름은 SimpleJob 활용 배치 상태 유형 BatchStatus JobExecution과 StepExecu.. 개발/Spring Batch 2023. 11. 7. 스프링 배치 핵심 도메인 기초 Job 배치 계층 구조에서 가장 상위에 있는 개념으로 하나의 배치 작업 자체를 의미한다. 'A 데이터베이스의 데이터를 B 데이터베이스로 옮기는 배치'는 Job 자체를 의미한다. JobConfiguration을 통해 생성되는 객체 단위, 배치 작업을 어떻게 구성하고 실행할 것인지 전체적으로 설정하고 명세해 놓은 객체 배치 Job을 구성하기 위한 최상위 인터페이스이며 스프링 배치가 기본 구현체를 제공한다. ex SimpleJob, FlowJob 여러 Step을 포함하고 있는 컨테이너로서 반드시 한 개 이상의 Step으로 구성해야 한다. JobInstance Job이 실행될 때 생성되는 Job의 논리적 실행 단위 객체로서 고유하게 식별 가능한 작업 실행을 나타낸다. Job의 설정과 구성은 동일하지만 Job이 .. 개발/Spring Batch 2023. 10. 21. 이전 1 다음 반응형