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

configureCollectionBalancing

Nesta página

  • Definição
  • Compatibilidade
  • Sintaxe
  • Comportamento
  • Exemplos
configureCollectionBalancing

Novidades na versão 5.3.

Configura as configurações do balanceador para uma collection fragmentada, como definir o tamanho da parte e desfragmentar a collection.

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 é suportado em todos os clusters do MongoDB Atlas. Para obter informações sobre todos os comandos, consulte Comandos sem suporte.

  • 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(
{
configureCollectionBalancing: "<db>.<collection>",
chunkSize: <num>,
defragmentCollection: <bool>
enableAutoMerger: <bool>
}
)

configureCollectionBalancing tem os seguintes campos:

Campo
Tipo
necessidade
Descrição
configureCollectionBalancing
string
Obrigatório
O nome do reconhecimento de data center e da collection fragmentada para configurar.
chunkSize
inteiro
Opcional
Define o tamanho do bloco em MiB para a coleção. O tamanho recomendado é 256, 512 ou maior. Para obter detalhes sobre o comportamento padrão, consulte Comportamento padrão quando chunkSize não é especificado.
defragmentCollection
booleano
Opcional
Faz com que o balanceador desfragmente a collection. Padrão é false.
enableAutoMerger
booleano
Opcional
Se o AutoMerger leva ou não em consideração essa collection. O padrão é true.

Para obter mais informações, consulte Partição de dados com parte.

Para configurar o parâmetro de tempo de estrangulamento de desfragmentação de parte, consulte chunkDefragmentationThrottlingMS.

Para saber mais sobre como desfragmentar coleções fragmentadas, consulte Desfragmentar coleções fragmentadas.

Se você não especificar chunkSize para uma collection e nenhum tamanho personalizado tiver sido definido anteriormente, o padrão global chunkSize será usado para o balanceamento.

Se você usar configureCollectionBalancing com chunkSize: 0, o chunkSize por coleção será redefinido e o padrão global chunkSize será no para balanceamento.

Para obter mais informações sobre como configurar o padrão chunkSize, consulte Modificar o tamanho do intervalo em um cluster fragmentado.

Se você não especificar enableAutoMerger para uma collection e nenhum comportamento de mesclagem automática personalizado tiver sido definido anteriormente, o padrão será true e será levado em conta pelo AutoMerger.

Para alterar o tamanho da parte de uma collection fragmentada, use a opção chunkSize :

db.adminCommand( {
configureCollectionBalancing: "test.students",
chunkSize: 256
} )

Use este comando para alterar o tamanho da parte para a collection fornecida.

Aviso

Por padrão, o MongoDB não poderá mover um chunk se o número de documentos no chunk for maior que 2 vezes o resultado da divisão do tamanho do chunk configurado pelo tamanho médio do documento .

Para localizar o tamanho médio do documento, consulte o campo avgObjSize na saída do método db.collection.stats() .

Para obter mais informações, consulte Tamanho do intervalo.

Aviso

Não recomendamos usar defragmentCollection para desfragmentar collection fragmentadas para MongoDB 6.0.0 a 6.0.3 e MongoDB 6.1.0 a 6.1.1, pois o processo de desfragmentação nessas versões pode tornar reconhecimento de data center e collection indisponíveis por longos períodos de tempo.

Para instruir o balanceador a desfragmentar uma collection fragmentada, use a opção defragmentCollection :

db.adminCommand( {
configureCollectionBalancing: "test.students",
defragmentCollection: true
} )

Use este comando para que o balanceador desfragmente uma collection fragmentada. To monitor the chunk defragmentation process, use the balancerCollectionStatus command.

Para saber mais sobre como desfragmentar collection fragmentadas, consulte Desfragmentar collection fragmentadas.

Para desfragmentar uma coleção fragmentada enquanto atualiza o tamanho do bloco, use a opção defragmentCollection e a opção chunkSize juntas:

db.adminCommand( {
configureCollectionBalancing: "test.students",
chunkSize: 512,
defragmentCollection: true
} )

Para desabilitar explicitamente a fusão automática em uma collection, defina a opção enableAutoMerger para false:

db.adminCommand( {
configureCollectionBalancing: "test.students",
enableAutoMerger: false
} )

Voltar

commitReshardCollection