Docs Menu
Docs Home
/ /

Solucionar problemas de claves de fragmento

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

  • Disminución del rendimiento de las consultas con el tiempo

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

Si estas viendo fragmentos gigantes, la cardinalidad de su clave de fragmento es insuficiente o la frecuencia de los valores de la clave de fragmento está distribuida de manera desigual.

Para aumentar la cardinalidad de su clave de fragmento o cambiar la distribución de los valores de su clave de fragmento, puede:

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 consejos sobre cómo elegir una clave de fragmento, consulte Elegir una clave de fragmento.

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 fragmentada en un campo order_id. order_id es un entero que aumenta en uno con cada orden.

  • Los documentos nuevos generalmente se escriben en el mismo fragmento y fragmento. El fragmento y el fragmento que reciben las escrituras se denominan fragmento activo y fragmento activo. El fragmento activo cambia con el tiempo. Cuando los fragmentos se dividen, el fragmento activo se mueve a un fragmento diferente para optimizar la distribución de datos.

  • Si es más probable que los usuarios interactúen con pedidos recientes, que están todos en el mismo fragmento, el fragmento que contiene los pedidos recientes recibirá la mayor parte 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 incluye la clave de fragmento en sus consultas, compruebe si está cifrada. Con la fragmentación cifrada, los documentos no se almacenan en orden ascendente o descendente según el valor del campo de la clave de fragmento. Realizar consultas basadas en rangos sobre el valor de la clave de fragmento en datos que no están almacenados en orden ascendente o descendente resulta en consultas de dispersión-recopilación de menor rendimiento. Si las consultas basadas en rangos sobre su clave de fragmento son un patrón de acceso común, considere volver a cifrar su colección.

Si no incluye la clave de fragmento en sus consultas más frecuentes, es posible que pueda mejorar el rendimiento repartiendo su colección. Para obtener consejos sobre cómo elegir una clave de fragmento, consulte "Elegir una clave de fragmento".

Volver

Mostrar una clave de partición

En esta página