배치 프로세스 개념과 아키텍처
7. 정리
- 배치는 요청 1건이 아니라 데이터 전체를, 사람이 없는 시간에, 자동으로 처리한다. 관심사는 지연 시간이 아니라 처리량·메모리·재시작·멱등성이다.
- Reader 는 한 건씩(메모리), Writer 는 묶음으로(I/O 효율). 그 사이의 묶음이 청크이고, 청크가 곧 커밋 단위다.
- Job ⊃ Step ⊃ Chunk. Step 은 순서대로 실행되고 하나가 실패하면 Job 은 중단된다. 이 구조는 Spring Batch 와 1:1 로 대응한다.
- 실행 메타데이터(시각, 건수, 상태, 메시지)는 record 로 남긴다. 기록이 없는 배치는 새벽에 죽으면 아침에 복구할 수 없다.
- 새 배치를 만들기 전 체크리스트 10개(입력 크기, 청크, 재시작, 멱등성, 스킵, 재시도, 시간 창, 기록, 이중 실행, 형식)에 답한다.
다음 레슨 02. 파일 I/O 에서는 Reader 와 Writer 의 실제 구현체가 다루는 파일 입출력을 깊이 봅니다. 버퍼링이 왜 100배 빠른지, readAllLines 가 왜 위험한지, 100만 행 벤치마크로 직접 확인합니다.