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

addShardToZone

Nesta página

  • Definição
  • Compatibilidade
  • Sintaxe
  • Comportamento
  • Segurança
  • Exemplo
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 auxiliar sh.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 .

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

Importante

Este comando não é suportado em instâncias sem servidor. Para obter mais informações, 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

O comando tem a seguinte sintaxe:

db.adminCommand(
{
addShardToZone: <string>,
zone: <string>
}
)

O comando utiliza os seguintes campos:

Campo
Tipo
Descrição
string

O nome do fragmento a ser associado à zona.

string

O nome da zona a ser associada ao shard.

mongosh fornece o método auxiliar sh.addShardToZone().

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.

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() .

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:

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.

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 .

Voltar

addShard