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

addShardToZone (comando de base de datos)

addShardToZone

Asocia una partición con un zona. MongoDB asocia esta partición con la zona especificada. Los fragmentos cubiertos por la zona se asignan a particiones asociados con la zona.

Tip

En mongosh, este comando también puede ejecutarse a través del método asistente sh.addShardToZone().

Los métodos asistente son convenientes para usuarios de mongosh, pero es posible que no proporcionen el mismo nivel de información que los comandos de base de datos. En los casos en que no se necesite la conveniencia o se requieran campos de retorno adicionales, utiliza el comando de base de datos.

Solo puede ejecutar en addShardToZone la admin base de datos desde una mongos instancia.

Este comando está disponible en implementaciones alojadas en los siguientes entornos:

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

  • 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.

El comando tiene la siguiente sintaxis:

db.adminCommand(
{
addShardToZone: <string>,
zone: <string>
}
)

El comando toma los siguientes campos:

Campo
Tipo
Descripción

string

El nombre de la partición con la que se asociará la zona.

string

Nombre de la zona a asociar con la partición.

mongosh proporciona el método asistente sh.addShardToZone().

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 un clúster fragmentado.

MongoDB ignora de manera efectiva las zonas que no tienen al menos un rango de valores de la clave de partición asociado con ellas.

Para asociar un rango de valores de la clave de partición con una zona, utiliza el comando de base de datos updateZoneKeyRange o el asistente de shell sh.updateZoneKeyRange().

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 particionados que aplican control de acceso, debe autenticarse como un usuario cuyos privilegios incluyan cualquiera de los siguientes:

Las clusterAdmin o clusterManager roles integradas tienen los permisos adecuados para emitir addShardToZone. Consulta la página de documentación sobre Control de Acceso Basado en Roles para obtener más información.

El siguiente ejemplo asocia shard0000 con la zona JFK:

db.adminCommand( { addShardToZone : "shard0000" , zone : "JFK" } )

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

db.adminCommand( { addShardToZone : "shard0000" , zone : "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

addShard

En esta página