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

mesclarAllChunksOnShard

Nesta página

  • Definição
  • Compatibilidade
  • Sintaxe
  • Campos de comando
  • Comportamento
  • Exemplo
mergeAllChunksOnShard

mergeAllChunksOnShard encontra e mescla todos os chunks mescláveis que um shard possui para uma determinada 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

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(
{
mergeAllChunksOnShard: <name of the collection>,
shard: <name of the shard>,
maxNumberOfChunksToMerge: <maximum number of chunks to merge> /* optional */
}
)

O comando utiliza os seguintes campos:

Campo
Tipo
necessidade
Descrição
mergeAllChunksOnShard
string
Obrigatório
Nome da collection.
shard
string
Obrigatório
Nome do fragmento.
maxNumberOfChunksToMerge
inteiro
Opcional
Número máximo de partes a serem mesclados.

mergeAllChunksOnShard encontra e mescla todas as partes mescláveis para uma collection no mesmo shard. Dois ou mais parte contíguos na mesma collection são mescláveis quando atendem a todas estas condições:

  • Eles pertencem ao mesmo fragmento.

  • Eles não são pedaços gigantescos. As partes jumbo não podem ser mescladas porque não podem participar de migrações.

  • O histórico deles pode ser limpo com segurança, sem interromper transações e leituras de snapshots:

Este exemplo pressupõe que o histórico esteja vazio para todos os blocos e que todos os blocos não sejam jumbo. Como ambas as condições são verdadeiras, todos os intervalos contíguos no mesmo shard são mescláveis.

Esses chunks pertencem a uma coleção chamada coll com chave de fragmento x. São nove pedaços no total.

ID do bloco
Min
Máx
Fragmento
uma
x: 0
x: 10
Fragmento0
B
x: 10
x: 20
Fragmento0
C
x: 20
x: 30
Fragmento0
D
x: 30
x: 40
Fragmento0
E
x: 40
x: 50
Shard1
F
x: 50
x: 60
Shard1
G
x: 60
x: 70
Fragmento0
H
x: 70
x: 80
Fragmento0
i
x: 80
x: 90
Shard1
1
db.adminCommand( { mergeAllChunksOnShard: "db.coll", shard: "Shard0" } )

Este comando mescla as sequências contíguas de blocos:

  • A-B-C-D

  • G-H

2
db.adminCommand( { mergeAllChunksOnShard: "db.coll", shard: "Shard1" } )

Esse comando mescla as sequências contíguas dos blocos E-F.

Depois que esses comandos forem concluídos, os blocos contíguos serão mesclados. Há quatro partes no total em vez das nove originais.

ID do bloco
Min
Máx
Fragmento
A-B-C-D
x: 0
x: 40
Fragmento0
E-F
x: 40
x: 60
Shard1
G-H
x: 60
x: 80
Fragmento0
i
x: 80
x: 90
Shard1

Voltar

Listar fragmentos