← 질문 목록으로 돌아가기
Spring

Spring Batch의 Chunk-oriented processing은 어떻게 동작하나요?

#Spring Batch#Chunk#트랜잭션#배치 처리

본질문

Chunk-oriented processing은 무엇이며, 대량 데이터를 처리할 때 Chunk 크기와 실패 후 재시작을 어떻게 고려해야 할까요?

왜 이 질문이 나올까요?

Chunk-oriented processing은 데이터를 일정 개수씩 읽고 처리한 뒤 쓰는 배치 처리 방식입니다. Spring Batch에서는 보통 ItemReader가 읽고, ItemProcessor가 가공하고, ItemWriter가 쓰는 흐름으로 구성합니다.

예를 들어 10만 건을 한 번에 메모리에 올려 저장하는 대신 1,000건씩 처리한다고 해봅시다. 단순히 100번 반복한다는 설명에서 끝나지 않고, 한 Chunk의 트랜잭션 범위와 다음 Chunk가 시작되는 시점, 중간 실패 시 재처리 범위를 함께 설명할 수 있어야 합니다.

면접 준비 포인트를 이어서 확인하세요

  • 면접관이 확인하려는 것잠금
  • 같이 체크해볼 포인트6개
  • 꼬리질문5개

쿠팡 링크를 클릭하면 오늘은 모든 지난 질문의 면접 의도·체크 포인트·꼬리질문을 볼 수 있어요. 구매는 필요하지 않습니다.

쿠팡 방문 링크를 준비 중이에요. 연결 후 이용할 수 있습니다.

이 사이트는 쿠팡파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받을 수 있습니다.

해제 기록은 같은 브라우저에서 오늘만 유지돼요. 카톡 내부 브라우저·크롬·PC의 기록은 각각 별개입니다.

답변 준비 방향

답변은 읽기·처리·쓰기의 흐름을 먼저 설명하고, 트랜잭션과 커밋 경계를 짚은 뒤 Chunk 크기와 실패 복구의 트레이드오프로 이어가세요.

재시작이 언제나 자동으로 안전한 것은 아닙니다. JobRepository/ExecutionContext 설정, Reader의 상태 저장 방식, Writer의 부작용과 멱등성까지 실제 구현에 맞춰 설명해야 합니다.