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
/ /
particionado

sh.addTagRange() (método mongosh)

sh.addTagRange(namespace, minimum, maximum, tag)

Nota

Este método hace referencia a sh.updateZoneKeyRange(). MongoDB proporciona particionado por zona como sucesor del particionado consciente de etiquetas.

Anexa un rango de valores de la clave de partición a una etiqueta de partición creada mediante el método sh.addShardTag().

Puedes ejecutar el comando de base de datos updateZoneKeyRange y sus asistentes sh.updateZoneKeyRange() y sh.addTagRange() en una colección sin partición o en una colección inexistente.

sh.addTagRange() toma los siguientes argumentos:

Parameter
Tipo
Descripción

namespace

string

El espacio de nombres de la colección particionada a etiquetar.

minimum

Documento

El valor mínimo del rango de clave de partición que se debe incluir en la etiqueta. El mínimo es una coincidencia inclusiva. Especifique el valor mínimo en la forma de <fieldname>:<value>. Este valor debe ser del mismo tipo BSON o tipos que la clave de partición.

maximum

Documento

El valor máximo del rango de clave de partición para incluir en la etiqueta. El máximo es una coincidencia exclusiva. Especifica el valor máximo en la forma de <fieldname>:<value>. Este valor debe ser del mismo tipo BSON o tipos que la clave de partición.

tag

string

El nombre de la etiqueta a la que se adjuntará el rango especificado por los argumentos minimum y maximum.

Utilice para garantizar que el balanceador migre los documentos que existen dentro del rango especificado a un fragmento o conjunto de fragmentos sh.addShardTag() específicos.

Solo emite sh.addTagRange() cuando estés conectado a una instancia mongos.

Este método está disponible en implementaciones alojadas en los siguientes entornos:

  • MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube

Importante

Este comando no es compatible con los clústeres M0 y Flex. Para obtener más información, consulta Comandos no compatibles.

  • MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB

  • MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.

Los rangos de zona siempre incluyen el límite inferior y excluyen el límite superior.

Si está considerando fragmentar zonas en una colección vacía o inexistente, use para crear las zonas sh.addTagRange() y los rangos de zonas antes de fragmentar la colección. Crear zonas y rangos de zonas en colecciones vacías o inexistentes permite a MongoDB optimizar el proceso inicial de creación y distribución de fragmentos al fragmentar la colección. Este proceso optimizado permite una configuración más rápida de la fragmentación por zonas con menos sobrecarga del balanceador que crear zonas después de la fragmentación.El balanceador realiza toda la gestión de fragmentos después de la creación y distribución inicial optimizada de fragmentos.

Para un ejemplo de cómo definir zonas y rangos de zonas para la distribución inicial de fragmentos, consulta Predefinir Zonas y Rangos de Zonas para una Colección Vacía o Inexistente.

MongoDB ofrece soporte al particionado de colecciones en índices compuestos encriptados. MongoDB puede realizar una creación y distribución optimizadas de particiones iniciales al fragmentar la colección vacía o inexistente usando una clave de partición compuesta con hash.

Si el campo encriptada es el prefijo de la clave de partición (es decir, el primer campo en la clave de partición), todo lo siguiente debe ser cierto para que MongoDB realice la creación inicial y la distribución de fragmentos:

  • La colección tiene un rango de zona único con MinKey para todos los campos de límite inferior y MaxKey para todos los campos de límite superior.

  • sh.shardCollection() especifica la opción presplitHashedZones: true.

Si el campo con hash no es el prefijo de la clave de fragmento (es decir, la clave de fragmento tiene uno o más campos principales no con hash), todo lo siguiente debe ser verdadero para que MongoDB realice la creación y distribución del fragmento inicial:

  • La colección tiene un rango de zona para cada combinación de valores de campo de prefijo distintos (es decir, todos los campos anteriores al campo encriptado).

  • Para el límite inferior de cada rango de zona, especifique MinKey para el campo con hash y todos los campos subsiguientes.

  • Para cada rango de zona, al menos un campo de prefijo de límite superior debe ser diferente de su contraparte de límite inferior.

  • sh.shardCollection() especifica la opción presplitHashedZones: true.

Para obtener un ejemplo más completo de la definición de zonas y rangos de zonas para la distribución inicial de fragmentos con unas claves de partición compuestas con hash, consulte Predefinición de zonas y rangos de zonas para una colección vacía o inexistente.

Al descartar una colección, se borran sus rangos de zona/etiqueta asociados.

En versiones anteriores, MongoDB no remueve las asociaciones de etiquetas de una colección descartada y, si luego creas una nueva colección con el mismo nombre, las asociaciones de etiquetas antiguas se aplicarán a la nueva colección.

Dada una clave de partición de {state: 1, zip: 1}, la siguiente operación crea un rango de etiquetas que cubre los códigos postales del estado de Nueva York:

sh.addTagRange( "exampledb.collection",
{ state: "NY", zip: MinKey },
{ state: "NY", zip: MaxKey },
"NY"
)

Volver

sh.addShardToZone

En esta página