sh.addShardToZone()
정의
sh.addShardToZone(shard, zone)
샤드 를 구역 과 연결합니다. MongoDB 는 이 샤드 를 지정된 구역 과 연결합니다. 구역 에 포함되는 청크는 구역 과 관련된 샤드에 할당됩니다.
중요
Mongo쉬 방법
이 페이지에서는
mongosh
메서드를 설명합니다. 이는 데이터베이스 명령 또는 Node.js와 같은 언어별 드라이버에 대한 설명서가 아닙니다.데이터베이스 명령에 대해서는
addShardToZone
명령을 참조하십시오.MongoDB API 드라이버의 경우 언어별 MongoDB 드라이버 설명서를 참조하세요.
이 메서드에는 다음과 같은 매개변수가 있습니다.
Parameter유형설명문자열문자열sh.addShardToZone()
인스턴스에 연결된 경우에만 를 실행합니다.mongos
호환성
이 메서드는 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.
MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스
중요
이 명령은 M0, M2 및 M5 클러스터에서 지원되지 않습니다. 자세한 내용은 지원되지 않는 명령을 참조하세요.
MongoDB Enterprise: MongoDB의 구독 기반 자체 관리 버전
MongoDB Community: MongoDB의 소스 사용 가능 무료 자체 관리 버전
행동
구역을 여러 샤드와 연결할 수 있으며, 하나의 샤드가 여러 구역과 연결할 수 있습니다.
샤드 클러스터의 구역에 대한 자세한 내용은 구역 매뉴얼 페이지를 참조하세요.
범위
MongoDB는 하나 이상의 샤드 키 값 범위와 연결되지 않은 구역을 효과적으로 무시합니다.
샤드 키 값 범위를 구역과 연결하려면 sh.updateZoneKeyRange()
메서드를 사용합니다.
updateZoneKeyRange
데이터베이스 명령과 해당 헬퍼 sh.updateZoneKeyRange()
및 sh.addTagRange()
를 비샤드형 컬렉션 또는 존재하지 않는 컬렉션에서 실행할 수 있습니다.
팁
샤드 컬렉션 작업은 비어 있거나 존재하지 않는 컬렉션을 샤딩하기 전에 구역 및 구역 범위를 정의하여 정의된 구역 범위에 대한 청크와 샤드 키 값의 전체 범위를 포함하는 추가 청크를 생성하고 그역 범위를 기반으로 초기 청크 분배를 수행합니다. 이러한 청크의 초기 생성 및 배포를 통해 샤딩을 더 빠르게 설정할 수 있습니다. 초기 분배 이후에는 밸런서가 앞으로의 청크 분배를 관리합니다.
예를 보려면 비어 있거나 존재하지 않는 컬렉션에 대한 구역 및 구역 범위 사전 정의를 참조하세요.
보안
액세스 제어 를 적용하는 샤드 cluster의 경우 다음 중 하나의 권한을 가진 사용자로 인증해야 합니다.
update
config
데이터베이스의shards
collection에 대한 , 또는,enableSharding
클러스터 리소스의 .
clusterAdmin
또는 clusterManager
기본 제공 역할에는 sh.addShardToZone()
발급에 적합한 권한이 있습니다. 자세한 내용은 역할 기반 액세스 제어 매뉴얼 페이지를 참조하세요.
예시
다음 예제에서는 NYC
, LAX
및 NRT
세 개의 구역을 추가하여 각각을 샤드에 연결합니다.
sh.addShardToZone("shard0000", "JFK") sh.addShardToZone("shard0001", "LAX") sh.addShardToZone("shard0002", "NRT")
샤드는 여러 구역과 연결할 수 있습니다. 다음 예에서는 LGA
을 shard0000
에 연결합니다.
sh.addShardToZone("shard0000", "LGA")
shard0000
LGA
구역 및 JFK
구역과 모두 연결됩니다. 균형 잡힌 cluster에서 MongoDB는 두 구역 중 하나에 포함되는 읽기 및 쓰기를 shard0000
으로 라우팅합니다.