청크 단위 처리 + Parquet 저장 + 인덱스 기반 필터 + 중간 집계 캐시 경험
졸업 프로젝트에서 수십만 건 이상의 로그 데이터를 분석하는 작업을 처음 해봤습니다. 처음엔 pandas로 전체 파일을 메모리에 올렸는데, 데이터 크기가 커지면서 메모리가 부족해지는 문제를 경험했습니다. 이후에는 청크 단위로 파일을 나눠서 처리하는 방식으로 바꿨고, 메모리 사용량이 크게 줄었습니다. 저장 측면에서는 Parquet 형식으로 저장하면 CSV보다 읽기 속도가 빠르고 용량이 줄어드는 걸 경험했습니다. 연산 측면에서는 반복적인 필터 조건을 컬럼 인덱스 기반으로 처리하는 방식이 전체 탐색보다 훨씬 빠르다는 걸 배웠습니다. 시각화에서는 집계된 결과를 중간에 저장해두는 것이 매번 재계산하지 않아도 되는 구조를 만들어줬습니다.
대용량 데이터 처리는 코드보다 데이터를 어떻게 나누고 저장하느냐의 구조 문제라는 걸 그때 배웠습니다.