Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

sh.addShardToZone()

Nesta página

  • Definição
  • Comportamento
  • Segurança
  • Exemplo
sh.addShardToZone(shard, zone)

Novidades na versão 3.4: 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.

Importante

Método mongosh

Esta página documenta um método mongosh. Esta não é a documentação de comandos de banco de dados nem drivers específicos de linguagem, como Node.js.

Para o comando do banco de dados, consulte o comando addShardToZone.

Para drivers de API do MongoDB, consulte a documentação do driver do MongoDB específica da linguagem.

Este método tem o seguinte parâmetro:

Parâmetro
Tipo
Descrição
string

O nome do shard ao qual associar a zona.

string

O nome da zona a ser associada ao shard.

Emita sh.addShardToZone() somente quando conectado a uma instância mongos .

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 clusters fragmentados.

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 da chave de fragmento a uma zona, use o método sh.updateZoneKeyRange() .

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

Ao definir as zonas e as faixas de zonas antes de fragmentar uma collection vazia ou não existente, a operação de collection de shards cria chunks para as faixas de zonas definidas, bem como quaisquer chunks adicionais para cobrir todo a faixa dos valores da chave de shard e executa uma distribuição inicial de shards com base nas faixas de zonas. Essa criação e distribuição inicial de chunks permite uma configuração mais rápida da fragmentação por zonas. Após a distribuição inicial, o balancer gerenciará a distribuição de chunks dali para a frente.

Consulte Predefinir zonas e faixas de zona para uma collection vazia ou não existente para ver um exemplo.

Para clusters fragmentados que impõem controle de acesso , você deve autenticar como um usuário cujos privilégios incluam:

  • update na collection shards no banco de dados config ; ou, alternativamente,

  • enableSharding no recurso do cluster .

As roles embutidas clusterAdmin ou clusterManager sh.addShardToZone() as permissões apropriadas para emitir . Consulte a página do manual Controle de acesso baseado em funções para obter mais informações.

O exemplo a seguir adiciona três zonas, NYC, LAX e NRT, associando cada uma a um fragmento:

sh.addShardToZone("shard0000", "JFK")
sh.addShardToZone("shard0001", "LAX")
sh.addShardToZone("shard0002", "NRT")

Um shard pode se associar a várias zonas. O exemplo a seguir associa LGA a shard0000:

sh.addShardToZone("shard0000", "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 .

Voltar

sh.addShardTag