Inteligencia artificial
¿Qué es la multitenencia en bases de datos vectoriales?
Cuando carga y administra sus datos en GitHub que nadie más puede ver a menos que los haga públicos, comparte infraestructura física con otros usuarios. Eso se debe a que GitHub utiliza la multitenencia como una alternativa rentable y más fácil de administrar que asignar una base de datos separada a cada usuario.
Sin embargo, compartir la misma infraestructura se convierte en un riesgo de seguridad cuando todos los usuarios pueden ver los datos de los demás. La multitenencia aborda este problema mediante la partición lógica de los datos de los usuarios mientras les permite ejecutarse en los mismos recursos.
Este artículo explora la multitenencia en bases de datos vectoriales, sus beneficios, limitaciones y casos de uso en el mundo real.
¿Cómo funciona la multitenencia en bases de datos vectoriales?
La multitenencia es un enfoque donde múltiples inquilinos, es decir, usuarios, comparten la misma base de datos pero almacenan sus datos en un entorno aislado.
Un entorno aislado se crea utilizando credenciales únicas para cada inquilino para proteger sus datos. Como resultado, cada inquilino puede almacenar, administrar y alterar sus datos en su entorno aislado. Sin embargo, la empresa tiene acceso para administrar y controlar los recursos y limitaciones de los inquilinos.

Ilustración de muestra de una colección de dos inquilinos con acceso aislado a la misma base de datos. Fuente de la imagen: Qdrant
Las bases de datos vectoriales utilizan indexación como una técnica de búsqueda que organiza los vectores en función de la similitud. La estrategia de indexación impacta en la partición de los datos de los inquilinos. Actualmente, se utilizan dos estrategias de indexación en bases de datos vectoriales multitenantes.
Veamos ambas estrategias de indexación en bases de datos vectoriales multitenantes:
- Indexación compartida: Todos los inquilinos comparten el mismo índice con credenciales únicas que dividen los datos. Este método es eficiente en términos de memoria. Sin embargo, requiere mecanismos de seguridad y control de acceso robustos para proteger los datos de los inquilinos.
- Indexación por inquilino: Cada inquilino tiene un índice separado en la indexación por inquilino. Esto permite un control de acceso completo y una mejora en el rendimiento de la búsqueda. Sin embargo, este método es intensivo en recursos.
Algunas bases de datos vectoriales como Qdrant y Milvus ofrecen arquitectura multitenante para permitir una personalización y escalabilidad adicionales para los usuarios con ambas estrategias de indexación.
Beneficios de la multitenencia en bases de datos vectoriales
La multitenencia en bases de datos vectoriales ofrece numerosos beneficios para las empresas que requieren instancias de base de datos aisladas para varios usuarios. Algunos de los beneficios incluyen:
1. Reducción de costos
Utilizar menos recursos para más usuarios da como resultado una reducción de los costos de infraestructura.
2. Escalabilidad
La multitenencia permite la compartición de recursos según las necesidades. Esto significa que los inquilinos con más requisitos de almacenamiento obtienen más recursos y viceversa.
3. Personalización
Un entorno separado permite a los inquilinos configurarlo según sus necesidades, incluyendo esquema de base de datos, complementos, métricas y paneles. Las configuraciones son privadas para los inquilinos, y los inquilinos pueden cambiarlas a medida que cambian sus requisitos.
4. Administración
Una base de datos única para todos los inquilinos permite administración de recursos centralizada, configuración y supervisión en lugar de supervisar a todos los inquilinos por separado. Mientras que una empresa puede administrar a todos los inquilinos en un solo lugar, los inquilinos tienen el control para administrar sus datos dentro de sus entornos aislados.
Limitaciones de la multitenencia en bases de datos vectoriales
Al igual que cualquier otro enfoque arquitectónico, la multitenencia tiene algunas limitaciones. Es importante considerar estas limitaciones para tomar decisiones informadas. Las limitaciones más comunes incluyen:
1. Complejidades adicionales
Administrar a múltiples inquilinos en un solo recurso requiere una configuración adicional. Esto incluye la incorporación de inquilinos, control de acceso, autenticación de usuarios y autorización. La falta de conocimiento y soporte podría generar resultados no deseados como el intercambio accidental de datos o la sobrecarga de recursos.
Para abordar esto, la planificación cuidadosa y el soporte de la base de datos garantizan un entorno de usuario seguro.
2. Preocupaciones de seguridad
El acceso malicioso, la configuración accidental o las vulnerabilidades en la infraestructura subyacente pueden provocar el intercambio de datos entre inquilinos. Como salvaguardias, la implementación de un diseño cuidadoso, la realización de auditorías regulares y la incorporación de medidas de seguridad multicapacidad pueden fortalecer la seguridad general.
3. Cuellos de botella de rendimiento
Un uso más alto de recursos por parte de un inquilino puede ralentizar el rendimiento de los demás. La indexación compartida afecta específicamente el rendimiento de la búsqueda debido a las comprobaciones de permisos en tiempo de ejecución para coincidir con la lista de acceso. La administración de recursos y el control, las actualizaciones regulares y la educación de los inquilinos son importantes para mitigar los problemas de rendimiento.
4. Tiempo de inactividad del sistema
El mantenimiento programado, la falla del hardware y los errores de software afectan a todos los inquilinos cuando comparten una infraestructura similar. Esto conduce a pérdidas de datos, reputación y financieras. La evaluación de riesgos regular, el aseguramiento de la calidad de la infraestructura y la copia de seguridad oportuna pueden minimizar el impacto negativo de los tiempos de inactividad del sistema.
Casos de uso de la multitenencia
La multitenencia es útil en diversas aplicaciones, desde sistemas de recomendación de comercio electrónico hasta la capacitación de grandes modelos de aprendizaje automático (ML) en empresas. Algunos de los casos de uso más comunes incluyen:
1. Sistemas de recomendación
Imagínese una plataforma de comercio electrónico donde los usuarios pueden registrarse y guardar sus preferencias de compra. Una configuración multitenante permitiría recomendaciones de productos personalizadas para cada usuario.
En la plataforma de comercio electrónico, todos los inquilinos pueden establecer sus criterios, por lo que el sistema de recomendación envía recomendaciones de productos personalizadas a los usuarios finales.
2. Aplicaciones empresariales
Las grandes aplicaciones de software que sirven a múltiples empleados y clientes utilizan la misma base de datos para todos los usuarios. Todos los usuarios pueden cargar y administrar sus datos mientras los protegen de los demás. Por ejemplo, Dropbox y HubSpot permiten que todos los usuarios compartan los mismos recursos pero mantengan sus datos protegidos entre sí.
3. Detección de anomalías y fraude
La multitenencia permite el desarrollo de sistemas de detección de fraude robustos mientras mantiene los datos individuales seguros. Las empresas entrenan modelos de detección de fraude en sus datos anonimizados y envían solo el modelo entrenado a la base de datos centralizada. Esto les permite mantener sus datos seguros mientras contribuyen al desarrollo de sistemas de detección de fraude.
Por ejemplo, los sistemas de detección de fraude de tarjetas de crédito utilizan ML para una mayor privacidad y eficiencia.
¿Cuándo usar y cuándo no usar la multitenencia?
Múltiples factores contribuyen a la decisión de cambiar a la multitenencia, incluyendo el rendimiento de los inquilinos, los requisitos de aislamiento y las preocupaciones de seguridad. Veamos cuándo y cuándo no usar la multitenencia en detalle a continuación.
¿Cuándo usar la multitenencia?
Los siguientes indicadores hacen que la multitenencia sea una buena opción:
- Múltiples inquilinos necesitan entornos separados.
- Los inquilinos pueden aceptar compensaciones de rendimiento.
- La reducción de costos es su prioridad.
- La administración centralizada de inquilinos mejora sus operaciones.
¿Cuándo no usar la multitenencia?
Las limitaciones de la multitenencia la impiden ser una buena opción para todas las situaciones. Una base de datos vectorial multitenante no es una buena opción para usted si tiene los siguientes requisitos:
- Los inquilinos poseen datos altamente sensibles con requisitos de seguridad estrictos.
- Un número limitado de inquilinos con un crecimiento lento.
- Los inquilinos requieren entornos dedicados y no pueden tolerar la degradación del rendimiento.
- Capacidad y experiencia limitadas en multitenencia para manejar la creciente complejidad.
La multitenencia introduce escalabilidad y administración adicionales a las bases de datos vectoriales. Si se configura correctamente, la multitenencia ahorra costos y recursos significativos para una organización.
¿Está interesado en más contenido relacionado con la IA? Manténgase en contacto con unite.ai.




