Docs Menu
Docs Home
/ /

mergeAllChunksOnShard (comando de base de datos)

mergeAllChunksOnShard

mergeAllChunksOnShard Encuentra y fusiona todo fragmentos fusionables que un fragmento posee para una colección determinada.

Este comando está disponible en implementaciones alojadas en los siguientes entornos:

  • MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube

  • MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB

  • MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.

El comando tiene la siguiente sintaxis:

db.adminCommand(
{
mergeAllChunksOnShard: <name of the collection>,
shard: <name of the shard>,
maxNumberOfChunksToMerge: <maximum number of chunks to merge> /* optional */
}
)

El comando toma los siguientes campos:

Campo
Tipo
Necesidad
Descripción

mergeAllChunksOnShard

string

Requerido

Nombre de la colección.

shard

string

Requerido

Nombre del fragmento.

maxNumberOfChunksToMerge

entero

Opcional

Número máximo de fragmentos a fusionar.

mergeAllChunksOnShard Busca y fusiona todos los fragmentos fusionables de una colección en el mismo fragmento. Dos o más fragmentos contiguos de la misma colección son fusionables cuando cumplen todas estas condiciones:

  • Son propiedad del mismo fragmento.

  • No son fragmentosjumbo gigantes. Los fragmentos no se pueden fusionar porque no pueden participar en migraciones.

  • Su historial se puede purgar de forma segura, sin interrumpir las transacciones ni las lecturas de instantáneas:

Este ejemplo asume que el historial está vacío para todos los fragmentos y que todos son no jumbo. Dado que ambas condiciones son verdaderas, todos los intervalos contiguos en el mismo fragmento son fusionables.

Estos fragmentos pertenecen a una colección llamada coll con clave de fragmento x. Hay nueve fragmentos en total.

fragmento ID
Min
Max
Partición

A

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

Fragmento1

F

x: 50

x: 60

Fragmento1

G

x: 60

x: 70

Fragmento0

H

x: 70

x: 80

Fragmento0

ME

x: 80

x: 90

Fragmento1

1
db.adminCommand( { mergeAllChunksOnShard: "db.coll", shard: "Shard0" } )

Este comando fusiona las secuencias contiguas de fragmentos:

  • ABCD

  • GH

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

Este comando fusiona las secuencias contiguas de fragmentos E-F.

Tras completar estos comandos, se fusionaron los fragmentos contiguos. Ahora hay cuatro fragmentos en total, en lugar de los nueve originales.

fragmento ID
Min
Max
Partición

ABCD

x: 0

x: 40

Fragmento0

EF

x: 40

x: 60

Fragmento1

GH

x: 60

x: 80

Fragmento0

ME

x: 80

x: 90

Fragmento1

Volver

lista de fragmentos

En esta página