Una base de datos vectorial almacena documentos junto con sus embeddings y responde a las consultas mediante búsqueda de vecinos más cercanos en el espacio vectorial. Como la búsqueda exacta de vecinos más cercanos es costosa a gran escala, estos sistemas recurren a métodos aproximados como el índice de grafos HNSW de Malkov y Yashunin (2018) y a bibliotecas de búsqueda aceleradas por GPU como FAISS (Johnson et al., 2017).
El resultado es una recuperación semántica en menos de un segundo sobre millones de pasajes: la capa de almacenamiento que hace viable la generación aumentada por recuperación.
¿Para qué sirve una base de datos vectorial?
Una base de datos tradicional encuentra filas que coinciden exactamente con un valor; una base de datos vectorial encuentra elementos cercanos en significado. Una búsqueda de «cómo restablezco mi contraseña» puede devolver un artículo de ayuda titulado «Recuperar el acceso a la cuenta» aunque apenas compartan palabras. Por eso las bases de datos vectoriales son la columna vertebral de:
- Búsqueda semántica en centros de ayuda, wikis y archivos de documentos
- Chatbots de RAG que responden a partir de documentos privados
- Recomendaciones: «más como esto» para productos, artículos o canciones
- Detección de duplicados y casi duplicados
- Búsqueda por similitud de imágenes y audio
Cómo funciona una base de datos vectorial
- 1Vectorizar y almacenar. Un modelo de embeddings convierte cada elemento en un embedding, que se guarda junto con su contenido original y sus metadatos.
- 2Indexar. Los vectores se organizan en un índice aproximado como HNSW, que sacrifica un poco de precisión a cambio de grandes mejoras de velocidad.
- 3Consultar. La consulta se vectoriza con el mismo modelo y la base de datos encuentra los vectores más cercanos según una medida de similitud como la similitud del coseno.
- 4Filtrar y devolver. La mayoría de los sistemas combinan la búsqueda por similitud con filtros de metadatos (fecha, autor, permisos) y devuelven las mejores coincidencias, que a menudo pasan a un reranker.
Base de datos vectorial frente a base de datos tradicional
| Base de datos tradicional | Base de datos vectorial | |
|---|---|---|
| Busca coincidencias por | Valores exactos y palabras clave | Cercanía de significado |
| Consulta | Consultas SQL o búsquedas por clave | Un embedding de la pregunta |
| Índice | Árbol B o índice invertido | Índice de vecinos más cercanos aproximados (p. ej., HNSW) |
| Resultado | Todas las filas que coinciden | Los k elementos más similares, ordenados |
Las opciones van desde bases de datos vectoriales dedicadas, como Pinecone, Weaviate, Milvus, Qdrant y Chroma, hasta extensiones de búsqueda vectorial para bases de datos existentes, como pgvector para PostgreSQL. Para muchos equipos, añadir búsqueda vectorial a una base de datos que ya utilizan es más sencillo que mantener un sistema aparte.