La clave de partición es un valor único indexado Campo o varios campos cubiertos por un índice compuesto que determina la distribución de los document de la colección entre particiones del clúster. Para obtener más detalles, consulte Índices de clave de partición.
MongoDB divide el rango de valores de la clave de partición (o valores de la clave de partición encriptada) en rangos que no se superponen. Cada rango está asociado con un fragmento, y MongoDB intenta distribuir los fragmentos uniformemente entre las particiones del clúster.
Fragmenta una colección
Puede utilizar el mongosh método sh.shardCollection() para crear una partición de una colección. Para fragmentar una colección, debes especificar el namespace completo de la colección que deseas fragmentar y la clave de partició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 partición afecta la creación y distribución de datos entre las particiones disponibles. La clave de partición ideal permite a MongoDB distribuir los documentos uniformemente por todo el clúster, a la vez que facilita patrones de queries comunes.
Para más detalles, consulta la página Seleccionar una clave de partición.
Cambiar una clave de partición
Puedes cambiar una clave de partición de dos maneras:
Puedes refinar una clave de partición añadiendo campos a tu clave existente.
Puede cambiar completamente una clave de partición y refragmentar una colección con la nueva clave.
Para más detalles, consulte la página Cambiar una clave de partición.
Cambiar el valor del campo de la clave de partición para un document
Puedes cambiar el valor del campo clave de shard en cualquier document de tu colección, a menos que el campo clave de shard sea el campo _id. Esto puede afectar en qué partición reside el document.
Para más detalles, consulta Cambiar el valor de la clave de partición de un document.
Establecer campos de clave de partición faltantes
Los documentos de tu colección pueden carecer de los campos que especifica tu clave de partición. Por defecto, los documentos que carecen de los campos especificados por su clave de partición viven en el mismo rango de fragmento que las claves de partición con valores nulos.
Para obtener más detalles, consulta Establecer los campos de clave de partición faltantes.
Mostrar una clave de partición
Utiliza db.printShardingStatus() para mostrar la clave de partición utilizada para tu colección.
Para obtener más detalles, consulta Mostrar una clave de partición.
Solucionar problemas
Los problemas comunes causados por una clave de partición subóptima son:
Jumbo chunks
Distribución desigual de la carga
Disminución en el rendimiento de query
Para obtener más detalles, consulta Solucionar problemas de clave de partición.