Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /

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().

Se puede ejecutar el comando de base de datos updateZoneKeyRange y sus asistentes sh.updateZoneKeyRange() y sh.addTagRange() en una colección que no está particionada o en una colección que no existe.

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 para adjuntar el rango especificado por los argumentos minimum y maximum.

Utiliza sh.addShardTag() para asegurarte de que el balanceador migre los documentos que existen dentro del rango especificado a una partición o conjunto de particiones 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 realizar particionado de zonas en una colección vacía o inexistente, utilice sh.addTagRange() para crear las zonas y rangos de zonas antes de particionar la colección. Crear zonas y rangos de zonas en colecciones vacías o no existentes permite a MongoDB optimizar el proceso inicial de creación y distribución de fragmentos al dividir la colección. Este proceso optimizado admite una configuración más rápida de particionado zonificado con menos sobrecarga de balanceador que crear zonas después del particionado. El balanceador realiza toda la gestión de fragmentos después de la optimización creación y distribución inicial 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:

Si el campo encriptado no es el prefijo de la clave de partición (es decir, la clave de partición tiene uno o más campos iniciales no encriptados), deben cumplirse todas las siguientes condiciones para que MongoDB realice la creación y distribución inicial de fragmentos:

  • 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, especifica MinKey para el campo encriptada y todos los campos posteriores.

  • Para cada rango de zona, al menos un campo de prefijo de límite superior debe diferir de su equivalente en el 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