Vector Database: Guía para Principiantes [2026]
Qué son las bases de datos vectoriales, por qué son esenciales para IA, y cómo elegir entre Pinecone, Chroma, Weaviate y pgvector.
Vector Database: Guía para Principiantes [2026]
TLDR: Una base de datos vectorial almacena embeddings para búsqueda por similitud semántica. Esencial para RAG, recomendaciones y búsqueda semántica. Opciones: Chroma (gratis, local), Pinecone (cloud fácil), pgvector (si ya usas Postgres).
Qué es una vector database
Una base de datos vectorial almacena y busca vectores (embeddings) de forma eficiente.
Diferencia con SQL tradicional
| Tipo | SQL Tradicional | Vector Database |
|---|---|---|
| Búsqueda | Exacta (WHERE x = y) | Por similitud |
| Datos | Texto, números | Vectores (arrays) |
| Uso típico | CRUD, transacciones | IA, búsqueda semántica |
| Ejemplo | "Dame usuarios de Madrid" | "Encuentra textos similares a este" |
Cómo funciona
11. Texto → Embedding → Vector [0.12, -0.34, ...]22. Vector se guarda en la BD33. Query → Embedding → Buscar vectores similares44. Devolver resultados ordenados por similitud
Cuándo necesitas una
Casos de uso
| Caso | Descripción | Vector DB necesaria |
|---|---|---|
| RAG | Dar contexto a LLMs | ✅ Sí |
| Búsqueda semántica | Buscar por significado | ✅ Sí |
| Recomendaciones | Items similares | ✅ Sí |
| Detección duplicados | Encontrar similares | ✅ Sí |
| Clasificación | Categorizar textos | ⚠️ Opcional |
Señales de que la necesitas
- Tienes más de 10,000 documentos para buscar
- Búsqueda por keywords no funciona bien
- Construyes un sistema RAG
- Necesitas búsqueda en tiempo real con baja latencia
Comparativa de opciones
Tabla comparativa
| Base de datos | Tipo | Precio | Mejor para |
|---|---|---|---|
| Chroma | Local/Cloud | Gratis | Desarrollo, proyectos pequeños |
| Pinecone | Cloud | Free tier + pago | Producción fácil |
| Weaviate | Self-hosted/Cloud | Gratis (self) | Control total |
| Qdrant | Self-hosted/Cloud | Gratis (self) | Alto rendimiento |
| pgvector | Extensión Postgres | Gratis | Ya usas Postgres |
| Milvus | Self-hosted | Gratis | Escala masiva |
Mi recomendación
- Empezando/Desarrollo: Chroma
- Producción fácil: Pinecone
- Ya tienes Postgres: pgvector
- Control total: Weaviate o Qdrant
Tutorial con Chroma
Chroma es la opción más fácil para empezar.
Instalación
1pip install chromadb
Uso básico
1import chromadb2from chromadb.utils import embedding_functions3 4# Crear cliente5client = chromadb.Client()6 7# Usar embeddings de OpenAI8openai_ef = embedding_functions.OpenAIEmbeddingFunction(9 api_key="sk-...",10 model_name="text-embedding-3-small"11)12 13# Crear colección14collection = client.create_collection(15 name="mis_documentos",16 embedding_function=openai_ef17)18 19# Añadir documentos20collection.add(21 documents=[22 "Python es un lenguaje de programación",23 "JavaScript se usa para desarrollo web",24 "El café es una bebida con cafeína"25 ],26 ids=["doc1", "doc2", "doc3"]27)28 29# Buscar30results = collection.query(31 query_texts=["lenguajes de programación"],32 n_results=233)34 35print(results['documents'])36# [['Python es un lenguaje de programación',37# 'JavaScript se usa para desarrollo web']]
Persistir datos
1# Cliente con persistencia2client = chromadb.PersistentClient(path="./chroma_db")3 4# Los datos se guardan automáticamente
Tutorial con Pinecone
Pinecone es la opción más fácil para producción.
Configuración
1pip install pinecone-client
1from pinecone import Pinecone, ServerlessSpec2 3# Inicializar4pc = Pinecone(api_key="tu-api-key")5 6# Crear índice7pc.create_index(8 name="mi-indice",9 dimension=1536, # dimensión de text-embedding-3-small10 metric="cosine",11 spec=ServerlessSpec(12 cloud="aws",13 region="us-east-1"14 )15)16 17# Conectar al índice18index = pc.Index("mi-indice")
Insertar y buscar
1from openai import OpenAI2 3openai = OpenAI()4 5def get_embedding(text):6 response = openai.embeddings.create(7 model="text-embedding-3-small",8 input=text9 )10 return response.data[0].embedding11 12# Insertar13documents = [14 {"id": "1", "text": "Python es genial"},15 {"id": "2", "text": "JavaScript para web"},16]17 18vectors = []19for doc in documents:20 embedding = get_embedding(doc["text"])21 vectors.append({22 "id": doc["id"],23 "values": embedding,24 "metadata": {"text": doc["text"]}25 })26 27index.upsert(vectors=vectors)28 29# Buscar30query_embedding = get_embedding("programación")31results = index.query(32 vector=query_embedding,33 top_k=3,34 include_metadata=True35)36 37for match in results["matches"]:38 print(f"{match['score']:.3f}: {match['metadata']['text']}")
Tutorial con pgvector
Si ya usas PostgreSQL, pgvector es ideal.
Instalación
1-- En PostgreSQL2CREATE EXTENSION vector;
Crear tabla
1CREATE TABLE documents (2 id SERIAL PRIMARY KEY,3 content TEXT,4 embedding vector(1536)5);
Insertar y buscar (Python)
1import psycopg22from openai import OpenAI3 4openai = OpenAI()5conn = psycopg2.connect("postgresql://...")6cur = conn.cursor()7 8def get_embedding(text):9 response = openai.embeddings.create(10 model="text-embedding-3-small",11 input=text12 )13 return response.data[0].embedding14 15# Insertar16text = "Python es un lenguaje de programación"17embedding = get_embedding(text)18 19cur.execute(20 "INSERT INTO documents (content, embedding) VALUES (%s, %s)",21 (text, embedding)22)23conn.commit()24 25# Buscar (similitud coseno)26query = "lenguajes de código"27query_embedding = get_embedding(query)28 29cur.execute("""30 SELECT content, 1 - (embedding <=> %s::vector) as similarity31 FROM documents32 ORDER BY embedding <=> %s::vector33 LIMIT 534""", (query_embedding, query_embedding))35 36for row in cur.fetchall():37 print(f"{row[1]:.3f}: {row[0]}")
FAQ
¿Cuántos vectores puedo almacenar gratis?
| Servicio | Free tier |
|---|---|
| Pinecone | 100K vectores |
| Chroma | Ilimitado (local) |
| Qdrant | Ilimitado (self-hosted) |
| pgvector | Ilimitado |
¿Qué dimensión de embeddings usar?
1536 es el estándar con text-embedding-3-small de OpenAI. Usa la dimensión que devuelva tu modelo de embeddings.
¿Vector DB reemplaza a SQL?
No. Usa vector DB para búsqueda semántica y SQL para datos estructurados. Muchas apps usan ambas.
¿Cuál es más rápida?
Qdrant y Milvus son las más rápidas para grandes volúmenes. Para < 1M vectores, todas son suficientemente rápidas.
Conclusión
Las bases de datos vectoriales son esenciales para IA moderna:
- Chroma para empezar y proyectos pequeños
- Pinecone para producción sin complicaciones
- pgvector si ya tienes PostgreSQL
- Qdrant/Weaviate para control total
Recursos relacionados:
Más contenido técnico en Javadex.es
Síguenos: YouTube @JavadexAI | TikTok @javadex
¿Listo para poner tu proyecto en producción?
Si estás siguiendo este tutorial, necesitas un servidor donde desplegarlo. Yo uso Hostinger para mis proyectos porque el panel es intuitivo, los VPS van con SSD NVMe, y a 4,99€/mes no hay nada comparable en relación calidad-precio.
* Enlace de afiliado. Si contratas a través de este enlace, nos ayudas a mantener este contenido gratuito.
Posts Relacionados
Consultoría IA en San Sebastián (Donostia): Agentes, Automatización y Modelos Privados para Empresas [2026]
Guía completa de servicios de inteligencia artificial en San Sebastián: agentes IA, automatización, modelos privados y consultoría para empresas vascas en 2026.
Kit Digital 2026 para IA: Cómo Solicitar Hasta 12.000€ para tu PYME Paso a Paso
Tutorial paso a paso para solicitar el Kit Digital 2026 con soluciones de IA. Requisitos, cuantías por segmento (hasta 12.000€), agentes digitalizadores y errores que rechazan tu solicitud.
Formación en Claude Code para Empresas en España: Proveedores, Precios y Qué Esperar [2026]
Guía de formación en Claude Code para empresas españolas: proveedores, precios (desde 4.000€), programas in-company, duración y resultados esperados.
Javier Santos Criado
Consultor de IA y Automatización | Fundador de Javadex
Experto en implementación de soluciones de Inteligencia Artificial para empresas. Especializado en automatización con n8n, integración de LLMs, y desarrollo de agentes IA.
Lleva tu proyecto a producción
Hosting web desde 2,99€/mes o VPS con SSD NVMe desde 4,99€/mes. Panel intuitivo, IP dedicada y soporte 24/7 en español.
¿Quieres más contenido de IA?
Explora nuestras comparativas y guías