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
/ /
Particionamiento de datos

Dividir fragmentos en un clúster

Por defecto, MongoDB potencialmente divide un fragmento sólo cuando se migren los datos que le pertenecen. Sin embargo, puede querer dividir los fragmentos manualmente si tiene una gran cantidad de datos en su clúster y muy pocos fragmentos, como suele ocurrir tras implementar un clúster utilizando datos existentes.

Para dividir fragmentos manualmente, utilice el split comando con los campos middle o find. mongosh proporciona los métodos asistentes sh.splitFind() y sh.splitAt().

splitFind() divide el fragmento que contiene el primer documento devuelto que coincide con esta consulta en dos fragmentos de igual tamaño. Se debe especificar el espacio de nombres completo (es decir. "<database>.<collection>") de la colección particionada a splitFind(). La consulta en splitFind() no necesita utilizar la clave de partición, aunque casi siempre tiene sentido hacerlo.

Ejemplo

El siguiente comando divide el fragmento que contiene el valor de 63109 para el campo zipcode en la colección people de la base de datos records:

sh.splitFind( "records.people", { "zipcode": "63109" } )

Utilice splitAt() para dividir un fragmento en dos, empleando el documento consultado como límite inferior en el nuevo fragmento:

Ejemplo

El siguiente comando divide el fragmento que contiene el valor de 63109 para el campo zipcode en la colección people de la base de datos records.

sh.splitAt( "records.people", { "zipcode": "63109" } )

Nota

splitAt() no necesariamente divide el fragmento en dos fragmentos de igual tamaño. La división ocurre en la ubicación del documento que coincide con la query, independientemente de dónde se encuentre ese documento en el fragmento.

Tip

Volver

Crear rangos