Spring Batch를 사용해 대용량 데이터를 처리할 때 가장 먼저 고민해야 할 것은 데이터를 어떻게 읽을 것인가라고 생각한다.이때 많이 사용되는 두 가지 방식이 바로 Cursor 기반과 Paging 기반인데, 두 방식의 동작 방식, 장단점을 정리해봤다. 1. Cursor 기반JDBC의 ResultSet을 활용하여, DB에서 쿼리 1번으로 결과셋을 열어두고, 그 결과를 한 줄씩 순차적으로 읽는 방식 동작 방식`JdbcCursorItemReader`가 쿼리를 단 1번 실행DB는 결과를 계산한 뒤 커서(cursor) 를 열고 기다림Spring Batch가 `read()`를 호출할 때마다 한 줄씩 커서를 통해 받아옴메모리에는 항상 1~2개의 row만 존재@Beanpublic JdbcCursorItemRea..