A Unfragmento contiene un subconjunto de datos fragmentados para un clúster fragmentado. Juntos, los fragmentos del clúster albergan el conjunto completo de datos del clúster.
Los fragmentos deben implementarse como un conjunto de réplicas para proporcionar redundancia y alta disponibilidad.
Importante
Los clústeres fragmentados utilizan la preocupación de escritura "majority" Para muchas operaciones internas. Se desaconseja el uso de un árbitro en un clúster fragmentado debido a problemas de rendimiento con los conjuntos de réplicas de PSA.
Los usuarios, clientes o aplicaciones solo deben conectarse directamente a un fragmento para realizar operaciones administrativas y de mantenimiento locales.
Realizar consultas en una sola partición solo devuelve un subconjunto de datos. Conecte con el mongos para realizar operaciones a nivel de clúster, incluidas las operaciones de lectura o guardar.
Fragmento primario
Cada base de datos de un clúster fragmentado tiene un fragmento principal que contiene todas las colecciones no fragmentadas de esa base de datos. Cada base de datos tiene su propio fragmento principal. Este fragmento no guarda relación con el fragmento principal en un conjunto de réplicas.
El mongos selecciona la partición primaria al crear una nueva base de datos eligiendo la partición en el clúster que tiene la menor cantidad de datos. mongos utiliza el campo totalSize devuelto por el comando listDatabases como parte del criterio de selección.
Para cambiar el fragmento principal de una base de datos, use el comando. El proceso de migración del fragmento principal puede tardar bastante tiempo, y no debe acceder a las colecciones asociadas a la base de datos hasta que finalice. Según la cantidad de datos que se migren, la migración puede afectar las operaciones generales del clúster. Considere el impacto en las operaciones del clúster y la carga de la red antes de intentar cambiar el fragmento movePrimary principal.
Al implementar un nuevo clúster fragmentado con fragmentos que se usaron previamente como conjuntos de réplicas, todas las bases de datos existentes siguen residiendo en sus conjuntos de réplicas originales. Las bases de datos creadas posteriormente pueden residir en cualquier fragmento del clúster.
Estado del fragmento
Utilice el sh.status() método en mongosh para obtener una visión general del clúster. Este informe incluye qué fragmento es principal para la base de datos y la distribución de fragmentos entre ellos. Consulte el sh.status() método para obtener más detalles.
Seguridad de clúster fragmentado
Utiliza Autenticación interna/membresía autogestionada para aplicar la seguridad entre clústeres y evitar que componentes de clúster no autorizados accedan al clúster. Debes iniciar cada mongod en el clúster con la configuración de seguridad adecuada para aplicar la autenticación interna.
A partir de MongoDB,5.3 SCRAM-SHA-1 no se puede usar para la autenticación dentro del clúster. Solo se admite SCRAM-SHA-.256
En versiones anteriores de MongoDB, tanto SCRAM-SHA-1 como SCRAM-SHA-256 se pueden usar para la autenticación dentro del clúster, incluso si SCRAM no está habilitado explícitamente.
Consulta Implementar clúster fragmentado autogestionado con autenticación de clave para aprender cómo implementar un clúster fragmentado seguro.
Usuarios locales de la partición
Cada fragmento admite el Control de Acceso Basado en Roles en Implementaciones Autogestionadas (RBAC) para restringir el acceso no autorizado a los datos y operaciones del fragmento.mongod Inicie cada del conjunto de réplicas con la --auth opción para aplicar el RBAC. Como alternativa, aplicar la Autenticación Interna/de Membresía Autogestionada para la seguridad dentro del clúster también habilita los controles de acceso de usuarios mediante RBAC.
A partir de MongoDB,5.3 SCRAM-SHA-1 no se puede usar para la autenticación dentro del clúster. Solo se admite SCRAM-SHA-.256
En versiones anteriores de MongoDB, tanto SCRAM-SHA-1 como SCRAM-SHA-256 se pueden usar para la autenticación dentro del clúster, incluso si SCRAM no está habilitado explícitamente.
Cada fragmento tiene sus propios usuarios locales. Estos usuarios no pueden usarse en otros fragmentos ni para conectarse al clúster mediante mongos un.
Consulte Habilitar el control de acceso en implementaciones autoadministradas para obtener un tutorial sobre cómo habilitar la adición de usuarios a una implementación de MongoDB habilitada para RBAC.