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 transitionToDedicatedConfigServer configura una partición de configuración para que se ejecute como un servidor de configuración dedicado. El comando hace que el balanceador dé prioridad a mover los fragmentos de la partición de configuración a otras particiones del clúster.
Antes de ejecutar transitionToDedicatedConfigServer, 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( { transitionToDedicatedConfigServer: 1 } )
Comportamiento
El comando transitionToDedicatedConfigServer mueve los datos de la aplicación desde la partición de configuración a las demás particiones del mismo modo que removeShard mueve los datos. El balanceador mueve los datos de la colección particionada a otras particiones elegibles en el clúster. Debe mover los datos de la base de datos y la colección no particionados a una partición de su elección en el clúster. Para el procedimiento de remover una partición de configuración, consulta Remover particiones de un clúster.
Internamente, transitionToDedicatedConfigServer ejecuta el removeShard comando. transitionToDedicatedConfigServer devuelve la misma respuesta removeShard que. La respuesta tras una transferencia de datos exitosa state: "completed" contiene. Para obtener detalles completos de la respuesta y ejemplos, consulte el ejemplo de removeShard. Revise la documentación de antes de removeShard ejecutar transitionToDedicatedConfigServer para comprender cómo puede afectar su implementación.
Si ejecuta transitionToDedicatedConfigServer dos veces y los datos del fragmento se están moviendo actualmente a otros fragmentos, la segunda ejecución de transitionToDedicatedConfigServer devuelve el estado actual del movimiento de datos. transitionToDedicatedConfigServer devuelve la misma respuesta que removeShard.
Una vez que transitionToDedicatedConfigServer completa la transferencia de datos, el servidor de configuración es un servidor de configuración dedicado y ya no es un fragmento de configuración.
Control de acceso
Si el control de acceso está activado, el comando transitionToDedicatedConfigServer requiere la acción de autorización transitionToDedicatedConfigServer para el clúster:
{ resource: { cluster : true }, actions: [ "transitionToDedicatedConfigServer" ] }
El clusterManager rol tiene una transitionToDedicatedConfigServer 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 una partición de configuración para que funcione como un servidor de configuración dedicado:
db.adminCommand( { transitionToDedicatedConfigServer: 1 } )
Para obtener más detalles, consulte Versión de compatibilidad de funciones de degradación.