Docs Menu
Docs Home
/ /
particionado

sh.addShardToZone() (método mongosh)

sh.addShardToZone(shard, zone)

Asocia un fragmento con un Zona. MongoDB asocia este fragmento con la zona dada. Los fragmentos que abarca la zona se asignan a los fragmentos asociados a ella.

Importante

Método mongosh

Esta página documenta un método mongosh. Esta no es la documentación para los comandos de base de datos ni para los drivers específicos de lenguajes, como Nodo.js.

Para el comando de base de datos, consulta el comando addShardToZone.

Para los drivers de API de MongoDB, consulte la documentación del driver de MongoDB específica del lenguaje.

Este método tiene el siguiente parámetro:

Parameter
Tipo
Descripción

string

El nombre del fragmento al que se asociará la zona.

string

El nombre de la zona que se asociará con el fragmento.

Solo emite sh.addShardToZone() 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.

Puede asociar una zona con varios fragmentos, y un fragmento puede asociarse con varias zonas.

Consulte la página del manual de zonas para obtener más información sobre las zonas en clústeres fragmentados.

MongoDB ignora efectivamente las zonas que no tienen al menos un rango de valores de clave de fragmento asociados a ellas.

Para asociar un rango de valores de clave de fragmento con una zona, utilice el sh.updateZoneKeyRange() método.

Puede ejecutar el comando de base de datosupdateZoneKeyRangey sus ayudantessh.updateZoneKeyRange()ysh.addTagRange()en una colección no fragmentada o en una colección inexistente.

Tip

Al definir las zonas y sus rangos antes de fragmentar una colección vacía o inexistente, la operación de recopilación de fragmentos crea fragmentos para los rangos de zona definidos, así como fragmentos adicionales para cubrir todo el rango de valores de clave de fragmento, y realiza una distribución inicial de fragmentos basada en los rangos de zona. Esta creación y distribución inicial de fragmentos permite una configuración más rápida de la fragmentación por zonas. Tras la distribución inicial, el balanceador gestiona la distribución de fragmentos en adelante.

Consulte Zonas predefinidas y rangos de zonas para una colección vacía o inexistente para ver un ejemplo.

Para los clústeres fragmentados que aplican el control de acceso, debe autenticarse como un usuario cuyos privilegios incluyan:

  • update en la shards colección en la config base de datos; o, alternativamente,

  • enableSharding en el recurso del clúster.

Los roles clusterAdmin integrados o clusterManager tienen los permisos adecuados para sh.addShardToZone() emitir. Consulte la página del manual de Control de acceso basado en roles para obtener más información.

El siguiente ejemplo agrega tres zonas, NYC, LAX y NRT, asociando cada una a un fragmento:

sh.addShardToZone("shard0000", "JFK")
sh.addShardToZone("shard0001", "LAX")
sh.addShardToZone("shard0002", "NRT")

Una partición puede asociarse a varias zonas. El siguiente ejemplo asocia LGA a shard0000:

sh.addShardToZone("shard0000", "LGA")

shard0000 Se asocia con las zonas LGA y JFK. En un clúster equilibrado, MongoDB enruta las lecturas y escrituras cubiertas por cualquiera de las zonas a shard0000.

Volver

Etiqueta de fragmento sh.addShardTag

En esta página