Nuevo en la versión 8.0.
En una arquitectura multiinquilino, una sola instancia de una aplicación atiende a varios usuarios. Los usuarios multiinquilino comparten recursos, y generalmente los datos que pertenecen a un mismo propietario se mantienen en una única partición.
Si su configuración multiinquilino tiene un solo inquilino por base de datos y la mayor parte de su carga de trabajo se concentra en un único fragmento, puede mover las colecciones de acceso frecuente a otros fragmentos para distribuir la carga de trabajo de forma más uniforme. Esto reduce el número de colecciones en el fragmento original y mejora el rendimiento de todo el sistema.
Nota
Clústeres no particionados
Si su implementación multiinquilino es un conjunto de réplicas, puede convertirlo en un clúster fragmentado y agregar fragmentos adicionales para distribuir la carga de trabajo de forma más uniforme. Para obtener más información, consulte:
Modificar un clúster para implementaciones de MongoDB Atlas
Considerations
Trasladar colecciones conlleva gastos operativos. Antes de trasladar colecciones, revise la
sh.moveCollection()Documentación para consideraciones de rendimiento.La configuración multiinquilino óptima depende de la carga de trabajo y las necesidades de la aplicación. Mover colecciones a nuevos fragmentos no es tan escalable como la multiinquilino en una única base de datos con colecciones compartidas. Sin embargo, que cada base de datos corresponda a un único inquilino permite patrones de seguridad y acceso más personalizables.
Para optimizar el rendimiento de las operaciones de recopilación cruzada (como o transacciones que acceden a múltiples recopilaciones), coloque todas las recopilaciones de un inquilino determinado en el mismo
$lookupfragmento.