본문 바로가기

itemreader3

6. Spring Batch 청크 프로세스 활용 Step4 - JdbcBatchItemWriter / JpaItemWriter / ItemWriterAdapter 지금까지 ItemReader 구현체들을 통해서 DB에 있는 데이터들을 갖고오는 과정들을 진행했다면, 이번 시간에는 DB에 있는 데이터들을 갖고와서 DB에 저장하는 방법에 대해서 정리해 볼 생각이다. ​ ItemWriter와 같은 경우에도 ItemReader 구현체와 같이 여러 종류의 ItemReader의 구현체가 있지만, DB와 관련된 ItemWriter에 대해서만 정리해보자. ​ 1. JdbcBatchItemWriter JdbcCursorItemReader 설정과 마찬가지로 datasource를 지정하고, sql 속성에 실행할 쿼리를 설정 JDBC의 batch 기능을 사용하여 bulk insert/update/delete 방식으로 처리 단건 처리가 아닌 일괄처리이기 때문에 성능에 이점을 가진다 Jdbc.. 2022. 10. 3.
4. Spring Batch 청크 프로세스 활용 Step2 - Paging 기반의 ItemReader 지난 시간에는 Spring Batch 청크 프로세스 활용편으로 Cusor Based / Paging Based의 차이점과 Cursor 기반인 JdbcCursorItemReader와 JpaCursorItemReader에 대해 알아봤습니다. 이번 시간에는 Paging 기반인 JdbcPagingItemReader와 JpaPagingItemReader에 대해 알아보겠습니다. ​ JdbcPagingItemReader Paging 기반의 JDBC 구현체로서 쿼리에 시작 행 번호(offset)와 페이지에서 반환 할 행 수(limit)를 지정해서 SQL을 실행 스프링 배치에서 offset과 limit을 PageSize에 맞게 자동으로 생성해 주며 페이징 단위로 데이터를 조회할 때 마다 새로운 쿼리가 실행 페이지마다 새.. 2022. 10. 3.
2. Spring Batch 청크 프로세스 이해 기존에 스프링 배치에 대해서 정리한 내용은 기본적인 환경설정에 대한 내용과 간단하게 Job, Step을 생성해서 진행해봤는데, 최근 업무를 하다가 청크(Chunk) 기반의 스프링 배치를 진행해야 하는 상황이 생겨서 스프링 배치 - 청크 프로세스에 대해서 정리해보는 시간을 갖었다. 기반 내용은 아래 인프런 강의를 듣고 정리하였다. https://www.inflearn.com/course/스프링-배치/dashboard 우선, 청크(Chunk)란 여러 개의 아이템을 묶은 하나의 덩어리, 블록을 의미한다. 한번에 하나씩 아이템을 입력받아 Chunk 단위의 덩어리로 만든 후 Chunk 단위로 트랜잭션을 처리한다. 즉, Chunk 단위의 Commit과 Rollback이 이루어진다. 일반적으로 대용량 데이터를 한번에.. 2022. 10. 3.