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