구성 샤드
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 샤드 를 사용하는지 확인하려면 serverStatus
명령을 실행 하고 configServerInShardCache
상태를 확인합니다.
db.adminCommand( { serverStatus: 1, } ).shardingStatistics.configServerInShardCache
true
구성 샤드 ID 문서
Config 서버를 구성 샤드로 식별하려면 admin.system.version
컬렉션의 문서를 검사하세요. 이 예시에서 shardName
은 'config'
로 설정됩니다.
{ _id: 'shardIdentity', shardName: 'config', clusterId: ObjectId("<objectID>"), configsvrConnectionString: '<config server replica set connection string>', }
다음 예제에서는 관리 데이터베이스의 admin.system.version
에서 샤드 ID 문서를 검색합니다 .
use admin db.system.version.find()
출력 추출:
{ _id: 'shardIdentity', shardName: 'config', clusterId: ObjectId("6441bdd6779584849dcac095"), configsvrConnectionString: 'configRepl/localhost:27007' }
명령.
전용 config 서버 를 config 샤드 로 실행 하도록 구성하려면 transitionFromDedicatedConfigServer
명령을 실행 합니다.
전용 config 서버 로 실행 config 샤드 를 구성하려면 transitionToDedicatedConfigServer
명령을 실행 합니다.