Bases de Datos NoSQL
Maria Emilia Mancebo Ramírez
2023-0931
¿Qué son las bases de datos NoSql?
Son sistemas diseñados para
manejar datos no estructurados o
semi-estructurados. No utilizan un
esquema fijo, lo que las hace
ideales para aplicaciones que
necesitan flexibilidad, escalabilidad
horizontal y baja latencia.
Características
Flexibilidad de Esquema
Alta Escalabilidad Horizontal
Modelos de Datos Diversos
Optimización para Lectura/Escritura
Rápida
Consistencia Eventual
Adecuadas para Big Data
Tipos de Bases de Datos NoSql
Documentos: Clave-Valor:
Almacenan datos en documentos Los datos se almacenan como pares
estructurados como JSON o BSON. clave-valor, donde la clave es única y
Ejemplo: MongoDB. apunta a un valor asociado (puede ser
Uso: Aplicaciones web, catálogos de un número, cadena o incluso un objeto).
productos, sistemas ágiles. Ejemplo: Redis.
Uso: Caché, sesiones de usuario.
Columnas:
Organizan datos en filas y columnas, Grafos:
pero a diferencia de las bases Diseñadas para almacenar datos en
relacionales, cada fila puede tener un forma de nodos (entidades) y aristas
conjunto de columnas diferentes. (relaciones).
Ejemplo: Cassandra. Ejemplo: Neo4j.
Uso: Analítica de datos, aplicaciones Uso: Redes sociales, motores de
distribuidas. recomendación.
Cuando usar NoQql Cuando no usar NoQql
Escalabilidad horizontal Relaciones complejas
Flexibilidad de esquema Consistencia estricta
Baja latencia Necesidad de herramientas
Alta disponibilidad maduras
Demostración práctica en MongoDB
Supongamos que estamos gestionando un inventario para una tienda
online de tecnología y registrando transacciones de ventas.
Actualizar
Registrar
Insertar
Demostración práctica en MongoDB
Transacción combinada
Demostración práctica en Cassandra
Supongamos que estamos gestionando las ventas de productos en una tienda en
línea y necesitamos calcular el total de ventas por producto y registrar
transacciones.
Crear una función
Insertar
Transacción
Demostración práctica en Cassandra
Crear una vista
Consultar las ventas