moveRange
정의
moveRange
버전 6.0에 추가.
샤드 간에 범위 를 이동합니다. 관리 데이터베이스 를
moveRange
사용하는 동안mongos
인스턴스와 함께 명령을 실행합니다.
구문
명령은 다음과 같은 구문을 가집니다:
db.adminCommand( { moveRange: <namespace>, toShard: <ID of the recipient shard>, min: <min key of the range to move>, // conditional max: <max key of the range to move>, // conditional 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 키 사이에 포함됩니다. | 세 가지 하위 범위를 생성합니다.
|
max
은(는) 지정하되 min
은(는) 지정하지 않음
다음 표에는 max
를 다양한 값으로 설정한 결과가 나열되어 있습니다.
max | 키 범위의 데이터 양 | 결과 |
---|---|---|
100 | 키 x: 0 와 x: 100 사이에 128MB 미만이 포함됩니다. | 범위 내 모든 문서를 수신자 샤드로 이동합니다. |
10 | 키 x: 0 와 x: 100 사이에 128MB 미만이 포함됩니다. | 두 개의 하위 범위를 생성합니다.
|
30 | 128MB가 x: 10 및 x: 30 키 사이에 포함됩니다. | 세 가지 하위 범위를 생성합니다.
|