Teoría
Submódulos

Objetivos de Aprendizaje

Al finalizar este módulo podrás: Comprender los diferentes tipos de almacenamiento de datos y cuándo usar cada uno según las necesidades del proyecto.
Dominar: Bases de datos relacionales, NoSQL, almacenamiento de objetos, sistemas de archivos y sus casos de uso específicos.
Aplicar: Criterios técnicos para seleccionar la solución de almacenamiento más adecuada para cada escenario.

7.1 Bases de Datos Relacionales

Tablas, Filas y Columnas

Las bases de datos relacionales funcionan como hojas de cálculo muy avanzadas. Imagina Excel, pero con súper poderes: puedes relacionar información entre diferentes hojas, hacer búsquedas complejas y garantizar que los datos siempre estén correctos.
Ejemplo práctico:
Una empresa tiene una tabla de "Empleados" (con nombre, cargo, salario) y otra de "Departamentos" (con nombre del departamento, presupuesto). Puedes relacionarlas para saber cuánto gasta cada departamento en salarios.

SQL: El Lenguaje de las Consultas

SQL (Structured Query Language) es como preguntarle cosas a tu base de datos en un idioma que ella entiende. Es sorprendentemente parecido al inglés: "SELECT nombre FROM empleados WHERE salario > 50000" significa "dime los nombres de empleados que ganan más de 50,000".

ACID: Las Reglas de Oro

ACID son las reglas que garantizan que tus datos estén siempre correctos: Atomicidad (todo o nada), Consistencia (siempre válidos), Aislamiento (sin interferencias) y Durabilidad (permanentes una vez guardados).

7.2 Bases de Datos NoSQL

Cuando las Tablas no son Suficientes

A veces los datos no encajan bien en tablas. ¿Qué pasa si quieres guardar posts de redes sociales con comentarios anidados, o relaciones complejas entre personas? Ahí entran las bases de datos NoSQL (Not Only SQL).
Ejemplo práctico:
Instagram usa bases de datos NoSQL para manejar millones de fotos, cada una con metadata diferente (ubicación, filtros, etiquetas). No todas las fotos tienen la misma información, algo imposible de manejar eficientemente en tablas tradicionales.

Tipos de NoSQL

Existen cuatro tipos principales: Documentos (como MongoDB, para datos complejos), Clave-Valor (como Redis, súper rápido), Columnar (como Cassandra, para análisis masivos) y Grafos (como Neo4j, para relaciones complejas).

7.3 Almacenamiento de Objetos

Archivos como Ciudadanos de Primera Clase

El almacenamiento de objetos trata cada archivo como un objeto independiente con su propia información (metadatos). Es como tener una biblioteca infinita donde cada libro tiene una ficha técnica completa y una dirección única.
Ejemplo práctico:
Netflix almacena películas como objetos. Cada película tiene metadatos (resolución, idioma, subtítulos) y varias versiones (4K, HD, móvil). El sistema puede servir automáticamente la versión correcta según tu dispositivo.

Versionado y Metadatos

Los sistemas de objetos pueden mantener múltiples versiones del mismo archivo y almacenar información rica sobre cada objeto: cuándo se creó, quién lo modificó, qué tipo de contenido es, etc.

7.4 Almacenamiento en Bloques

Discos Duros Virtuales

El almacenamiento en bloques funciona como discos duros que puedes conectar por internet. Son extremadamente rápidos porque el sistema operativo los ve como discos locales, pero están en la nube.
Ejemplo práctico:
Una base de datos que necesita velocidad extrema (como las de un banco) usa almacenamiento en bloques. Cada transacción se guarda instantáneamente, sin esperas.

7.5 Sistemas de Archivos

La Organización Tradicional

Los sistemas de archivos organizan información en carpetas y subcarpetas, como siempre hemos hecho. Son perfectos cuando múltiples aplicaciones necesitan compartir archivos o cuando quieres una estructura jerárquica clara.
Ejemplo práctico:
Un estudio de diseño usa sistemas de archivos compartidos donde todos pueden acceder a las carpetas de proyectos, con subcarpetas para "Borradores", "Finales", "Recursos", etc.