Un miembro oculto mantiene una copia de la El conjunto de datos del primario pero es invisible para las aplicaciones cliente. Los miembros ocultos son buenos para cargas de trabajo con diferentes patrones de uso a los de los demás miembros en el set de réplicas. Los miembros ocultos siempre deben ser miembros de prioridad 0 y, por lo tanto, no pueden convertirse en primarios. El El método db.hello() no muestra los miembros ocultos. Sin embargo, los miembros ocultos pueden votar en elecciones.
Comportamiento
Operaciones de lectura
Solo puedes leer de un miembro oculto si te conectas directamente al nodo. Si te conectas a un clúster sin conectarte directamente al nodo oculto, no podrás ejecutar consultas en el nodo oculto. Como resultado, estos nodos no reciben tráfico aparte de la replicación básica. Utilice miembros ocultos para tareas dedicadas, como reportes y copias de seguridad.
Importante
Si tu set de réplicas contiene miembros atrasados, asegúrate de que los miembros atrasados estén ocultos y no tengan derecho a voto.
Ocultar nodos retrasados del set de réplicas impide que las aplicaciones visualicen y consulten datos retrasados sin una conexión directa a ese nodo. Hacer que los integrantes de set de réplicas retardados no tengan derecho a voto significa que no contarán para reconocer las operaciones de escritura con nivel de confirmación de escritura (write concern) "majority".
Si no ocultas a los miembros atrasados y uno o más nodos dejan de estar disponibles, el set de réplicas debe esperar al miembro atrasado y el punto de confirmación se retrasa. Un punto de confirmación retrasado puede provocar problemas de rendimiento.
Por ejemplo, considere una configuración de conjunto de réplicas primaria-secundaria-retrasada donde la secundaria retrasada vota con un retraso de 10 minutos.
Con un nodo secundario no retrasado no disponible, la configuración degradada de Primario-Retrasado debe esperar al menos 10 minutos para confirmar una operación de escritura con "majority". El punto de validación mayoritaria tardará más en avanzar, lo que provocará una presión de caché problemas de rendimiento similares con un primario con un secundario y un árbitro (PSA) set de réplicas.
Para obtener más información sobre el punto de confirmación mayoritario, consulte coherencia causal y preocupaciones de lectura y escritura. Para obtener detalles adicionales sobre la resolución de problemas de rendimiento, consulta el tutorial de mantenimiento del set de réplicas.
En los clústeres fragmentados, no puedes acceder a nodos ocultos a través de mongos. Si se conecta directamente a estos nodos para leer datos, se puede generar una inconsistencia o pérdida de datos. En su lugar, para lograr el aislamiento de la carga de trabajo, utilice las preferencias de lectura basadas en etiquetas.
Nota
A partir de MongoDB 8.0, solo puedes ejecutar ciertos comandos en nodos de clústeres fragmentados. Si intentas conectarte directamente a un nodo y ejecutar un comando no compatible, MongoDB devuelve un error:
"You are connecting to a sharded cluster improperly by connecting directly to a shard. Please connect to the cluster via a router (mongos)."
Votación
Los miembros ocultos pueden votar en elecciones de sets de réplicas. Si suspendes a un miembro oculto que tiene derecho a voto, asegúrate de que el conjunto tenga una mayoría activa o el primario renunciará.
Para efectos de copias de seguridad,
db.fsyncLock()asegura que los archivos de datos sean seguros para copiar utilizando utilidades de copia de seguridad de bajo nivel comocp,scpotar. Unmongodempezó a utilizar los archivos copiados que contienen datos escritos por el usuario que son indistinguibles de los datos escritos por el usuario en elmongodbloqueado.Los archivos de datos de un
mongodbloqueado pueden cambiar debido a operaciones como sincronizaciones de diarios o instantáneas de WiredTiger. Si bien esto no tiene ningún efecto en los datos lógicos (por ejemplo, datos a los que acceden los clientes), algunas utilidades de copia de seguridad pueden detectar estos cambios y emitir advertencias o fallar con errores. Para obtener más información sobre las utilidades y procedimientos de copia de seguridad recomendados por MongoDB, consulte Métodos de copia de seguridad para una implementación autogestionada.
Nivel de confirmación de escritura
Miembros ocultos del set de réplicas pueden reconocer operaciones de guardar emitidas con w: <number>. Para las operaciones de escritura emitidas con w : "majority", sin embargo, los miembros ocultos también deben ser miembros con derecho a voto (es decir, members[n].votes mayor que 0) para reconocer la operación de guardar "majority". Miembros del set de réplicas sin derecho a voto (es decir, members[n].votes es 0) no pueden contribuir a reconocer operaciones de escritura con nivel de confirmación de escritura (write concern) majority.
Lectura adicional
Para obtener más información sobre cómo realizar copias de seguridad de bases de datos MongoDB,consulte Métodos de copia de seguridad para una implementación autogestionada. Para configurar un miembro oculto, consulte Configurar un miembro oculto del conjunto de réplicas autogestionadas.