구성 샤드
MongoDB 8.0 부터는 일반적인 샤딩된 클러스터 메타데이터 외에 애플리케이션 데이터를 저장 하도록 config 서버 를 구성할 수 있습니다. config 서버 와 샤드 서버 기능을 모두 제공하는 mongod
노드 를 config 샤드 라고 합니다. 샤드 서버 기능 없이 독립형 --configsvr
로 실행되는 mongod
노드 를 전용 config 서버 라고 합니다.
샤딩된 클러스터 에는 config 서버 가 있어야 하지만, config 샤드 (내장된 config 서버) 또는 전용 config 서버 일 수 있습니다. config 샤드 를 사용하면 필요한 노드 수가 줄어들고 배포서버 가 간소화될 수 있습니다. config 샤드 클러스터 는 임베디드 config 서버 클러스터 라고도 합니다. 여러 샤딩된 클러스터에 동일한 config 서버 를 사용할 수 없습니다.
사용 사례
클러스터 에 3개 이하의 샤드가 있는 경우 config 샤드 사용을 고려할 수 있습니다.
애플리케이션 에 까다로운 가용성 및 복원력 요구 사항이 있는 경우 전용 config 서버 를 배포하는 것이 좋습니다. 전용 config 서버 는 중요한 클러스터 작업을 위한 격리, 전용 리소스 및 일관적인 성능을 제공합니다.
다음 조건 중 하나 이상을 충족하는 경우 전용 config 서버 를 사용해야 합니다.
3개 이상의 샤드를 사용할 계획입니다.
Time series 컬렉션 또는 Queryable Encryption 컬렉션을 사용할 계획입니다.
쿼리 가능 백업 (온프레미스)을 사용할 계획입니다.
행동
내장된 config 서버 클러스터 에서는 config 샤드 가 클러스터 메타데이터 와 사용자 데이터를 저장 하는 데 사용됩니다. 샤딩된 클러스터 배포서버 의 복잡성을 줄이는 데 도움이 됩니다.
샤딩된 컬렉션 데이터와 샤딩된 되지 않은 컬렉션 데이터를 구성 샤드 에 저장 수 있습니다. config 서버 역할을 할 뿐만 아니라 샤드 의 모든 속성을 가지고 있습니다.
구성 샤드 사용 확인
샤드 샤딩된 클러스터 가 config 샤드 를 사용하는지 listShards
확인하려면 에 연결된 상태에서 admin
데이터베이스 에 대해 mongos
명령을 실행 _id
하고 "config"
가 로 설정하다 listShards
문서 의 출력을 검사합니다. 출력에 _id
로 설정하다 문서 가 포함되어 있지 않으면 "config"
클러스터 는 구성 샤드 를 사용하지 않습니다.
다음 예시 에서는 listShards
명령을 실행하고 _id
이 "config"
로 설정하다 문서 를 찾습니다.
db.adminCommand({ listShards: 1 })["shards"].find(element => element._id === "config")
이 예시 에서 반환 문서 에는 _id
이(가) "config"
(으)로 설정하다 되어 있어 이 클러스터 가 구성 샤드 를 사용하고 있음을 확인합니다.
{ _id: "config", host: "configRepl/localhost:27018", state: 1, topologyTime: Timestamp({ t: 1732218671, i: 13 }), replSetConfigVersion: Long('-1') }
명령.
전용 config 서버 를 config 샤드 로 실행 하도록 구성하려면 transitionFromDedicatedConfigServer
명령을 실행 합니다.
전용 config 서버 로 실행 config 샤드 를 구성하려면 transitionToDedicatedConfigServer
명령을 실행 합니다.