Spring Batch

problem Could not obtain sequence value 스프링배치 기능 구현 중 Could not obtain sequence value 에러를 만났다. 환경 - H2 / Spring 3.x 을 사용하고 있었다. solution DB에 Batch 정보를 담는 테이블이 생성되지 않아 발생 한 오류였다. 1. application.yml 추가 spring: batch: jdbc: initialize-schema: always 추가해도 자동 생성 되지 않아서 SQL쿼리를 직접 찾아 넣어줘도 계속 오류는 발생 되었다. 나만 안되는 것일지도.... 2. DDL직접 추가 1. 스프링 배치 의존성을 추가 2. 아래 라이브러리를 눌른다. 3. 검색 !! 4. 배치 코어를 찾는다. 5. 아래를 내리면 자..
problem 저번 글에 addBatch에 대한 글을 적었는데 기초에 대한 정리 글이 없어서 적어본다. https://soobysu.tistory.com/131 [Spring Batch] addBatch로 다량 쿼리문 한번에 실행 (bulk insert) 결과 10만건 데이터 > JPA 27분 , addBatch 28초 Problem 엔터티 indexes 를 설정하고 검색최적화를 위해 더미데이터를 DB에 저장 하려고 하는데 10만건의 데이터를 넣는데 굉장히 많은 시간이 걸렸다. 어떻 soobysu.tistory.com solution 스프링 배치 구성 잡 런처 -> 잡 실행 시키는 주체 잡 -> 작업의 단위 ( 한개이상의 스텝으로 구성 되어있다 ) 스텝 -> 행위 ( 데이터 읽기 read , 데이터 작업..
결과 10만건 데이터 > JPA 27분 , addBatch 28초 problem 엔터티 indexes 를 설정하고 검색최적화를 위해 더미데이터를 DB에 저장 하려고 하는데 10만건의 데이터를 넣는데 굉장히 많은 시간이 걸렸다. 어떻게 하면 데이터를 더 빠르게 db에 저장 할 수 없을까 ? JPA를 통해 데이터를 DB에 보내면 save() 또는 saveAll() 해주면 엔터티마다 트랜젝션을 생성하고 커밋한다. 즉 건당 오버헤드(overhead)가 발생한다. solution 오버헤드가 일어나는곳을 한번에 묶어서 처리하면 되지 않을까 ? (중복제거) addBatch로 한번에 묶어서 커밋을 해보자. addBatch는 쿼리 실행을 하지 않고 쿼리 구문을 메모리에 올려두었다가, 실행 명령(executeBatch)이..
imSoo
'Spring Batch' 태그의 글 목록