Implemente la tenencia múltiple
En Milvus, multiarrendamiento significa que varios clientes o equipos (denominados arrendatarios)comparten el mismo clúster manteniendo entornos de datos aislados.
Milvus admite cuatro estrategias de multiarrendamiento, cada una de las cuales ofrece un equilibrio diferente entre escalabilidad, aislamiento de datos y flexibilidad. Esta guía le guiará a través de cada opción, ayudándole a elegir la estrategia más adecuada para su caso de uso.
Estrategias multi-tenencia
Milvus admite la multitenencia en cuatro niveles: Base de datos, Colección, Partición y Clave de partición.
Arrendamiento múltiple a nivel de base de datos
Con la multitenencia a nivel de base de datos, cada arrendatario recibe una base de datos correspondiente que contiene una o más colecciones.
Multiarrendamiento a nivel de base de datos
Escalabilidad: La estrategia de multiarrendamiento a nivel de base de datos admite un máximo de 64 inquilinos por defecto.
Aislamiento de datos: Los datos de cada base de datos están totalmente separados, lo que ofrece un aislamiento de datos de nivel empresarial ideal para entornos regulados o clientes con necesidades de cumplimiento estricto.
Flexibilidad: Cada base de datos puede tener colecciones con diferentes esquemas, ofreciendo una organización de datos altamente flexible y permitiendo que cada inquilino tenga su propio esquema de datos.
Otros: Esta estrategia también admite RBAC, lo que permite un control detallado del acceso de los usuarios por tenant. Además, puede cargar o liberar datos de forma flexible para inquilinos específicos con el fin de gestionar eficazmente los datos calientes y fríos.
Arrendamiento múltiple a nivel de colección
Con la tenencia múltiple a nivel de colecciones, a cada inquilino se le asigna una colección, lo que ofrece un fuerte aislamiento de los datos.
Multiarrendamiento a nivel de colecciones
Escalabilidad: Dado que un clúster puede albergar hasta 65.536 colecciones por defecto, esta estrategia puede acomodar el mismo número de inquilinos dentro del clúster.
Aislamiento de datos: Las colecciones están físicamente aisladas unas de otras. Esta estrategia proporciona un fuerte aislamiento de datos.
Flexibilidad: Esta estrategia permite que cada colección tenga su propio esquema, dando cabida a inquilinos con diferentes esquemas de datos.
Otros: Esta estrategia también admite RBAC, lo que permite un control de acceso granular sobre los inquilinos. Además, puede cargar o liberar datos de forma flexible para inquilinos específicos con el fin de gestionar eficazmente los datos calientes y fríos.
Arrendamiento múltiple a nivel de partición
En la multitenencia a nivel de partición, cada inquilino se asigna a una partición creada manualmente dentro de una colección compartida.
Multitenencia a nivel de partición
Escalabilidad: Una colección puede albergar hasta 1.024 particiones por colección, permitiendo el mismo número de inquilinos dentro de ella.
Aislamiento de datos: Los datos de cada inquilino están físicamente separados por particiones.
Flexibilidad: Esta estrategia requiere que todos los inquilinos compartan el mismo esquema de datos. Y las particiones deben crearse manualmente.
Otros problemas: No se admite RBAC a nivel de partición. Los inquilinos pueden ser consultados individualmente o a través de múltiples particiones, lo que hace que este enfoque sea adecuado para escenarios que implican consultas agregadas o análisis a través de segmentos de inquilinos. Además, puede cargar o liberar datos de forma flexible para inquilinos específicos con el fin de gestionar eficazmente los datos calientes y fríos.
Arrendamiento múltiple a nivel de clave de partición
Con esta estrategia, todos los inquilinos comparten una única colección y esquema, pero los datos de cada inquilino se dirigen automáticamente a 16 particiones físicamente aisladas en función del valor de la clave de partición. Aunque cada partición física puede contener varios inquilinos, los datos de los distintos inquilinos permanecen lógicamente separados.
Nivel de clave de partición Multitenencia
Escalabilidad: La estrategia a nivel de clave de partición ofrece el enfoque más escalable, ya que admite millones de inquilinos.
Aislamiento de datos: Esta estrategia ofrece un aislamiento de datos relativamente débil porque varios inquilinos pueden compartir una partición física.
Flexibilidad: Dado que todos los inquilinos deben compartir el mismo esquema de datos, esta estrategia ofrece una flexibilidad de datos limitada.
Otros: No se admite RBAC en el nivel de clave de partición. Los inquilinos pueden ser consultados individualmente o a través de múltiples particiones, lo que hace que este enfoque sea adecuado para escenarios que implican consultas agregadas o análisis a través de segmentos de inquilinos.
Elegir la estrategia multi-tenancy adecuada
La siguiente tabla ofrece una comparación exhaustiva entre los cuatro niveles de estrategias multitenencia.
Nivel de base de datos |
A nivel de colección |
Nivel de partición |
Nivel de clave de partición |
|
|---|---|---|---|---|
Aislamiento de datos |
Físico |
Físico |
Físico |
Físico + Lógico |
Número máximo de inquilinos |
Por defecto, 64. Puede aumentarlo modificando el parámetro |
Por defecto, 65.536. Puede aumentarlo modificando el parámetro |
Hasta 1.024 por colección. |
Millones |
Flexibilidad del esquema de datos |
Alta |
Media |
Baja |
Bajo |
Compatibilidad con RBAC |
Sí |
Sí |
No |
No |
Rendimiento de la búsqueda |
Fuerte |
Fuerte |
Media |
Media |
Soporte de búsqueda entre usuarios |
No |
No |
Sí |
Sí |
Soporte para la gestión eficaz de datos calientes y fríos |
Sí |
Sí |
Sí |
No Actualmente, no se admite para la estrategia a nivel de clave de partición. |
Hay varios factores a tener en cuenta cuando se elige la estrategia multi-tenancy en Milvus.
Escalabilidad: Clave de partición > Partición > Colección > Base de datos
Si espera soportar un gran número de inquilinos (millones o más), utilice la estrategia a nivel de clave de partición.
Requisitos estrictos de aislamiento de datos: Base de datos = Colección > Partición > Clave de partición
Elija estrategias a nivel de base de datos, colección o partición si tiene requisitos estrictos de aislamiento físico de datos.
Esquema de datos flexible para los datos de cada tenant: Base de datos > Colección > Partición = Clave de partición
Las estrategias a nivel de base de datos y a nivel de colección proporcionan una flexibilidad total en los esquemas de datos. Si las estructuras de datos de sus inquilinos son diferentes, elija multi-tenancy a nivel de base de datos o a nivel de colección.
Otros
Rendimiento: El rendimiento de la búsqueda viene determinado por varios factores, incluidos los índices, los parámetros de búsqueda y las configuraciones de las máquinas. Milvus también permite ajustar el rendimiento. Se recomienda probar el rendimiento real antes de seleccionar una estrategia de multi-tenencia.
Gestión eficaz de datos calientes y fríos: Actualmente, las estrategias a nivel de base de datos, a nivel de colección y a nivel de partición admiten la gestión de datos calientes y fríos.
Búsquedas entre inquilinos: Sólo las estrategias a nivel de partición y a nivel de clave de partición admiten consultas entre usuarios.