목록 보기
Amazon DocumentDB 인덱스 최적화로 미리캔버스의 쿼리 성능을 개선 사례
백엔드

Amazon DocumentDB 인덱스 최적화로 미리캔버스의 쿼리 성능을 개선 사례

AWS
AWS
2026년 4월 22일

두줄요약

Amazon DocumentDB 전환 후 발생한 인덱스와 쿼리 성능 문제를 실제 사례로 정리했습니다. explain, profiler, 인덱스 재설계와 쿼리 변경으로 성능을 개선했습니다.

문제 상황

  • MongoDB Atlas에서 Amazon DocumentDB로 전환한 뒤, 동일한 쿼리와 인덱스가 기대와 다르게 동작하는 성능 이슈 발생
  • 부분 인덱스, $or/$in 정렬, 정규식, 단일 문서 쓰기 경합 등에서 쿼리 지연과 쓰기 지연 확인

원인 분석

  • Amazon DocumentDB의 Query Planner가 MongoDB와 달라 동일한 인덱스 전략이 그대로 통하지 않음
  • partial index는 쿼리 필터와 정확히 일치해야 하며, SORT_MERGE 미지원으로 $or + sort 패턴이 비효율화
  • MVCC 기반 구조에서 hot document, 통계 워밍 부족, GC 동작 등이 성능에 영향

해결 방법

  • partial index 대신 일반 복합 인덱스 사용 또는 partialFilterExpression을 쿼리 패턴에 맞게 재설계
  • $or 쿼리 분리 후 애플리케이션 레벨 병합, regex를 range 쿼리로 변환해 IXSCAN 유도
  • $inc 집중을 Redis로 분산하고, explain()과 profiler로 실제 실행 계획과 느린 쿼리를 지속 점검

적용해볼 점

  • 전환 직후 모든 주요 쿼리에 대해 explain() 재검증
  • hot document, 불필요한 정렬/필터, 샤드키 잔재 조건 점검
  • MVCC ID, GC, 캐시 히트율, IO 비용을 함께 모니터링

다음 읽기

#Amazon DocumentDB 주제를 다룬 다른 회사 글

Amazon DocumentDB 인덱스 최적화로 미리캔버스의 쿼리 성능을 개선 사례

Amazon DocumentDB로 전환하며 발생한 인덱스와 쿼리 성능 문제를 여러 사례로 정리했습니다. 쿼리 플래너 차이와 운영 포인트까지 함께 다뤘습니다.

미리디
미리디
백엔드

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...