Una base de datos vectorial es un sistema de almacenamiento especializado, diseñado para manejar vectores de alta dimensionalidad: matrices numéricas de, normalmente, cientos o miles de números en coma flotante que los modelos de aprendizaje automático utilizan para representar significado. Palabras, frases, imágenes, clips de audio y comportamientos de usuarios pueden codificarse como vectores, y una base de datos vectorial permite almacenar miles de millones de estas incrustaciones y encontrar las coincidencias más cercanas a una nueva consulta en milisegundos.
Cómo funciona una base de datos vectorial
Cuando un modelo de ML, como un modelo de lenguaje de gran tamaño o un codificador de visión, genera una incrustación, ese vector se envía a la base de datos junto con una referencia al elemento original —un fragmento de texto, un archivo de imagen, un registro de producto, etc.—. La base de datos crea un índice mediante un algoritmo de vecinos más cercanos aproximados (ANN), como HNSW (Hierarchical Navigable Small World) o IVF (Inverted File Index): estructuras que sacrifican una pequeña parte de la precisión a cambio de consultas mucho más rápidas sobre conjuntos de datos grandes. En el momento de la búsqueda, la aplicación envía una incrustación nueva como consulta y el índice devuelve los k vectores principales ordenados por una métrica de similitud, habitualmente similitud del coseno, producto escalar o distancia euclídea.
Por qué es importante
La búsqueda tradicional por palabras clave no puede distinguir que «compañero felino» y «gato doméstico» significan casi lo mismo, pero sus incrustaciones se sitúan muy cerca en el espacio vectorial, por lo que una base de datos vectorial las muestra como coincidencias igualmente. Esta capacidad es la base de la búsqueda semántica moderna, los sistemas de recomendación, la recuperación de imágenes y audio, la detección de anomalías y el paso de recuperación en la Generación Aumentada por Recuperación (RAG), donde un LLM se fundamenta en documentos obtenidos desde un almacén vectorial. Sin un índice creado a tal efecto, comparar una consulta con millones de vectores uno a uno sería demasiado lento para tráfico en producción.
Tipos principales y ejemplos
- Bases de datos vectoriales dedicadas: motores creados específicamente para este fin, como Milvus, Qdrant, Weaviate y Pinecone, diseñados desde cero en torno a índices ANN.
- Bibliotecas de búsqueda vectorial: motores ligeros como FAISS y Annoy que se ejecutan dentro de una aplicación en lugar de como un servicio independiente.
- Bases de datos híbridas: almacenes convencionales como PostgreSQL (mediante pgvector), Elasticsearch y MongoDB que añaden indexación vectorial a sus funciones de documentos o relacionales ya existentes.
- Servicios gestionados en la nube: ofertas alojadas de los principales proveedores de nube que integran la búsqueda vectorial con plataformas de datos más amplias.
La elección entre ellos suele depender de la escala, los requisitos de latencia, de si los datos conviven con registros estructurados y de cuánta carga operativa está dispuesta a asumir un equipo. Los sistemas más sólidos del sector se evalúan con benchmarks como la clasificación de ANN-Benchmarks, que compara la exhaustividad (recall) con las consultas por segundo en conjuntos de datos representativos.