🌿 Intermedio

Módulo 2: Bases de Datos y APIs

Domina el arte de almacenar y exponer datos de forma eficiente. Desde el diseño de esquemas relacionales hasta la construcción de APIs REST profesionales documentadas con Swagger.

📅
8 semanasDuración
📚
20 temasContenido
🛠️
4 proyectosPrácticos
Rust y sistemas de datos nivel intermedio
8
Semanas de formación
20
Temas en detalle
4
Proyectos prácticos
2
Sistemas de BD distintos

Contenido del módulo

Seis bloques progresivos que cubren desde el diseño de bases de datos hasta la construcción y documentación de APIs REST de nivel profesional.

Elige la herramienta correcta

Una de las decisiones más importantes en arquitectura es elegir entre una base de datos relacional y una NoSQL. No existe una respuesta universal: depende del caso de uso, los requisitos de consistencia y la estructura de los datos.

En este módulo aprenderás a analizar los requisitos de un proyecto y a elegir la tecnología adecuada. Conocerás en profundidad tanto PostgreSQL como MongoDB, y aprenderás cuándo usar cada uno, e incluso cuándo combinarlos en una arquitectura polígota de persistencia.

PostgreSQL MongoDB Redis Swagger / OpenAPI Postman Docker Compose
Swift y desarrollo de servicios modernos

Buenas prácticas que importan

Cuatro principios que separan a los desarrolladores que construyen sistemas que funcionan de los que construyen sistemas que duran.

🔒

Seguridad desde el diseño

Aprende a proteger tus bases de datos y APIs desde el primer día. Validación de entradas con Zod, queries parametrizadas para prevenir SQL injection, principio de mínimo privilegio en usuarios de base de datos, cifrado de datos sensibles y auditoría de accesos. La seguridad no se añade al final: se diseña desde el principio.

Rendimiento y optimización

Escribe consultas SQL eficientes que no colapsen tu base de datos. Aprende a usar EXPLAIN ANALYZE para identificar consultas lentas, a crear índices en las columnas correctas, a implementar caché con Redis para reducir la carga de la base de datos y a paginar resultados para evitar cargar millones de registros en memoria.

📊

Consistencia y transacciones

Entiende las propiedades ACID y cómo garantizarlas en tu aplicación. Aprende a usar transacciones para operaciones que deben ejecutarse como un todo o no ejecutarse, el manejo de bloqueos para prevenir condiciones de carrera, y los niveles de aislamiento de transacciones para equilibrar consistencia y rendimiento.

📝

Versionado y migraciones

Un esquema de base de datos bien gestionado es tan importante como el código que lo usa. Aprende a gestionar migraciones de base de datos con herramientas como Flyway o las migraciones de Sequelize, a versionar tu esquema junto con tu código, y a realizar cambios de esquema en producción sin tiempo de inactividad usando técnicas de migración gradual.

Preguntas sobre el módulo

Trabajarás con PostgreSQL y MongoDB usando Docker Compose, por lo que no necesitas instalar nada directamente en tu sistema operativo. Proporcionamos un archivo docker-compose.yml listo para usar que levanta todos los servicios necesarios con un solo comando. También puedes usar servicios gratuitos en la nube como Neon (PostgreSQL) o MongoDB Atlas si prefieres no usar Docker.
No es necesario tener conocimientos avanzados de SQL, pero sí es conveniente haber visto los conceptos básicos de bases de datos relacionales en el nivel Principiante. El módulo comienza con un repaso acelerado de los fundamentos de SQL antes de avanzar a los temas más complejos. Si vienes del Módulo 1 del nivel Intermedio, ya tendrás suficiente base para empezar sin problemas.
La documentación de una API es crucial en entornos profesionales porque permite que otros desarrolladores (o tú mismo en el futuro) entiendan cómo usarla sin tener que leer el código fuente. Con Swagger/OpenAPI, la documentación es interactiva: los consumidores pueden probar los endpoints directamente desde el navegador. En equipos con frontend y backend separados, una buena documentación de API es la diferencia entre un equipo eficiente y uno que pierde horas resolviendo malentendidos.
MongoDB es una excelente elección cuando los datos tienen estructura variable o semiestructurada, cuando necesitas escalar horizontalmente a gran velocidad, cuando almacenas documentos como configuraciones de usuario o contenido de blogs con campos opcionales, o cuando la velocidad de desarrollo inicial es más importante que la integridad referencial. PostgreSQL es preferible cuando los datos tienen relaciones complejas, cuando necesitas garantías ACID estrictas, o cuando realizas consultas analíticas complejas. En este módulo verás ejemplos concretos de ambos casos.