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

sh.addTagRange()

Nesta página

  • Definição
  • Compatibilidade
  • Comportamento
  • Exemplo
sh.addTagRange(namespace, minimum, maximum, tag)

Observação

Este método faz aliases para sh.updateZoneKeyRange(). O MongoDB fornece fragmentação de zona como sucessora da fragmentação com reconhecimento de tags.

Anexa um intervalo de valores chave de fragmento a uma tag de fragmento criada usando o método sh.addShardTag() .

Você pode executar o comando de banco de dados 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.

sh.addTagRange() recebe os seguintes argumentos:

Parâmetro
Tipo
Descrição

namespace

string

O namespace da collection fragmentada a ser marcada.

minimum

documento

O valor mínimo da faixa da chave de shard a ser incluída na tag. O mínimo é uma correspondência inclusiva. Especifique o valor mínimo na forma de <fieldname>:<value>. Esse valor deve ser do mesmo tipo ou tipos de BSON que a chave de fragmento.

maximum

documento

O valor máximo do intervalo da chave de fragmento a ser incluído na tag. O máximo é uma correspondência exclusiva. Especifique o valor máximo na forma de <fieldname>:<value>. Esse valor deve ser do mesmo tipo ou tipos de BSON que a chave de fragmento.

tag

string

O nome da tag à qual anexar o intervalo especificado pelos argumentos minimum e maximum .

Use sh.addShardTag() para garantir que o balanceador migre os documentos que existem dentro do intervalo especificado para um fragmento ou conjunto de fragmentos específico.

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

Esse método 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 clusters M0, M2 e M5 . 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

As faixas de zona estão sempre inclusas no limite inferior e exclusivas do limite superior.

Se você estiver considerando realizar a fragmentação de zona em uma collection vazia ou inexistente, use sh.addTagRange() para criar as zonas e as faixas de zona antes de fragmentar a collection. A criação de zonas e faixas de zona em collections vazias ou inexistentes permite que o MongoDB otimize o processo inicial de criação e distribuição de chunks ao fragmentar a collection. Esse processo otimizado permite uma configuração mais rápida da fragmentação por zonas com menos sobrecarga do balanceador do que a criação de zonas após a fragmentação. O balanceador executa todo o gerenciamento de blocos após a criação e distribuição otimizadas do bloco inicial.

Para obter um exemplo de definição de zona e zona para distribuição inicial de parte, consulte Predefinir zona e zona para uma Collection vazia ou não existente.

O MongoDB oferece suporte a collections de fragmentação em índices com hash compostos. O MongoDB pode executar a criação e a distribuição otimizadas do chunk inicial ao fragmentar a collection vazia ou inexistente em uma chave shard com hash composto.

Se o campo com hash for o prefixo da chave de fragmento (ou seja, o primeiro campo na chave de fragmento), todos os itens a seguir deverão ser verdadeiros para que o MongoDB execute a criação e a distribuição inicial do chunk:

Se o campo hashed não for o prefixo da chave de shard (ou seja, a chave de shard tem um ou mais campos principais não hasheados), todos os itens a seguir deverão ser verdadeiros para que o MongoDB execute a criação e a distribuição inicial do chunk:

  • A coleção tem uma faixa de zona para cada combinação de valores de campo de prefixo distintos (ou seja, todos os campos que precedem o campo hashed).

  • Para o limite inferior de cada faixa de zona , especifique MinKey para o campo hashed e todos os campos subsequentes.

  • Para cada faixa de zona, pelo menos um campo de prefixo de limite superior deve diferir de sua contraparte de limite inferior.

  • sh.shardCollection() especifica a opção presplitHashedZones: true .

Para obter um exemplo mais completo da definição de zona e zona para a distribuição inicial de parte em uma chave de fragmento com hash, consulte Pre-definir zona e zona para uma Collection vazia ou não existente.

A eliminação de uma coleção exclui seus intervalos de zonas/tags associados.

Nas versões anteriores, o MongoDB não remove as associações de tags para uma collection descartada e, se posteriormente você criar uma nova collection com o mesmo nome, as associações de tags antigas serão aplicadas à nova collection.

Com uma chave de shard de {state: 1, zip: 1}, a operação a seguir cria um intervalo de tags que cobre os códigos postais no estado de Nova York:

sh.addTagRange( "exampledb.collection",
{ state: "NY", zip: MinKey },
{ state: "NY", zip: MaxKey },
"NY"
)

Voltar

sh.addShardToZone