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 tu configuración multiinquilino tiene un solo inquilino por base de datos y la mayor parte de su carga de trabajo se realiza en una sola partición, puedes mover las colecciones de acceso frecuente a otras particiones para distribuir la carga de trabajo de manera más equitativa. Esto reduce la cantidad de colecciones en la partición original y mejora el rendimiento en todo el sistema.
Nota
Clústeres no particionados
Si tu implementación multi-inquilino es un set de réplicas, puedes convertirla en un clúster particionado y añadir particiones adicionales para distribuir de manera más equitativa tu carga de trabajo. Para obtener más información, consulte cualquiera de:
Modificar un clúster para implementaciones de MongoDB Atlas
Considerations
Mover colecciones conlleva unos gastos en general. Antes de mover colecciones, revise el
sh.moveCollection()Documentación para consideraciones de rendimiento.La configuración óptima para múltiples inquilinos depende de la carga de trabajo y las necesidades de tu aplicación. Mover colecciones a nuevas particiones no es tan escalable como la multitenencia en una única base de datos con colecciones compartidas. Sin embargo, hacer que cada base de datos corresponda a un solo inquilino permite patrones de seguridad y acceso más personalizables.
Para optimizar el rendimiento de las operaciones entre colecciones (como
$lookupo transacciones que acceden a varias colecciones), coloca todas las colecciones de un determinado inquilino en la misma partición.