Docs Menu
Docs Home
/ /

Claves de partición

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.

Diagrama del espacio del valor de la clave de partición segmentado en rangos o fragmentos más pequeños.

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

namespace

Especifica el namespace completo de la colección que deseas fragmentar ("<database>.<collection>").

key

Especifique un { <shard key field1>: <1|"hashed">, ... } de documento en el que

Para obtener más información sobre el método de particionado, vea sh.shardCollection().

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.

Puedes cambiar una clave de partición de dos maneras:

Para más detalles, consulte la página Cambiar una clave de partición.

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.

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.

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.

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.

Volver

Router (mongos)

Obtén una insignia de habilidad

¡Domina "Estrategias de partición" gratis!

Más información

En esta página