정의
호환성
이 명령은 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.
- 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>, // conditional max: <max key of the range to move>, // conditional forceJumbo: <bool>, // optional writeConcern: <write concern>, // optional secondaryThrottle: <bool> // optional } )
참고
listShards 명령을 사용하여 수신자 샤드의 ID 조회.
명령 필드
이 명령은 다음 필드를 사용합니다.
필드 | 유형 | 설명 |
|---|---|---|
| 문자열 | 수신자 샤드의 ID입니다. |
| 키 | 이동할 범위의 최소 키입니다.
|
| 키 | 이동할 범위의 최대 키입니다.
|
부울 | 선택 사항. 명령 이 마이그레이션하기에는 너무 큰 범위를 이동할 수 있는지 여부를 결정하는 플래그입니다. 범위는 점보로 표시될 수도 있고 표시되지 않을 수도 있습니다.
기본값은 경고:
이 옵션을 사용하면 청크가 구성된 청크 크기보다 큰 경우에도 샤드 가 청크를 마이그레이션 합니다. 마이그레이션 기간 동안 컬렉션 쓰기를 사용할 수 없습니다. 긴 차단 기간 없이 이러한 큰 청크를 마이그레이션하려면 대신 크기 제한을 초과하는 범위 균형 조정 을 참조하세요. | |
| 문서 | |
| 부울 | 선택 사항.
자세한 내용은 보조 스로틀을 참조하세요. |
범위 마이그레이션 섹션에서는 MongoDB의 샤드 간에 범위가 이동하는 방식을 설명합니다.
고려 사항
다음과 moveRange 같은 시나리오에서만 를 사용하세요.
데이터의 초기 수집
대량 대량 가져오기 작업
대부분의 경우 밸런서가 샤드 cluster에서 범위를 생성하고 균형을 맞출 수 있도록 허용합니다.
예시
다음 예제에서는 다음과 함께 collection을 사용합니다.
샤드 키
x구성된 청크 크기 128MB
경계가 있는 청크:
[x: 0, x: 100)
min 및 max를 모두 지정합니다.
다음 표에는 min 및 max 를 다양한 값으로 설정한 결과가 나열되어 있습니다.
min | max | 결과 |
|---|---|---|
|
| 범위 내 모든 문서를 수신자 샤드로 이동합니다. |
|
| 세 가지 하위 범위를 생성합니다.
|
|
| 두 개의 하위 범위를 생성합니다.
|
|
| 두 개의 하위 범위를 생성합니다.
|
min 은(는) 지정하되 max은(는) 지정하지 않음
다음 표에는 min 를 다양한 값으로 설정한 결과가 나열되어 있습니다.
min | 키 범위의 데이터 양 | 결과 |
|---|---|---|
| 키 | 범위 내 모든 문서를 수신자 샤드로 이동합니다. |
| 키 | 두 개의 하위 범위를 생성합니다.
|
| 128MB가 | 세 가지 하위 범위를 생성합니다.
|
max 은(는) 지정하되 min은(는) 지정하지 않음
다음 표에는 max 를 다양한 값으로 설정한 결과가 나열되어 있습니다.
max | 키 범위의 데이터 양 | 결과 |
|---|---|---|
| 키 | 범위 내 모든 문서를 수신자 샤드로 이동합니다. |
| 키 | 두 개의 하위 범위를 생성합니다.
|
| 128MB가 | 세 가지 하위 범위를 생성합니다.
|