목록 보기
[SpringBatch 연재 05] JdbcPagingItemReader로 DB내용을 읽고, JdbcBatchItemWriter로 DB에 쓰기
백엔드

[SpringBatch 연재 05] JdbcPagingItemReader로 DB내용을 읽고, JdbcBatchItemWriter로 DB에 쓰기

데보션
데보션
2024년 10월 28일

두줄요약

JdbcPagingItemReader로 DB 데이터를 페이지 단위로 읽고 파일로 저장하는 방법을 다루었습니다. JdbcBatchItemWriter로 파일 데이터를 DB에 빠르게 적재하는 구성도 함께 설명했습니다.

문제 상황

  • Spring Batch에서 대용량 DB 데이터를 읽어 파일로 저장하거나, 파일 데이터를 DB에 적재하는 처리 필요
  • 일반 읽기/쓰기보다 페이지 단위 처리와 배치 적재 방식으로 성능과 효율성 확보 필요

구조와 흐름

  • JdbcPagingItemReader로 데이터소스, SQL, 정렬 키, 파라미터를 설정해 페이지 단위 조회
  • RowMapper와 QueryProvider 조합으로 Customer 객체로 매핑
  • JdbcBatchItemWriter로 SQL INSERT와 ItemSqlParameterSourceProvider를 연결해 DB 적재

성능/운영 포인트

  • pageSize와 chunk 크기 조합으로 대용량 처리 효율 개선
  • 커밋 간격과 재시작 상태 저장 기능으로 배치 안정성 확보
  • JDBC 기반이라 다양한 DB 연동 가능하지만 설정과 쿼리 작성은 다소 복잡

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...