Definición
Novedad 8.0 en la versión.:
A partir de MongoDB 8.0, puedes:
Configura un servidor de configuración para almacenar tus datos de la aplicación además de los metadatos habituales del clúster particionado. 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.
Una partición de configuración tiene un costo menor que un servidor de configuración dedicado porque un servidor de configuración dedicado se ejecuta como su propio set de réplicas. Una partición de configuración combina el rol de servidor de configuración en el set de réplicas de una partición existente, por lo tanto, su clúster necesita un set de réplicas en lugar de dos. El uso de una partición de configuración no tiene un impacto medible en el rendimiento con un número bajo de particiones. Un servidor de configuración dedicado aísla los metadatos del clúster de los datos de la aplicación, lo que requieren ciertas funcionalidades. Para saber qué implementación se adapta a tu clúster, consulta Casos de uso de Config partición.
El comando transitionFromDedicatedConfigServer configura un servidor de configuración dedicado para que funcione como una partición 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.
Para confirmar que un clúster utiliza una partición de configuración, ejecuta el comando listShards en la base de datos admin mientras estás conectado a un mongos e inspecciona la salida en busca de un documento donde _id esté configurado en "config". Si la salida de listShards no contiene un documento donde _id esté configurado en "config", el clúster no utiliza una partición de configuración.
Para más detalles, consulte Confirmar el uso de Partición de configuración.
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 transitionFromDedicatedConfigServer acción de autorización y se le 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 } )