Definición
Nuevo en la versión 8.0.
A partir de MongoDB 8.0, puedes:
Configure un servidor de configuración para almacenar los datos de su aplicación además de los habituales clúster particionado metadata. Un servidor de configuración que almacena datos de la aplicación se denomina partición de configuración.
Transicionar un servidor de configuración entre una partición de configuración y un servidor de configuración dedicado.
Un clúster requiere un servidor de configuración, pero puede ser una partición de configuración en lugar de un servidor de configuración dedicado. El uso de una partición de configuración reduce el número de nodos requeridos y puede simplificar su implementación.
Si su aplicación tiene requisitos exigentes de disponibilidad y resiliencia, considere implementar un servidor de configuración dedicado. Un servidor de configuración dedicado proporciona aislamiento, recursos dedicados y un rendimiento coherente para operaciones críticas del clúster.
El comando transitionFromDedicatedConfigServer configura un servidor de configuración dedicado para que se ejecute como un fragmento de configuración.
Antes de ejecutar transitionFromDedicatedConfigServer, conecte con mongos y utilice la base de datos admin.
El clúster sharded debe tener la featureCompatibilityVersion establecida en al menos 8.0.
Sintaxis
Sintaxis del comando:
db.adminCommand( { transitionFromDedicatedConfigServer: 1 } )
Comportamiento
El comando transitionFromDedicatedConfigServer añade el servidor de configuración como una partición en el clúster. Internamente, transitionFromDedicatedConfigServer ejecuta el comando addShard.
Usted puede confirmar que un clúster particionado utiliza una partición de configuración mediante uno de los siguientes métodos:
Ejecuta el método
sh.isConfigShardEnabled()enmongosh. Si la salida desh.isConfigShardEnabled()contieneenabled: true, el clúster utiliza una partición de configuración. Si la salida contieneenabled: false, el clúster no utiliza una partición de configuración.Ejecútate el comando
listShardscontra la base de datosadminmientras estés conectada a unmongose inspecciona la salida para encontrar un documento donde_idesté configurado en"config". Si la salida delistShardsno contiene un documento donde_idesté configurado en"config", el clúster no utiliza una partición de configuración.
Para obtener más detalles, consulte Confirmar el uso de Config Shard.
Si necesitas degradar la compatibilidad de características entre versiones por debajo de la 8.0, primero ejecutar el comando transitionToDedicatedConfigServer. Para detalles de downgrade, consulta Downgrade compatibilidad de características entre versiones.
Control de acceso
Si el control de acceso está activado, el comando transitionFromDedicatedConfigServer requiere la acción de autorización transitionFromDedicatedConfigServer para el clúster:
{ resource: { cluster : true }, actions: [ "transitionFromDedicatedConfigServer" ] }
El clusterManager rol tiene una transitionFromDedicatedConfigServer acción de autorización y se puede asignar a un usuario.
El siguiente ejemplo asigna el rol clusterManager a un usuario llamado testUser:
db.grantRolesToUser( "testUser", [ "clusterManager" ] )
Ejemplo
El siguiente ejemplo configura un servidor de configuración dedicado para que funcione como un nodo de configuración en partición:
db.adminCommand( { transitionFromDedicatedConfigServer: 1 } )