Definição
moveRangeNovidades na versão 6.0.
Move intervalos entre fragmentos. Execute o comando
moveRangecom uma instância domongosao utilizar o banco de banco de dados admin.Dica
Em
mongosh, esse comando também pode ser executado por meio do método auxiliarsh.moveRange().Os métodos auxiliares são práticos para os usuários
mongosh, mas podem não retornar o mesmo nível de informações que os comandos do banco de dados. Nos casos em que a praticidade não for necessária ou os campos de retorno adicionais forem necessários, use o comando de banco de dados.
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 writeConcern: <write concern>, // optional secondaryThrottle: <bool> // optional } )
Observação
Use o comando listShards para recuperar o ID do shard do destinatário.
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
xTamanho 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 |