대용량 처리 병목을 직접 튜닝한 경험 결
졸업 프로젝트에서 공공 교통 데이터를 처리하는 파이프라인을 만들었습니다. 하루치 데이터가 약 100만 행이었는데, 처음에는 pandas로 한 번에 불러와서 처리했더니 메모리 오류가 났습니다.
chunksize로 1만 행씩 나눠서 읽고 처리하는 방식으로 바꿨더니 안정적으로 돌아갔습니다. 그 뒤로 한 달치 데이터를 처리해야 할 때 단순히 30배를 반복했는데 시간이 너무 오래 걸렸습니다. 날짜별로 병렬 처리하도록 바꿨더니 4코어 기준으로 처리 시간이 약 60% 줄었습니다.
대규모라고 할 수준은 아니었지만, 데이터 크기가 커지면 메모리와 처리 방식을 같이 설계해야 한다는 걸 그때 처음 실감했습니다. 단순히 코드를 짜는 게 아니라 어떤 순서로 얼마씩 처리할지가 설계의 핵심이라는 감각이 생겼습니다.