PTENES
MÓDULO 2.2

🗂️ Tipos y comparativas de SGBD

Conoce los principales modelos de bases de datos, sus fortalezas, limitaciones y cuándo usar cada uno para tomar decisiones técnicas fundamentadas.

6
Temas
45
Minutos
Inter
Nivel
Teoría
Tipo
1

🏛️ Bases de datos relacionales

Las bases de datos relacionales organizan los datos en tablas con un esquema rígido, usan SQL como lenguaje estándar y garantizan propiedades ACID. Son la base de la mayoría de las aplicaciones empresariales y el modelo más maduro del mercado.

🎯 Principales SGBD relacionales

PostgreSQL

El open source más completo. Extensiones (PostGIS, pgvector), tipos avanzados y JSON nativo. Ideal para quien quiere flexibilidad sin renunciar a SQL.

MySQL

Popular, fácil de usar, con un ecosistema enorme. Primera opción para aplicaciones web, CMS y stacks LAMP. Excelente rendimiento de lectura.

SQL Server

Integración nativa con el ecosistema de Microsoft (.NET, Azure, Power BI). Fuerte en entornos corporativos de Windows.

Oracle

Empresarial. RAC, Data Guard, particionamiento avanzado. Tiene un costo alto, pero ofrece recursos incomparables para misiones críticas.

SQLite

Base de datos integrada, sin configuración y en un único archivo. Perfecta para apps móviles, IoT, prototipos y pruebas. No necesitas un servidor.

✅ USAR CUANDO

  • • Datos muy estructurados con relaciones claras
  • • La integridad referencial y la consistencia son prioritarias
  • • Cargas de trabajo OLTP (muchas transacciones cortas y concurrentes)
  • • Consultas complejas con JOIN, agregaciones y subconsultas

❌ NO USAR CUANDO

  • • El esquema cambia constantemente y de forma impredecible
  • • La escalabilidad horizontal masiva (miles de nodos) es un requisito
  • • Los datos son predominantemente no estructurados (logs, JSON variado)
  • • La latencia submilisegundo es crítica (caché, sesiones)
2

📄 Bases de datos de documentos

Bases de datos de documentos almacenan datos como JSON/BSON, sin un esquema rígido. Cada documento puede tener una estructura diferente, lo que aporta flexibilidad para situaciones en las que los datos evolucionan rápidamente o varían entre registros.

🎯 Principales SGBD de documentos

MongoDB

El más popular. Schema flexible, aggregation pipeline potente y sharding nativo. Ecosistema amplio con Atlas (cloud), Compass (GUI) y drivers para todos los lenguajes.

Couchbase

Combina documentos + caché en memoria. N1QL (consulta similar a SQL), replicación entre varios centros de datos. Es una buena opción para escenarios que requieren baja latencia con documentos complejos.

🔍 Documento vs. relacional: cuándo elegir

Elige Documento cuando...

  • • Los datos tienen una estructura variable (catálogo de productos con atributos diferentes)
  • • Prototipado rápido sin migraciones
  • • Los datos son naturalmente jerárquicos (publicaciones con comentarios anidados)
  • • La escalabilidad horizontal es prioritaria

Elige Relacional cuando...

  • • Las relaciones entre entidades son complejas y frecuentes
  • • La consistencia transaccional es obligatoria
  • • Los datos tienen un esquema estable y bien definido
  • • Las consultas con muchos JOIN son la norma
3

⚡ Clave-valor y caché

Bases de datos clave-valor son los más sencillos conceptualmente: una clave se corresponde con un valor. Esta simplicidad permite una latencia submilisegundo y un rendimiento masivo. Son la base de los sistemas de caché, sesiones y colas en tiempo real.

🎯 Principales SGBD clave-valor

Redis

En memoria, latencia submilisegundo. Estructuras de datos variadas (strings, hashes, listas, sets, sorted sets). Pub/Sub, Streams, Lua scripting. La navaja suiza de la caché.

DynamoDB

Serverless de AWS, autoescalado, SLA de milisegundos de un solo dígito. Modelo clave-valor + documento. Pago por solicitud o capacidad aprovisionada. Cero operaciones.

📊 Casos de uso

  • • Caché de aplicación: respuestas de API, resultados de queries pesadas, páginas renderizadas
  • • Sesiones de usuario: almacenamiento rápido y con vencimiento de datos de sesión
  • • Colas y mensajería: Redis Lists y Streams para el procesamiento asíncrono
  • • Contadores en tiempo real: page views, rate limiting, leaderboards
  • • Pub/Sub: notificaciones en tiempo real, chat, eventos

💡 Patrones de caché

  • Cache-Aside (carga diferida): La app revisa primero la caché. Si no encuentra nada (miss), consulta la base de datos, guarda el resultado en la caché y lo devuelve. Simple y eficiente.
  • Write-Through: Cada escritura va al caché Y a la base de datos al mismo tiempo. El caché siempre está actualizado, pero la escritura es más lenta.
  • Write-Behind: La escritura va al caché inmediatamente. La base de datos se actualiza de forma asíncrona. Existe riesgo de pérdida si el caché falla antes de la sincronización.
  • TTL (Time-To-Live): Define una expiración para evitar datos obsoletos. Estándar: 5-15 min para datos de lectura, 30-60s para datos volátiles.
4

📊 Bases de datos columnares

Bases de datos columnares almacenan datos por columna en lugar de por fila. Esto permite una compresión extrema y escaneos muy rápidos para consultas analíticas que acceden a pocas columnas en tablas con miles de millones de filas. Son la base de Almacenes de datos modernos.

🎯 Principales SGBD columnares

BigQuery

Serverless de Google. Escalado automático, SQL estándar, integración con GCP. Pagas por cada query ejecutada. Ideal para analytics ad hoc.

Redshift

Almacén de datos de AWS. Clúster administrado, Redshift Spectrum para S3, integración con el ecosistema de AWS.

ClickHouse

Open source, creado por Yandex. Rendimiento extraordinario para OLAP y compresión agresiva. Destaca en logs, métricas y analítica en tiempo real.

Snowflake

Multicloud, separación del almacenamiento y el cómputo. Escalabilidad independiente, intercambio de datos entre organizaciones. Excelente UX.

📊 Dato importante

Las bases de datos columnares pueden ser 100x más rápidos que los row-stores para agregaciones en tablas anchas. En una tabla con 50 columnas, si la query usa solo 3, el almacenamiento columnar lee solo el 6% de los datos. La compresión columnar reduce el almacenamiento hasta 10x porque los valores similares quedan juntos.

5

🕸️ Grafos y series temporales

Modelos especializados para datos con relaciones complejas (grafos) o datos indexados por tiempo (series temporales). Cada uno resuelve problemas específicos de forma mucho más eficiente que una base de datos relacional genérica.

🕸️ Bases de datos de grafos

Neo4j

El líder en bases de datos de grafos. Usa Cypher como lenguaje de consulta, optimizado para recorrer rutas y hacer pattern matching.

  • • Redes sociales: amigos de amigos, sugerencias de conexión, grados de separación
  • • Recomendaciones: “quien compró X también compró Y” con recorrido del grafo
  • • Detección de fraude: identificar patrones de conexión sospechosos entre cuentas
  • • Grafos de conocimiento: relaciones entre entidades, ontologías, búsqueda semántica

⏱️ Series temporales

InfluxDB

Nativo para series temporales. Lenguaje de consulta Flux, retención automática, downsampling. Fuerte en métricas de infraestructura e IoT.

TimescaleDB

Extensión de PostgreSQL. SQL completo + hypertables optimizadas para series temporales. Lo mejor de ambos mundos: SQL familiar + rendimiento temporal.

  • • Métricas del sistema: CPU, memoria, disco y red en dashboards de Grafana
  • • IoT: sensores, telemetría, datos de dispositivos de alta frecuencia
  • • Ventanas de tiempo: medias móviles, agregaciones por intervalo, detección de anomalías
  • • Finanzas: precios de acciones, ticks, candlesticks con resolución temporal
6

⚖️ Cómo elegir

No existe un SGBD perfecto para todo. La elección depende de modelo de datos, de patrón de acceso y de los requisitos no funcionales. Muchas arquitecturas modernas usan polyglot persistence: cada servicio elige la base de datos ideal para su caso de uso.

📊 Tabla comparativa

SGBD Modelo Fortalezas Atención
PostgreSQL Relacional SQL estándar, extensiones Ajuste fino
MySQL Relacional Popular, simple Recursos por motor
MongoDB Documento Flexible, agregación Transacciones multi-col
Redis Clave-valor En memoria, latencia mínima Persistencia/HA
ClickHouse Columnar Analítico rápido Solo OLAP
Neo4j Grafo Rutas eficientes Costo de grafos densos
Elasticsearch Búsqueda Búsqueda de texto completo, agregaciones No reemplaza ACID

🎯 Recomendaciones según el escenario

  • • OLTP (transaccional): PostgreSQL - SQL completo, ACID, extensiones, comunidad activa
  • • CMS / Catálogo: MongoDB - esquema flexible para contenido variado, iteración rápida
  • • Caché / Sesiones: Redis - en memoria, TTL nativo, estructuras de datos enriquecidas
  • • Almacén de datos: BigQuery o ClickHouse: análisis a escala, compresión columnar
  • • Grafos / Relaciones: Neo4j - recorrido eficiente, Cypher expresivo, visualización
  • • Series temporales: TimescaleDB - SQL de PostgreSQL + hypertables optimizadas para series temporales
  • • Búsqueda de texto completo: Elasticsearch: indexación invertida, puntuación, agregaciones, facetas
← Volver a la Ruta Próxima ruta →