moveRange
Definição
moveRange
Novidades na versão 6.0.
Move intervalos entre fragmentos. Execute o comando
moveRange
com uma instância domongos
ao utilizar o banco de banco de dados admin.
Compatibilidade
Esse comando está disponível em implantações hospedadas nos seguintes ambientes:
MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem
Observação
Este comando é aceito em todos os clusters do MongoDB Atlas. Para obter informações sobre o suporte do Atlas a todos os comandos, consulte Comandos não suportados.
MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB
MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB
Sintaxe
O comando tem a seguinte sintaxe:
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 } )
Campos de comando
O comando utiliza os seguintes campos:
Campo | Tipo | Descrição |
---|---|---|
| string | ID do shard do destinatário. |
| chave | Chave mínima do intervalo a ser movido. Obrigatório se você não especificar Se você não especificar
|
| chave | Chave máxima do intervalo a ser movido. Obrigatório se você não especificar Se você não especificar
|
booleano | Opcional. Sinalizador que determina se o comando pode mover um intervalo muito grande para ser migrado. O intervalo pode ou não ser rotulado como jumbo.
O padrão é AVISO: O comando Essa opção faz com que o shard migre chunks mesmo quando eles são maiores do que o tamanho configurado do chunk. A collection permanece indisponível para gravações durante a migração. Para migrar esses grandes blocos sem esse longo período de bloqueio, consulte Intervalos de equilíbrio que excedem o limite de tamanho . | |
| documento | |
| booleano | Opcional.
Para obter mais informações, consulte Acelerador secundário. |
A seção de migração de intervalo descreve como os intervalos se movem entre fragmentos no MongoDB.
Considerações
Utilize o moveRange
somente em cenários como:
uma ingestão inicial de dados
uma grande operação de importação em massa
Permita que o balanceador crie e equilibre intervalos em clusters fragmentados na maioria dos casos.
Exemplos
Os exemplos a seguir usam uma collection com:
chave de fragmento
x
Tamanho do chunk configurado de 128 MB
Um chunk com limites:
[x: 0, x: 100)
Especifique min
e max
A tabela a seguir lista os resultados da configuração de min
e max
para vários valores:
min | max | Resultado |
---|---|---|
|
| Move todos os documentos no intervalo para o fragmento do destinatário. |
|
| Cria três subintervalos:
Move todos os documentos em |
|
| Cria dois subintervalos:
Move todos os documentos em |
|
| Cria dois subintervalos:
Move todos os documentos em |
Especifique,min
mas não max
A tabela a seguir lista os resultados da configuração min
para vários valores:
min | Quantidade de dados no intervalo das chaves | Resultado |
---|---|---|
| Menos de 128 MB contidos entre as chaves | Move todos os documentos no intervalo para o fragmento do destinatário. |
| Menos de 128 MB contidos entre as chaves | Cria dois subintervalos:
Move todos os documentos em |
| 128 MB contidos entre as chaves | Cria três subintervalos:
Move todos os documentos em |
Especifique,max
mas não min
A tabela a seguir lista os resultados da configuração max
para vários valores:
max | Quantidade de dados no intervalo das chaves | Resultado |
---|---|---|
| Menos de 128 MB contidos entre as chaves | Move todos os documentos no intervalo para o fragmento do destinatário. |
| Menos de 128 MB contidos entre as chaves | Cria dois subintervalos:
Move todos os documentos em |
| 128 MB contidos entre as chaves | Cria três subintervalos:
Move todos os documentos em |