Módulo 2: Cómo funcionan Vector Databases (Conceptual)

Cápsula 08: Por qué esto importa para RAG - Resumen del Módulo

🎯 Objetivo de la cápsula

Consolidar aprendizajes del Módulo 2 y conectar arquitectura de vector databases con decisiones prácticas en RAG systems.

Al finalizar esta cápsula:

  • ✅ Explicarás impact de indexing algorithms en RAG performance
  • ✅ Entenderás impact en costos (10x diferencia)
  • ✅ Justificarás trade-offs accuracy vs cost
  • ✅ Estarás listo para Módulo 3 (Features para RAG)

Tiempo estimado: 5-7 minutos


🏗️ Resumen: Las 3 capas + Algoritmos

Lo que aprendiste en este módulo

Módulo 2 en una imagen:

┌──────────────────────────────────────────────────┐
│  LAYER 1: INDEXING                               │
│                                                  │
│  HNSW: O(log n), 98% accuracy, 6 GB (1M vecs)  │
│  IVF:  O(sqrt(n)), 93% accuracy, 2 GB          │
│  PQ:   O(n) compressed, 88% accuracy, 1 GB     │
│                                                  │
│  Trade-off: Accuracy vs Speed vs Memory         │
└──────────────────────────────────────────────────┘
                      ↓
┌──────────────────────────────────────────────────┐
│  LAYER 2: QUERY ENGINE                           │
│  - ANN search usando índice Layer 1              │
│  - Metadata filtering (where clauses)            │
│  - Ranking y re-scoring                          │
└──────────────────────────────────────────────────┘
                      ↓
┌──────────────────────────────────────────────────┐
│  LAYER 3: STORAGE                                │
│  - Persistir vectores + metadata                 │
│  - Durability (WAL, snapshots)                   │
│  - Replication (HA)                              │
└──────────────────────────────────────────────────┘

Mensaje clave: Entender arquitectura interna te permite debuggear, optimizar, y tomar mejores decisiones en RAG.


📊 Impact en Performance de RAG

Retrieval es el bottleneck

RAG pipeline típico:

User Query (100ms total)
    ↓
1. Embed query (OpenAI API)            10ms  (10%)
    ↓
2. Vector DB retrieval ← BOTTLENECK    60ms  (60%)
    ↓
3. LLM generation (OpenAI API)         30ms  (30%)
    ↓
Response

Clave: Retrieval domina 60% de latency. Optimizar indexing = mayor impacto.

Comparación: Brute Force vs HNSW vs IVF vs PQ

Escenario: 1M vectores, 1536-dim, top-10 retrieval

AlgoritmoLatencyAccuracy% vs Requirement
Brute Force (numpy)1500 ms100%❌ 3x slower (requisito: <500ms)
HNSW18 ms98%✅ 27x faster than requirement
IVF40 ms93%✅ 12x faster than requirement
IVF+PQ60 ms88%✅ 8x faster than requirement

Conclusión: Vector databases (con indexing) son ESENCIALES para RAG en producción.

Impact de accuracy loss

Pregunta: ¿98% vs 88% accuracy importa en RAG?

Experimento:

Query: "How do I reset my password?"
Database: 100K support articles

HNSW (98% accuracy):
  Top 10 results: 9.8 relevant, 0.2 irrelevant
  
IVF (93% accuracy):
  Top 10 results: 9.3 relevant, 0.7 irrelevant
  
IVF+PQ (88% accuracy):
  Top 10 results: 8.8 relevant, 1.2 irrelevant

¿Esto afecta respuesta de LLM?

En práctica: Depende de tu threshold.

Caso A: Top-3 context (critical)

  • HNSW: 2.94 relevantes → ✅ Excelente
  • IVF: 2.79 relevantes → ✅ Aceptable
  • IVF+PQ: 2.64 relevantes → ⚠️ Puede fallar

Caso B: Top-10 context (majority voting)

  • HNSW: 9.8 relevantes → ✅ Excelente
  • IVF: 9.3 relevantes → ✅ Muy bueno
  • IVF+PQ: 8.8 relevantes → ✅ Suficiente

Conclusión: Con top-10 retrieval, accuracy 88-93% es suficiente (LLM puede filtrar ruido).


💰 Impact en Costos

Costo de memoria (AWS)

Escenario: 10M vectores, 1536-dim

AlgoritmoRAM requeridoInstanceCosto/mes
HNSW80 GBr6i.4xlarge (128 GB)$730/month
IVF20 GBr6i.xlarge (32 GB)$180/month
IVF+PQ8 GBr6i.large (16 GB)$90/month

Diferencia: 8x costo entre HNSW y IVF+PQ.

Trade-off: 10% accuracy loss → 8x cost reduction.

Break-even analysis

Pregunta: ¿Cuándo vale la pena sacrificar accuracy por costo?

Caso A: Customer-facing chatbot (accuracy crítica)

HNSW: $730/month
- Accuracy: 98%
- Potential revenue loss from bad answers: $0

ROI: HNSW vale la pena

Caso B: Internal search (accuracy no crítica)

IVF+PQ: $90/month
- Accuracy: 88%
- Potential productivity loss: Minimal (users retry query)

Savings: $640/month = $7680/year
ROI: IVF+PQ vale la pena

Framework:

  • Customer-facing + revenue impact → HNSW
  • Internal + no revenue impact → IVF o IVF+PQ

🎯 Decision Framework para RAG

Matriz de decisión por escenario

Escenario A: RAG Chatbot (Customer-facing)

Requisitos:
- Vectores: 100K-500K
- Accuracy: >95% (customer satisfaction crítica)
- Latency: <500ms
- Updates: Incremental (diario)

Algoritmo: HNSW
DB: ChromaDB (MVP) → Pinecone/Weaviate (scale)

Escenario B: RAG Search (Internal)

Requisitos:
- Vectores: 1M-5M
- Accuracy: 90-95% (internal, no crítico)
- Latency: <1s
- Updates: Batch (semanal)

Algoritmo: IVF
DB: Faiss (self-hosted) o Weaviate (managed)

Escenario C: RAG Analytics (Massive scale)

Requisitos:
- Vectores: 10M-100M
- Accuracy: 85-90% (analytics, no real-time)
- Latency: <2s
- Updates: Batch (mensual)

Algoritmo: IVF + PQ
DB: Faiss (self-hosted optimizado)

Checklist de decisión

Usa esta checklist antes de elegir algoritmo:

  • Dataset size

    • < 1M → HNSW viable
    • 1M-5M → IVF o HNSW (según RAM)
    • 5M → IVF+PQ requerido

  • Accuracy requirement

    • 95% → HNSW only

    • 90-95% → IVF
    • 85-90% → IVF+PQ
  • Latency requirement

    • <50ms → HNSW
    • <200ms → IVF
    • <500ms → IVF+PQ
  • Budget

    • High → HNSW (managed)
    • Medium → IVF (self-hosted)
    • Low → IVF+PQ (self-hosted)
  • Update pattern

    • Incremental → HNSW
    • Batch → IVF o IVF+PQ

Si 4-5 criterios apuntan a algoritmo X → Usa ese algoritmo.


🧠 Conocimiento aplicado: Casos reales

Caso 1: Notion AI (Document Search)

Problema:

  • 50M documents
  • Latencia <100ms
  • Customer-facing (accuracy crítica)

Solución (estimada):

  • Algoritmo: HNSW (variant)
  • Arquitectura: Distributed HNSW (múltiples shards)
  • Costo: $50K-100K/month en infra

Trade-off: Costo alto aceptable (revenue justifica).

Caso 2: Perplexity AI (Web Search + RAG)

Problema:

  • 100M+ web pages indexed
  • Latencia <200ms
  • Accuracy 90% suficiente (multi-source RAG)

Solución (estimada):

  • Algoritmo: IVF (clustering por dominio)
  • Arquitectura: Distributed shards por topic
  • Optimización: Metadata pre-filtering (domain, recency)

Trade-off: Accuracy 93% vs 98% → No afecta porque multi-source (diversity > precision).

Caso 3: ChatGPT Plugins (Enterprise RAG)

Problema:

  • Variable (100K-10M docs por customer)
  • Latency <500ms
  • Multi-tenant (isolación crítica)

Solución (estimada):

  • Algoritmo: HNSW (per-tenant index)
  • Arquitectura: Pinecone (managed, isolation nativa)
  • Costo: $70-200/month por tenant

Trade-off: Managed service más costoso pero reduce ops overhead.


✅ Resumen del Módulo 2

Lo que dominaste

1. Arquitectura de 3 capas:

  • ✅ Layer 1 (Indexing): Construir estructura de búsqueda
  • ✅ Layer 2 (Query Engine): Ejecutar búsqueda + filtros
  • ✅ Layer 3 (Storage): Persistir con durabilidad

2. Algoritmos de indexing:

  • ✅ HNSW: O(log n), 98% accuracy, mejor para <1M vectores
  • ✅ IVF: O(sqrt(n)), 93% accuracy, mejor para 1M-5M vectores
  • ✅ PQ: O(n) compressed, 88% accuracy, mejor para >5M vectores

3. Decision framework:

  • ✅ Elegir algoritmo según requisitos (accuracy, latency, memoria, budget)
  • ✅ Configurar parámetros (M, efConstruction, nlist, nprobe, m, nbits)
  • ✅ Migration path (HNSW → IVF → IVF+PQ según scale)

4. Aplicación a RAG:

  • ✅ Optimizar retrieval bottleneck (60% de latency)
  • ✅ Trade-off accuracy vs cost (10% accuracy → 8x cost savings)
  • ✅ Configurar según escenario (chatbot vs search vs analytics)

🎓 Habilidades desbloqueadas

Ahora puedes:

  1. Debuggear performance issues

    Problema: "Retrieval tarda 500ms"
    
    Análisis:
    - Layer 1 (indexing): 450ms ← BOTTLENECK
    - Layer 2 (query): 30ms
    - Layer 3 (storage): 20ms
    
    Solución:
    - Rebuild índice HNSW con efConstruction=200 (vs 100)
    - Resultado: 50ms retrieval (9x improvement)
    
  2. Optimizar costos

    Problema: "ChromaDB consume 64 GB RAM"
    
    Análisis:
    - 10M vectores × 6 KB = 60 GB
    - HNSW overhead: 4 GB
    
    Solución:
    - Migrar a IVF+PQ
    - Resultado: 12 GB RAM (5x reducción)
    - Trade-off: 98% → 88% accuracy (aceptable para uso interno)
    
  3. Tomar decisiones arquitectónicas

    Pregunta: "¿ChromaDB o Pinecone?"
    
    Decision tree:
    - < 1M vectores → ChromaDB (self-hosted, free)
    - 1M-10M vectores → Pinecone (managed, $70-200/month)
    - > 10M vectores → Faiss IVF+PQ (self-hosted optimizado)
    
    Justificación: Scale + ops overhead vs cost
    

🔗 Conexión con próximos módulos

Módulo 3: Features Esenciales para RAG

Ahora que entiendes CÓMO funcionan vector databases internamente, aprenderás QUÉ features necesitas para RAG:

Temas:

  • Metadata filtering (where clauses)
  • Hybrid search (keyword + semantic)
  • Multi-tenancy (aislamiento de datos)
  • Batch operations (bulk insert/update)
  • Monitoring y observability

Con tu conocimiento de arquitectura interna, sabrás POR QUÉ estas features son importantes y CÓMO impactan performance.

Módulo 4-5: ChromaDB Hands-On

Implementarás RAG system con ChromaDB:

  • Setup HNSW con parámetros optimizados
  • Configurar metadata filtering
  • Benchmark performance (validar <50ms retrieval)

Tu conocimiento de HNSW te permitirá configurar inteligentemente (no solo copiar tutorial).

Módulo 6-8: Production Considerations

Escalarás RAG system:

  • Cuándo migrar de ChromaDB a Pinecone/Weaviate
  • Optimizar costos (HNSW → IVF cuando >1M vectores)
  • Monitoring de accuracy degradation

Tu conocimiento de algoritmos te permitirá tomar decisiones informadas de arquitectura.


✅ Test final del módulo

Valida que dominaste Módulo 2:

Pregunta 1

Tu RAG system tiene 500K vectores, accuracy debe ser >95%, latency <500ms, budget limitado.
¿Qué algoritmo y DB usarías?

Solución

HNSW con ChromaDB (self-hosted)

Razón:

  • Accuracy: 98% ✅ (cumple >95%)
  • Latency: 18ms ✅ (cumple <500ms)
  • Memoria: 3 GB ✅ (razonable)
  • Costo: $0 self-hosted ✅ (budget limitado)

Configuración:

collection = client.create_collection(
    name="docs",
    metadata={
        "hnsw:M": 16,
        "hnsw:construction_ef": 200,
        "hnsw:search_ef": 100,
    }
)

Pregunta 2

Tu retrieval tarda 300ms. Profiling muestra: Layer 1 (indexing) = 250ms, Layer 2 = 30ms, Layer 3 = 20ms.
¿Qué optimizarías?

Solución

Optimizar Layer 1 (Indexing)

Acciones:

  1. Verificar algoritmo: ¿HNSW o IVF?
  2. Si HNSW: Reducir efSearch (200 → 100)
  3. Si IVF: Reducir nprobe (100 → 50)
  4. Verificar tamaño de dataset: Si >1M vectores, considerar migrar HNSW → IVF

Justificación:

  • Layer 1 domina 83% de latency (250ms / 300ms)
  • Layers 2-3 son razonables (50ms)
  • Optimizar Layer 1 = mayor ROI

Pregunta 3

Tienes 20M vectores, RAM limitado (16 GB), accuracy 88% es aceptable.
¿Qué configuración usarías?

Solución

IVF + PQ con Faiss

import faiss

dimension = 1536
nlist = 4472  # sqrt(20M)
m = 8
nbits = 8

index = faiss.IndexIVFPQ(
    faiss.IndexFlatL2(dimension),
    dimension,
    nlist,
    m,
    nbits
)

index.nprobe = 50  # 1% de clusters

Resultado:

  • Memoria: ~12 GB ✅ (cabe en 16 GB)
  • Accuracy: ~88% ✅ (cumple requisito)
  • Latency: ~90ms ✅

Alternativa (si RAM aún no alcanza):

  • Reducir nbits = 4 (compresión 12x)
  • Accuracy baja a ~85%
  • Memoria: ~6 GB Si respondiste 2-3/3 correctamente → ✅ DOMINASTE MÓDULO 2

🚀 Próximo paso: Módulo 3

Ya entiendes:

  • ✅ POR QUÉ necesitas vector databases (Módulo 1)
  • ✅ CÓMO funcionan internamente (Módulo 2)

Ahora aprenderás:

  • 🎯 QUÉ features son esenciales para RAG (Módulo 3)

Módulo 3: Features Esenciales para RAG

Temas:

  1. Metadata filtering (where clauses) → Por qué Layer 2 importa
  2. Hybrid search (keyword + semantic) → Combinar BM25 + vector search
  3. Multi-tenancy (aislamiento) → Security en multi-customer RAG
  4. Batch operations → Optimizar ingestion de 1M documentos
  5. Monitoring → Detectar accuracy degradation

Duración: 60-75 minutos (8 cápsulas)

¿Listo? Ve a Módulo 3 - Features Esenciales para RAG


Tiempo de lectura: 5-7 minutos
Siguiente módulo: ../../../module-03-features-esenciales-rag/es/01-introduccion-modulo.md