본문 바로가기

batch-performance6

spring data jpa batch insert 정리 source 는 Github 에 있습니다. spring data jpa batch insert 란? batch insert 라는 것은 여러 개의 SQL Statement 를 하나의 구문으로 처리할 수 있습니다. 정확히는 위 기능은 jdbc batch 기능이며, hibernate 에서 위 기능을 이용해서 처리하는 것입니다. (write-behind 를 통해) 여러 개의 구문을 여러 번 network 를 통해 보내는 것이 아니라 합쳐서 1개로 보내기에 성능 개선을 할 수 있습니다. (이게 핵심) jpa 의 경우 트랜잭션이 commit 되는 순간 한꺼번에 flush 가 이루어집니다. batch_size 옵션이 없다면 단건으로 데이터를 network 를 통해 보낼 것입니다. batch_size 설정해준다면 해당.. 2021. 5. 20.
spring-batch QuerydslPagingItemReader 설명 Reference 보고 정리했습니다. 1. spring-batch QuerydslPagingItemReader 개념 1.1 QuerydslPagingItemReader spring-batch 에서 사용가능한 querydsl 기반 ItemReader 이며, Paging 기능을 사용할 수 있습니다. Paging 기능은 전체 데이터 중 일부 데이터를 조회하는 기법 예를 들면, 1만건의 데이터가 있을 때, 1100, 101200 ... 이런 순으로 데이터를 가져오는 것입니다. 왜 Paging 을 쓰냐하면 DB 데이터를 한꺼번에 메모리에 올리다가 Out Of Memory 가 떨어질 수 있기 때문입니다. 1.2 Querydsl, JPQL querydsl 은 코드로 SQL, JPQL 을 표현합니다. 타입 체크 가능합.. 2021. 4. 14.