Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Solucionar problemas de claves de fragmentos

La clave de partición ideal permite a MongoDB distribuir documentos uniformemente en todo el clúster al mismo tiempo que facilita los patrones de query más comunes. Una clave de partición subóptima puede conducir a los siguientes problemas:

  • Jumbo chunks

  • Distribución desigual de la carga

  • Rendimiento de query disminuido a lo largo del tiempo

A continuación, puedes encontrar más información sobre los problemas comunes con las claves de fragmentación y cómo resolverlos.

Si estás viendo fragmentos jumbo, ya sea que la cardinalidad de tu clave de partición sea insuficiente o la frecuencia de los valores de la clave de partición esté distribuida de manera desigual.

Para aumentar la cardinalidad de tu clave de partición o cambiar la distribución de los valores de tu clave de partición, puedes:

Para aprender si se debe redistribuir la colección o refinar la clave de partición, se puede consultar Cambiar la clave de partición.

Para cambiar únicamente la distribución de los valores de tu clave de partición, también puedes considerar usar particionado encriptado para distribuir tus datos de manera más uniforme.

Para obtener consejo sobre cómo elegir una clave de partición, consulte Elegir una clave de partición.

Si su clúster experimenta una distribución de carga desigual, compruebe si su clave de fragmento aumenta de forma monótona. Una clave de fragmento con un campo que aumenta de forma monótona genera una distribución desigual de lectura y escritura.

Considere una orders colección que es particionado en un campo order_id. El order_id es un número entero que aumenta en uno con cada pedido.

  • Generalmente, los nuevos documentos se escriben en la misma partición y fragmento. La partición y el fragmento que reciben los guardados se denominan partición activa y fragmento activo. La partición activa cambia con el tiempo. Cuando los fragmentos se dividen, el fragmento caliente se mueve a otra partición para optimizar la distribución de datos.

  • Si es más probable que los usuarios interactúen con pedidos recientes, los cuales están todos en la misma partición, la partición que contiene los pedidos recientes recibirá la mayoría del tráfico.

Si tu clave de partición es monótonamente creciente, considera rehacer el sharding de tu colección. Para obtener consejos sobre cómo elegir una clave de partición, consulta Elegir una clave de particción.

Si tu modelo de datos requiere particionar una clave que cambia de forma monótona, considera usar el particionado encriptado.

Si nota una disminución en el rendimiento de las consultas con el paso del tiempo, es posible que su clúster esté realizando consultas de dispersión y recopilación.

Para evaluar si su clúster está realizando consultas de dispersión y recopilación, verifique si sus consultas más comunes incluyen la clave de fragmento.

Si incluyes la clave de partición en tus consultas, comprueba si tu clave de partición está encriptada. Con Hashed Sharding, los documentos no se almacenan en orden ascendente o descendente según el valor del campo clave de partición. La realización de queries basadas en rangos sobre el valor de la clave de partición en datos que no se almacenan en orden ascendente o descendente resulta en queries scatter-gather menos eficientes. Si las consultas basadas en rangos sobre la clave de partición son un patrón de acceso frecuente, considera reparar la fragmentación de la colección.

Si no incluyes la clave de partición en tus consultas más comunes, es posible que puedas aumentar el rendimiento al redistribuir tu colección. Para consultar consejos sobre cómo elegir una clave de partición, consulte Elija una clave de partición.

Volver

Mostrar una clave de partición

En esta página