대용량 데이터 처리 (스프링배치)
- 작성자 :
- 유*현
- 작성일 :
- 2016-05-16 17:46:19
- 조회수 :
- 2,846
- 구분 :
- 운영환경
- 진행상태 :
- 완료
Q
안녕하세요.
스프링배치에서 대용량 데이터 처리를 할때 out of memory 현상이 생겨 대처를 하는중 아래와 같은 내용이 있더군요.
stmt = con.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
위내용은 에서 ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY) 이 관련있다고 하는데 이내용은
전자정부 프레임 워크에선 어떻게 해야하는지요.
참고로 우리 배치는 partitioner를 이용한 parallel 하게 배치가 구동됩니다.
답변 부탁드립니다.
감사합니다.
스프링배치에서 대용량 데이터 처리를 할때 out of memory 현상이 생겨 대처를 하는중 아래와 같은 내용이 있더군요.
stmt = con.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
위내용은 에서 ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY) 이 관련있다고 하는데 이내용은
전자정부 프레임 워크에선 어떻게 해야하는지요.
참고로 우리 배치는 partitioner를 이용한 parallel 하게 배치가 구동됩니다.
답변 부탁드립니다.
감사합니다.
A
안녕하세요. 표준프레임워크센터입니다.
해당 내용은 ResultSet의 옵션으로 ibatis나 mybatis 같은 프레임워크를 사용하지 않고 직접 statement를 사용하는 방식에서 옵션을 수정하여 제어를 할 경우 사용하는게 적합합니다.
문의주신 내용만으로 정확하게 답변드리기 어렵지만, ibatis framework를 사용하는 가정하에 설명드리겠습니다. 일반적인 OOM(Out Of Memory)의 발생 원인의 경우 메모리 누수나 엄청나게 많은 양의 레코드를 select를 할 경우 문제가 발생됩니다.
보통 ibatis에서는 이러한 대용량 처리를 위해 RowHandler를 제공을 하고 있습니다.
하단에 외부링크를 안내해 드리니 참조해보시기 바랍니다.
http://tod2.tistory.com/130
http://krespo.net/196
http://zzagtung.tistory.com/entry/iBatis-RowHandler
http://iamreo.tistory.com/entry/rowhandler-resulthandler
감사합니다.
해당 내용은 ResultSet의 옵션으로 ibatis나 mybatis 같은 프레임워크를 사용하지 않고 직접 statement를 사용하는 방식에서 옵션을 수정하여 제어를 할 경우 사용하는게 적합합니다.
문의주신 내용만으로 정확하게 답변드리기 어렵지만, ibatis framework를 사용하는 가정하에 설명드리겠습니다. 일반적인 OOM(Out Of Memory)의 발생 원인의 경우 메모리 누수나 엄청나게 많은 양의 레코드를 select를 할 경우 문제가 발생됩니다.
보통 ibatis에서는 이러한 대용량 처리를 위해 RowHandler를 제공을 하고 있습니다.
하단에 외부링크를 안내해 드리니 참조해보시기 바랍니다.
http://tod2.tistory.com/130
http://krespo.net/196
http://zzagtung.tistory.com/entry/iBatis-RowHandler
http://iamreo.tistory.com/entry/rowhandler-resulthandler
감사합니다.