API 수집 제한 처리 + 원본·집계 레이어 분리 + 배치 처리 병목 분리 + 집계 저장 캐시 경험
수업 팀 프로젝트에서 SNS 게시물 수백만 건을 분석하는 시스템을 처음 구축해봤습니다. 수집 측면에서는 API 속도 제한과 중복 데이터를 어떻게 처리할지가 첫 번째 설계 문제였습니다. 저장 측면에서는 전체 원본을 보관하면서 분석용 집계 테이블을 별도로 유지하는 구조를 만들어서 분석 쿼리가 원본을 직접 건드리지 않도록 했습니다. 연산 측면에서는 전처리 과정에서 병목이 생기는 단계를 찾아서 배치 처리로 분리하는 방식을 배웠습니다. 시각화 측면에서는 집계 결과를 저장해두면 대시보드 로딩 속도가 크게 달라지는 걸 직접 확인했습니다. 대용량 시스템에서 중요한 건 성능 문제가 생기기 전에 어디서 생길지를 예측하고 설계에 반영하는 것이라는 걸 경험했습니다.
데이터 기반 시스템은 데이터 크기보다 언제 어떻게 접근하느냐의 패턴이 설계를 결정한다는 걸 그때 배웠습니다.