addShardToZone
Nesta página
Definição
addShardToZone
Associa um fragmento a umazona . O MongoDB associa este fragmento à zona fornecida. Os chunks cobertos pela zona são atribuídos a shards associados à zona.
Dica
Em
mongosh
, esse comando também pode ser executado por meio do método auxiliarsh.addShardToZone()
.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.
Você só pode executar addShardToZone
no banco de dados admin
a partir de uma instância mongos
.
Sintaxe
O comando tem a seguinte sintaxe:
db.adminCommand( { addShardToZone: <string>, zone: <string> } )
Campos de comando
O comando utiliza os seguintes campos:
mongosh
fornece o método auxiliar sh.addShardToZone()
.
Comportamento
Você pode associar uma zona a vários shards, e um shard pode se associar a várias zonas.
Consulte a página do manual de zonas para obter mais informações sobre zonas em um cluster fragmentado.
Faixas
O MongoDB ignora efetivamente as zonas que não têm pelo menos um intervalo de valores de chave de fragmento associados a ele.
Para associar um intervalo de valores de chave de fragmento a uma zona, use o reconhecimento de data center updateZoneKeyRange
ou o assistente de shell sh.updateZoneKeyRange()
.
A partir do MongoDB 4.0.2, você pode executar o comando de banco de dados do updateZoneKeyRange
e seus auxiliares sh.updateZoneKeyRange()
e sh.addTagRange()
em uma coleção não compartilhada ou uma coleção não existente.
Dica
Alterado na versão 4,0,3: Ao definir as zona e as faixas de zona antes de fragmentar uma collection vazia ou inexistente, a operação de collection de fragmentação cria parte para as faixas de zona definidas, bem como quaisquer parte adicionais para cobrir toda a faixa dos valores da chave de shard e executa um distribuição de parte com base nas faixas de zona. Essa criação e distribuição inicial de parte permite uma configuração mais rápida da fragmentação por zona. Após a distribuição inicial, o balanceador managed a distribuição de parte daqui para frente. Consulte Predefinir zona e faixas de zona para uma Collection vazia ou não existente para obter um exemplo.
Segurança
Para clusters fragmentados que impõem controle de acesso , você deve autenticar como um usuário cujos privilégios incluam:
update
na collectionshards
no banco de dadosconfig
; ou, alternativamente,enableSharding
no recurso do cluster .
As roles embutidas clusterAdmin
ou clusterManager
addShardToZone
as permissões apropriadas para emitir . Consulte a página de documentação do Controle de acesso baseado em funções para obter mais informações.
Exemplo
O exemplo a seguir associa shard0000
à zona JFK
:
db.adminCommand( { addShardToZone : "shard0000" , zone : "JFK" } )
Um shard pode se associar a várias zonas. O exemplo a seguir associa LGA
a shard0000
:
db.adminCommand( { addShardToZone : "shard0000" , zone : "LGA" } )
shard0000
associa-se à zona LGA
e à zona JFK
. Em um cluster balanceado, o MongoDB roteia as leituras e gravações cobertas por qualquer zona para shard0000
.