sh.addTagRange()
정의
sh.addTagRange(namespace, minimum, maximum, tag)
참고
이 메서드의 별칭은
sh.updateZoneKeyRange()
입니다. MongoDB 는 태그 인식 샤딩 의 후속 제품으로 구역 샤딩 을 제공합니다.sh.addShardTag()
메서드를 사용하여 생성된 샤드 태그에 샤드 키 값 범위를 연결합니다.updateZoneKeyRange
데이터베이스 명령 과 해당 헬퍼sh.updateZoneKeyRange()
및sh.addTagRange()
를 샤딩되지 않은 컬렉션 또는 존재하지 않는 컬렉션 에서 실행 수 있습니다.sh.addTagRange()
다음 인수를 사용합니다.Parameter유형설명namespace
문자열태그를 지정할 샤드 collection의 네임스페이스 입니다.minimum
문서The minimum value of the shard key range to include in the tag. 최소값은 포괄적 일치입니다. Specify the minimum value in the form of<fieldname>:<value>
. 이 값은 샤드 키와 동일한 BSON types여야 합니다.maximum
문서태그에 포함할 샤드 키 범위의 최대값입니다. 최대값은 독점 일치입니다.<fieldname>:<value>
형식으로 최대값을 지정합니다. 이 값은 샤드 키와 동일한 BSON types여야 합니다.tag
문자열minimum
및maximum
인수로 지정된 범위를 연결할 태그의 이름입니다.sh.addShardTag()
를 사용하여 밸런서가 지정된 범위 내에 존재하는 문서를 특정 샤드 또는 샤드 세트로 마이그레이션하도록 합니다.sh.addTagRange()
인스턴스에 연결된 경우에만 를 실행합니다.mongos
행동
바운드
구역 범위는 항상 하한 경계를 포함하고 상한 경계를 제외합니다.
비어 있거나 존재하지 않는 컬렉션에 대한 초기 청크 배포
비어 있거나 존재하지 않는 컬렉션 에 대해 구역 샤딩 을 수행하려는 경우, 컬렉션 을 샤딩 하기 전에 를 사용하여 구역 sh.addTagRange()
및 구역 범위를 생성합니다. 비어 있거나 존재하지 않는 컬렉션에 구역 및 구역 범위를 생성하면 MongoDB 가 컬렉션 을 샤딩 할 때 초기 청크 생성 및 배포 프로세스 를 최적화할 수 있습니다. 이 최적화된 프로세스 는 샤딩 후 구역을 생성하는 것보다 밸런서 오버헤드 가 적으면서 구역 샤딩 을 더 빠르게 설정 수 있도록 지원합니다. 밸런서 는 최적화된 초기 청크 생성 및 배포 후 모든 청크 관리 를 수행합니다.
초기 청크 배포를 위한 구역 및 구역 범위를 정의하는 예 는 비어 있거나 존재하지 않는 collection에 대한 구역 및 구역 범위 사전 정의를 참조하세요.
복합 해시 샤드 키를 사용한 초기 청크 배포
MongoDB는 복합 해시 인덱스 에서 컬렉션 샤딩을 지원합니다. MongoDB는 복합 해시 샤드 키에서 비어 있거나 존재하지 않는 컬렉션을 샤딩할 때 최적화된 초기 청크 생성 및 배포를 수행할 수 있습니다.
해시된 필드가 샤드 키의 접두사(즉, 샤드 키의 첫 번째 필드)인 경우, MongoDB가 초기 청크 생성 및 배포를 수행하려면 다음 사항이 모두 충족되어야 합니다.
컬렉션에는 모든 하한 필드에 대해
MinKey
이고 모든 상한 필드에 대해MaxKey
인 단일 구역 범위가 있습니다.sh.shardCollection()
는 presplitHashedZones: true 옵션을 지정합니다.
해시 된 필드 가 샤드 키 의 접두사가 아닌 경우(즉, 샤드 키 에 해시되지 않은 선행 필드가 하나 이상 있는 경우) MongoDB 가 초기 청크 생성 및 배포를 수행하려면 다음 사항이 모두 충족되어야 합니다.
컬렉션에는 고유한 접두사 필드 값의 각 조합에 대해 하나의 구역 범위가 있습니다(예: 해시된 필드 앞에 오는 모든 필드).
각 구역 범위 의 하한에 대해 해시 필드 와 모든 후속 필드에 대해
MinKey
를 지정합니다.각 구역 범위에 대해 하나 이상의 상한 접두사 필드는 하한 접두사 필드와 달라야 합니다 .
sh.shardCollection()
는 presplitHashedZones: true 옵션을 지정합니다.
복합 해시 샤드 키의 초기 청크 배포를 위한 구역 및 구역 범위를 정의하는 더 완전한 예시 는 비어 있거나 존재하지 않는 컬렉션에 대한 구역 및 구역 범위 사전 정의를 참조하세요.
삭제된 컬렉션
컬렉션을 제거하면 관련된 영역/태그 범위가 삭제됩니다.
이전 버전에서는 MongoDB가 삭제된 컬렉션에 대한 태그 연결을 제거하지 않았으며, 나중에 같은 이름으로 새 컬렉션을 만들면 이전 태그 연결이 새 컬렉션에 적용됩니다.
예시
샤드 키가 {state: 1, zip: 1}
주어지면 다음 작업은 뉴욕주의 우편번호를 포함하는 태그 범위를 생성합니다.
sh.addTagRange( "exampledb.collection", { state: "NY", zip: MinKey }, { state: "NY", zip: MaxKey }, "NY" )