Please enable JavaScript.
Coggle requires JavaScript to display documents.
Base de datos no relacionales - Coggle Diagram
Base de datos no relacionales
Definición
Conjunto de sistemas de gestión de datos que no utilizan el modelo relacional basado en tablas tradicionales.
Permiten almacenar datos en estructuras flexibles como documentos JSON, grafos, pares clave-valor o columnas anchas.
El término NoSQL surgió a principios del siglo XXI por las necesidades de la Web 2.0, aunque estos sistemas existen desde los años 60.
No significa "no SQL" sino "Not Only SQL".
Características Principales
Flexibilidad: No requieren un esquema fijo; ideales para datos semi o no estructurados.
Escalabilidad Horizontal: Se expanden mediante clusters distribuidos en lugar de servidores más potentes.
Baja latencia: Optimizadas para velocidad y alto rendimiento en aplicaciones modernas.
Arquitectura distribuida: Información replicada en varios nodos para disponibilidad.
No garantizan completamente ACID; frecuentemente ofrecen consistencia eventual.
Historia del concepto NoSQL
1960s: Primeras bases de datos no relacionales.
1998: Carlo Strozzi usa el término "NoSQL" para una BD ligera sin interfaz SQL.
2009: Eric Evans retoma el término durante una reunión sobre bases distribuidas.
Evolución impulsada por Google, Amazon, Twitter y Facebook, ante el reto del volumen masivo de datos en tiempo real.
Tipos de Bases de Datos No Relacionales
a) Clave-Valor
Modelo simple tipo diccionario.
Ejemplos: Redis, DynamoDB.
b) Documentales
Almacenan JSON, BSON o XML.
Ejemplos: MongoDB, CouchDB, DocumentDB.
c) Grafos
Modelan relaciones entre entidades.
Ej.: InfiniteGraph, Neo4j (implícito en literatura).
d) Columnas Anchas
Diseñadas para grandes volúmenes distribuidos.
Ej.: Cassandra, BigTable, HBase.
e) Orientadas a Objetos
Basadas en clases y objetos.
Ej.: ObjectDB, Zope Object Database.
Aplicaciones y Casos de Uso
Big Data y análisis masivo en tiempo real.
Redes sociales, donde se requiere velocidad y flexibilidad.
Aplicaciones IoT, datos provenientes de sensores distribuidos.
Aplicaciones web modernas: escalabilidad, datos heterogéneos, tráfico masivo.
Sistemas distribuidos y microservicios.
Ventajas y Desventajas
✔️ Ventajas
Estructuras de datos flexibles.
Escalabilidad horizontal eficiente.
Alta disponibilidad y rendimiento.
Simplicidad para manejar datos no estructurados.
❌ Desventajas
Menor consistencia (consistencia eventual).
Jornadas de consulta no estándar (poco SQL).
No soportan JOIN de forma nativa.
Falta de esquemas formales puede dificultar mantenimiento.