Conceptos

Bases de Datos Vectoriales

Sistemas de almacenamiento especializados en indexar y buscar vectores de alta dimensión de forma eficiente, habilitando búsqueda semántica y aplicaciones de RAG a escala.

seed#vector-database#embeddings#similarity-search#rag#pinecone#pgvector

¿Qué es?

Una base de datos vectorial es un sistema de almacenamiento optimizado para guardar, indexar y buscar vectores de alta dimensión — típicamente embeddings generados por modelos de IA. A diferencia de las bases de datos tradicionales que buscan por coincidencia exacta, las bases vectoriales encuentran los vectores más similares a una consulta.

Son la infraestructura fundamental para búsqueda semántica y RAG a escala.

¿Por qué no usar una base de datos tradicional?

Buscar el vector más cercano entre millones requiere comparar distancias con cada uno — O(n) por consulta. Las bases vectoriales usan índices aproximados (ANN — Approximate Nearest Neighbors) que reducen esto a O(log n) o mejor, sacrificando precisión perfecta por velocidad práctica.

Algoritmos de indexación

  • HNSW (Hierarchical Navigable Small World): grafos navegables que permiten búsqueda eficiente. El más popular por su balance velocidad/precisión
  • IVF (Inverted File Index): particiona el espacio en clusters y busca solo en los más cercanos
  • PQ (Product Quantization): comprime vectores para reducir memoria, útil para datasets masivos
  • Flat: búsqueda exacta sin índice — preciso pero lento, solo para datasets pequeños

Opciones de bases vectoriales

Bases dedicadas

BaseCaracterísticas
PineconeServerless, managed, fácil de empezar
WeaviateOpen-source, GraphQL, módulos de ML integrados
QdrantOpen-source, Rust, filtros avanzados
MilvusOpen-source, escalable, CNCF project
ChromaOpen-source, embebible, ideal para prototipos

Extensiones de bases existentes

BaseExtensión
PostgreSQLpgvector
ElasticsearchDense vector field
RedisRedis Stack (RediSearch)
MongoDBAtlas Vector Search

Consideraciones de diseño

  • Dimensionalidad: más dimensiones = más almacenamiento y cómputo. 1536 (OpenAI) vs 384 (MiniLM) hace diferencia a escala
  • Filtrado híbrido: combinar búsqueda vectorial con filtros de metadatos (fecha, categoría, usuario)
  • Actualizaciones: algunos índices son costosos de actualizar — considerar estrategias de batch
  • Consistencia: muchas bases vectoriales priorizan disponibilidad sobre consistencia estricta

Patrón típico de uso

1. Documento → Chunking → Embedding model → Vector
2. Vector + metadata → Vector DB (insert)
3. Query → Embedding model → Vector
4. Vector → Vector DB (search) → Top-K results
5. Results → LLM context → Response

¿Por qué importa?

Las bases de datos vectoriales son la infraestructura que hace posible la búsqueda semántica y RAG a escala. Elegir entre pgvector, Pinecone, Weaviate o Qdrant depende del volumen de datos, los requisitos de latencia y si ya tienes PostgreSQL en tu stack.

Referencias

Conceptos