Definición
mergeAllChunksOnShardmergeAllChunksOnShardencuentra y combina todas fragmentos fusionables que una partición posee para una colección determinada.
Compatibilidad
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.
Sintaxis
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 */ } )
Campos de comandos
El comando toma los siguientes campos:
Campo | Tipo | Necesidad | Descripción |
|---|---|---|---|
| string | Requerido | Nombre de la colección. |
| string | Requerido | Nombre de la partición. |
| entero | Opcional | Número máximo de fragmentos a fusionar. |
Comportamiento
mergeAllChunksOnShard encuentra y fusiona todos los fragmentos que se pueden fusionar para una colección en la misma partición. Dos o más fragmentos contiguos en la misma colección son fusionables cuando cumplen todas estas condiciones:
Son propiedad de la misma partición.
No son fragmentos jumbo.
jumbofragmentos no se pueden fusionar porque no pueden participar en las migraciones.Su historial se puede purgar de manera segura, sin interrumpir las transacciones y las lecturas de snapshot:
La última migración que involucró el fragmento ocurrió hace al menos tantos segundos como el valor de
minSnapshotHistoryWindowInSeconds.La última migración que involucró el fragmento ocurrió hace al menos tantos segundos como el valor de
transactionLifetimeLimitSeconds.
Ejemplo
Este ejemplo asume que el historial está vacío para todos los fragmentos y que todos los fragmentos no son jumbo. Como ambas condiciones se cumplen, todos los intervalos contiguos en la misma partición son fusionables.
Configuración
Estos fragmentos pertenecen a una colección llamada coll con clave de partición x. Hay nueve fragmentos en total.
fragmento ID | Min | máximo | Partición |
|---|---|---|---|
A |
|
| Partición0 |
B |
|
| Partición0 |
C |
|
| Partición0 |
D |
|
| Partición0 |
E |
|
| Shard1 |
F |
|
| Shard1 |
G |
|
| Partición0 |
H |
|
| Partición0 |
Yo |
|
| Shard1 |
Pasos
Resultado
Después de que estos comandos se hayan completado, los fragmentos contiguos se han combinado. Hay cuatro fragmentos en total en lugar de los nueve originales.
fragmento ID | Min | máximo | Partición |
|---|---|---|---|
A-B-C-D |
|
| Partición0 |
E-F |
|
| Shard1 |
G-H |
|
| Partición0 |
Yo |
|
| Shard1 |