moveRange
정의
moveRange
버전 6.0에 추가.
샤드 간에 범위 를 이동합니다. 관리 데이터베이스 를 사용하는
moveRange
동안 인스턴스 와 함께mongos
명령을 실행합니다.
호환성
이 명령은 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.
MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스
참고
이 명령은 모든 MongoDB Atlas 클러스터에서 지원됩니다. 모든 명령에 대한 Atlas 지원에 대한 자세한 내용은 지원되지 않는 명령을 참조하세요.
MongoDB Enterprise: MongoDB의 구독 기반 자체 관리 버전
MongoDB Community: MongoDB의 소스 사용 가능 무료 자체 관리 버전
구문
명령은 다음과 같은 구문을 가집니다:
db.adminCommand( { moveRange: <namespace>, toShard: <ID of the recipient shard>, min: <min key of the range to move>, max: <max key of the range to move>, // optional forceJumbo: <bool>, // optional waitForDelete: <bool>, // optional writeConcern: <write concern>, // optional secondaryThrottle: <bool> // optional } )
명령 필드
이 명령은 다음 필드를 사용합니다.
필드 | 유형 | 설명 |
---|---|---|
toShard | 문자열 | 수신자 샤드의 ID입니다. |
min | 키 | 이동할 범위의 최소 키입니다. |
max | 키 | 선택 사항. 이동할 범위의 최대 키입니다.
|
부울 | 선택 사항. 명령 이 마이그레이션하기에는 너무 큰 범위를 이동할 수 있는지 여부를 결정하는 플래그입니다. 범위는 점보로 표시될 수도 있고 표시되지 않을 수도 있습니다.
기본값은 경고:
이 옵션을 사용하면 청크가 구성된 청크 크기보다 큰 경우에도 샤드가 청크를 마이그레이션합니다. 마이그레이션 기간 동안 컬렉션을 사용할 수 없습니다. 긴 차단 기간 없이 이러한 큰 청크를 마이그레이션하려면 대신 크기 제한을 초과하는 범위 균형 조정 을 참조하세요. | |
writeConcern | 문서 | |
secondaryThrottle | 부울 | 선택 사항.
자세한 내용은 보조 스로틀을 참조하세요. |
범위 마이그레이션 섹션에서는 MongoDB의 샤드 간에 범위가 이동하는 방식을 설명합니다.
고려 사항
다음과 같은 시나리오에서만 moveRange
을(를) 사용하세요.
데이터의 초기 수집
대량 대량 가져오기 작업
대부분의 경우 밸런서가 샤드 cluster에서 범위를 생성하고 균형을 맞출 수 있도록 허용합니다.
예시
다음 예제에서는 다음과 함께 collection을 사용합니다.
샤드 키
x
구성된 청크 크기 128MB
경계가 있는 청크:
[x: 0, x: 100)
및 를 모두 지정합니다.min
max
다음 표에는 min
및 max
를 다양한 값으로 설정한 결과가 나열되어 있습니다.
min | max | 결과 |
---|---|---|
0 | 100 | 범위 내 모든 문서를 수신자 샤드로 이동합니다. |
10 | 30 | 세 가지 하위 범위를 생성합니다.
|
0 | 20 | 두 개의 하위 범위를 생성합니다.
|
40 | 100 | 두 개의 하위 범위를 생성합니다.
|
은(는) 지정하되 은(는) 지정하지 않음 min
max
다음 표에는 min
를 다양한 값으로 설정한 결과가 나열되어 있습니다.
min | 키 범위의 데이터 양 | 결과 |
---|---|---|
0 | 키 x: 0 와 x: 100 사이에 128MB 미만이 포함됩니다. | 범위 내 모든 문서를 수신자 샤드로 이동합니다. |
10 | 키 x: 0 와 x: 100 사이에 128MB 미만이 포함됩니다. | 두 개의 하위 범위를 생성합니다.
|
10 | 128MB가 x: 10 및 x: 30 키 사이에 포함됩니다. | 세 가지 하위 범위를 생성합니다.
|