Enterprise Infrastructure Intelligence ● Certified engineers online · Fast response guaranteed
웹서버/DB

MongoDB 샤드 클러스터의 구조와 작동 원리

MongoDB 샤드 클러스터는 데이터를 여러 샤드에 분산하여 대규모 데이터셋과 높은 처리량을 처리하는 아키텍처입니다. mongos 라우터, 설정 서버(Config Server), 여러 샤드 레플리카셋으로 구성되며, 쿼리 라우팅과 메타데이터 관리를 통해 투명한 데이터 분산을 실현합니다.

2026.09.19  ·  21회  · 

샤드 클러스터의 핵심 아키텍처

MongoDB 샤드 클러스터는 세 가지 주요 컴포넌트로 구성됩니다. 샤드(Shard)는 각각 레플리카셋으로 배포되며 샤드된 데이터의 부분집합을 보유합니다. mongos는 쿼리 라우터 역할을 하며 클라이언트 애플리케이션과 샤드 클러스터 사이의 인터페이스를 제공합니다. 설정 서버(Config Servers)는 클러스터의 메타데이터와 설정을 저장하며 반드시 레플리카셋(CSRS)으로 배포되어야 합니다.

쿼리 라우팅 및 데이터 배치 메커니즘

mongos는 클라이언트 요청을 받으면 설정 서버에 문의하여 필요한 데이터를 보유한 샤드를 파악한 후 해당 샤드로 쿼리를 전달합니다. 쿼리에 샤드 키가 포함되면 mongos는 특정 샤드나 샤드 세트를 대상으로 지정하여 모든 샤드에 브로드캐스팅하는 것보다 효율적으로 동작합니다. 데이터는 샤드 키의 범위에 따라 청크 단위로 분산되며, MongoDB 클러스터의 자동 밸런서가 샤드 간 균등한 데이터 분배를 유지합니다.

프로덕션 환경의 실무 주의점

프로덕션 배포 시에는 설정 서버와 각 샤드를 최소 3개의 데이터 센터에 분산 배치하여 고가용성을 확보해야 합니다. 여러 mongos 인스턴스 사용 시 로드 밸런서를 클라이언트 친화성(Client Affinity)으로 설정하여 단일 클라이언트의 연결이 동일한 mongos에 도달하도록 해야 합니다. 또한 샤드 키 선택이 데이터 분배와 성능에 직결되므로, 높은 카디널리티와 고르게 분포된 빈도를 가진 필드를 선택하는 것이 중요합니다. 단조 증가하는 타임스탬프 같은 필드를 샤드 키로 사용하면 데이터가 한 샤드에 집중되는 핫스팟 문제가 발생할 수 있습니다.

참고 출처: MongoDB
WIKIDATA WORKSTATION
AI·렌더링에 최적화된
전문가용 워크스테이션
NVIDIA RTX GPU · 최대 192GB 메모리 · ECC 지원