La clave de partición es un valor único indexado un campo o varios campos cubiertos por un índice compuesto que determina la distribución de los documentos de la colección entre los fragmentos del clúster. Para más detalles, consulte Índices de clave de fragmento.
MongoDB divide el rango de valores de clave de partición (o valores de clave de partición encriptados) en rangos no superpuestos de valores de clave de partición (o valores de clave de partición encriptados). Cada rango está asociado con un fragmento, y MongoDB intenta distribuir los fragmentos uniformemente entre los fragmentos del clúster.
Fragmenta una colección
Puede utilizar el mongoshmétodosh.shardCollection()para fragmentar una colección. Para fragmentar una colección, debe especificar el espacio de nombres completo de la colección que desea fragmentar y la clave de fragmentación.
sh.shardCollection(<namespace>, <key>) // Optional parameters omitted
| Especifica el namespace completo de la colección que deseas fragmentar ( |
| Especifique un
|
Para obtener más información sobre el método de particionado, vea sh.shardCollection().
Elige una clave de partición
La elección de la clave de fragmentación afecta la creación y distribución de datos entre los fragmentos disponibles. Esta distribución de datos influye en la eficiencia y el rendimiento de las operaciones dentro del clúster fragmentado. La clave de fragmentación ideal permite a MongoDB distribuir los documentos de manera uniforme en todo el clúster, facilitando además patrones de consulta comunes.
Para obtener más detalles, consulte la página Elegir una clave de fragmento.
Cambiar una clave de partición
MongoDB ofrece dos maneras de cambiar una clave de partición. Cómo cambiar una clave de partición:
Puedes refinar una clave de fragmento agregando campos a tu clave existente.
Puedes cambiar por completo una clave de fragmentación y volver a fragmentar una colección con la nueva clave.
Para obtener más información, consulte la página Cambiar una clave de fragmento.
Cambiar el valor del campo de clave de fragmentación para un documento
Puedes cambiar el valor del campo clave de partición en cualquier documento de tu colección, a menos que dicho campo sea _id. Esto puede afectar a qué partición pertenece el documento.
Para obtener más detalles, consulte Cambiar el valor de la clave de fragmentación de un documento.
Establecer campos de clave de partición faltantes
Es posible que a algunos documentos de tu colección les falten campos especificados por tu clave de fragmentación. Por defecto, los documentos a los que les faltan campos especificados por tu clave de fragmentación se encuentran en el mismo rango de fragmentos que las claves de fragmentación con valores nulos.
Para obtener más detalles, consulte Establecer campos clave de fragmento faltantes.
Mostrar una clave de partición
Puedes usar el método para mostrar la clave de fragmentación utilizada para tu db.printShardingStatus() colección.
Para obtener más detalles, consulte Mostrar una clave de fragmento.
Solucionar problemas
Algunos problemas comunes con las claves de fragmentación causados por una clave de fragmentación subóptima son:
Jumbo chunks
Distribución desigual de la carga
Disminución del rendimiento de las consultas
Para obtener más detalles, consulte la sección Solución de problemas de claves de fragmentación.