Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Particionamiento clasificado por rango

El particionado basado en rangos consiste en dividir los datos en rangos contiguos determinados por los valores de la clave de partición. En este modelo, es probable que los documentos con valores de la clave de partición "similares" se encuentren en el mismo fragmento o partición. Esto permite realizar consultas eficientes cuando las lecturas se dirigen a documentos dentro de un rango contiguo. Sin embargo, el rendimiento tanto de lectura como de guardado puede disminuir si se elige una selección de clave de partición inadecuada. See selección de clave de partición.

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

La particionado basada en rangos es la metodología de particionado por defecto si no se configuran otras opciones como las necesarias para la particionado por hash o zonas.

El particionamiento por rangos es más eficiente cuando la clave de partición presenta los siguientes rasgos:

La siguiente imagen ilustra un cluster fragmentado utilizando el campo X como la clave de partición. Si los valores de X tienen un rango grande, una frecuencia baja y cambian a una tasa no monótona, la distribución de las inserciones puede parecer similar a la siguiente:

Diagrama de una buena distribución de la clave de partición
haga clic para ampliar

Utiliza el método sh.shardCollection(), especificando el namespace completo de la colección y el índice de destino o índice compuesto que se usará como la clave de partición.

sh.shardCollection( "database.collection", { <shard key> } )

Importante

Si se fragmenta una colección poblada, inicialmente solo se crea un fragmento. El balanceador luego migra los rangos de ese fragmento si es necesario, de acuerdo con el tamaño de rango configurado.

Si fragmentas una colección vacía:

  • Sin zonas y rangos de zonas especificados para la colección vacía o inexistente:

    • La operación de particionado crea un único fragmento vacío para cubrir todo el rango de valores de la clave de partición.

    • Tras la creación inicial del fragmento, el balanceador migra el fragmento inicial a través de las particiones según convenga, además de gestionar la distribución de fragmentos en adelante.

  • Con zonas y rangos de zonas especificados para colecciones vacías o inexistentes:

    • La operación de particionado crea fragmentos vacíos para los rangos de zona definidos, así como fragmentos adicionales para cubrir todo el rango de los valores de la clave de partición y realiza una distribución inicial de fragmentos basada en los rangos de zona. Esta creación y distribución inicial de fragmentos permite configurar más rápidamente el particionado de zona.

    • Después de la distribución inicial, el balanceador gestiona la distribución de fragmento en adelante.

Tip

Para aprender a desplegar un clúster e implementar el particionado clasificado por rango, consulte Desplegar un clúster autogestionado.