🚀 Try Zilliz Cloud, the fully managed Milvus, for free—experience 10x faster performance! Try Now>>

milvus-logo
LFAI
Home
  • Conceptos

Estrategias multiarrendamiento

En muchos casos de uso, los desarrolladores quieren ejecutar un clúster Milvus y servir a múltiples inquilinos, como un par de equipos de producto, o millones de usuarios finales. Esta guía explica algunas estrategias diferentes para conseguir multiarrendamiento en Milvus.

Milvus está diseñado para soportar multi-tenancy a nivel de base de datos, colección o partición. El objetivo de la multitenencia es separar los datos y los recursos entre sí. La implementación de la multi-tenencia a diferentes niveles puede lograr diferentes grados de aislamiento, pero también implica diferentes gastos generales. A continuación explicamos sus ventajas y desventajas.

Arrendamiento múltiple orientado a la base de datos

Desde la versión 2.2.9 de Milvus, puede crear múltiples bases de datos en un único cluster Milvus. Esta característica hace posible lograr la multi-tenencia orientada a la base de datos asignando una base de datos para cada inquilino, de modo que puedan crear sus propias colecciones. Este enfoque proporciona el mejor aislamiento de datos y recursos para los inquilinos, pero está limitado a 64 bases de datos en un clúster como máximo.

Arrendamiento múltiple orientado a colecciones

Hay dos formas posibles de conseguir la multitenencia orientada a colecciones.

Una colección para todos los inquilinos

Utilizar una única colección para implementar la multitenencia añadiendo un campo de inquilino para distinguir entre inquilinos es una opción sencilla. Al realizar búsquedas de RNA para un inquilino específico, añada una expresión de filtro para filtrar todas las entidades que pertenezcan a otros inquilinos. Esta es la forma más sencilla de conseguir la multitenencia. Sin embargo, tenga en cuenta que el rendimiento del filtro puede convertirse en el cuello de botella de las búsquedas RNA. Para mejorar el rendimiento de la búsqueda, puede optimizar con la multitenencia orientada a particiones que se indica a continuación.

Una colección por tenant

Otro enfoque consiste en crear una colección para que cada inquilino almacene sus propios datos, en lugar de almacenar los datos de todos los inquilinos en una única colección. Esto proporciona un mejor aislamiento de los datos y un mejor rendimiento de las consultas. Sin embargo, hay que tener en cuenta que este enfoque requiere más recursos en la programación y está limitado a 10.000 colecciones en un clúster como máximo.

Arrendamiento múltiple orientado a particiones

Hay dos formas de conseguir la multitenencia orientada a particiones:

Una partición por inquilino

Gestionar una única colección es mucho más fácil que gestionar varias. En lugar de crear varias colecciones, considere la posibilidad de asignar una partición a cada inquilino para lograr un aislamiento de datos y una gestión de memoria flexibles. El rendimiento de búsqueda de la multi-tenencia orientada a particiones es mucho mejor que la multi-tenencia orientada a colecciones. Sin embargo, hay que tener en cuenta que el número de inquilinos de la colección no debe superar el número máximo de particiones que puede contener una colección.

Multiarrendamiento basado en claves de partición

Milvus 2.2.9 introduce una nueva característica llamada clave de partición. Al crear una colección, nombre un campo de inquilino y conviértalo en el campo de clave de partición. Milvus almacenará entidades en una partición según el valor hash del campo de clave de partición. Al realizar búsquedas RNA, Milvus sólo buscará en la partición que contenga la clave de partición. Esto reducirá en gran medida el alcance de la búsqueda, logrando así un mejor rendimiento que sin clave de partición.

Esta estrategia elimina el límite del número máximo de inquilinos que puede soportar una colección de Milvus y simplifica enormemente la gestión de recursos porque Milvus gestiona automáticamente las particiones por usted.

Para recapitular, puede utilizar una o varias de las estrategias multi-tenancy anteriores para formar su propia solución. La siguiente tabla compara estas estrategias en términos de aislamiento de datos, rendimiento de búsqueda y número máximo de inquilinos.

Aislamiento de datosRendimiento de búsquedaNúmero máximo de inquilinosEscenarios recomendados
Orientado a la base de datosFuerteFuerte64Para aquellos que requieren que las colecciones varíen con los proyectos, especialmente adecuado para el aislamiento de datos entre los departamentos de su organización.
Una colección para todosDébilMediaN/APara aquellos que tienen recursos limitados y son insensibles al aislamiento de datos.
Una recopilación por inquilinoFuerteFuerteMenos de 10.000Para aquellos que tienen menos de 10.000 inquilinos por clúster.
Una partición por inquilinoMediaFuerte4,096Para aquellos que tienen menos de 4.096 inquilinos por colección.
Basado en clave de particiónMediaFuerte10,000,000+Para aquellos que prevén un rápido aumento de inquilinos hasta millones.

Lo que viene después

Gestionarel esquema delas bases de datos

Traducido porDeepL

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
Feedback

¿Fue útil esta página?