Docs Menu
Docs Home
/ /

Claves de partición

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.

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

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

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 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.

MongoDB ofrece dos maneras de cambiar una clave de partición. Cómo cambiar una clave de partición:

Para obtener más información, consulte la página Cambiar una clave de fragmento.

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.

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.

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.

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.

Volver

Router (mongos)

Obtén una insignia de habilidad

¡Domina "Estrategias de partición" gratis!

Más información

En esta página