수억 건의 데이터, 맛있게 쪼개 먹는 방법 (with. Partitioning)
10
AI 요약

이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.

이 게시물은 수억 건의 대량 데이터를 Spring Batch로 처리하며 Partitioning, Cursor 기반 ItemReader, Bulk Operations로 OOM 문제를 해결한 과정을 공유합니다.

핵심 요약

  • Partitioning으로 처리 기간을 월→일 단위로 쪼개고 각 파티션을 독립 Worker에서 병렬 처리
  • MongoCursorItemReader로 서버사이드 커서 스트리밍 사용, skip() 비용 회피
  • BulkOperations(UNORDERED)로 청크 단위 일괄 쓰기 수행하여 네트워크 및 GC 오버헤드 감소
  • ThreadPoolTaskExecutor와 gridSize 튜닝으로 스레드 수·DB 커넥션 균형 맞춤

연관 게시글