파티셔닝·인덱스 전략·읽기/쓰기 분리로 대용량 트래픽 환경 DB 설계 결
대용량 트래픽 환경의 DB 설계에서 가장 중점을 두는 것은 파티셔닝 전략입니다. 시간 기반 데이터는 날짜 범위 파티션을 사용하면 쿼리 시 스캔 범위를 줄일 수 있고, 오래된 데이터를 아카이빙하는 작업도 파티션 단위로 처리할 수 있습니다.
인덱스 설계는 읽기 패턴을 먼저 파악하는 것에서 시작합니다. 자주 쓰이는 필터·정렬 조건을 분석해 복합 인덱스를 구성하되, 인덱스가 많아질수록 쓰기 성능이 저하되기 때문에 필요한 것만 선택적으로 추가했습니다.
읽기/쓰기 부하가 함께 높은 경우에는 DB 복제 구조를 적용했습니다. 레플리카로 읽기 트래픽을 분산하고 메인 DB는 쓰기에 집중하도록 구성하니 피크 시간대 응답 지연이 눈에 띄게 줄었고 처리량도 늘었습니다.