Boost Academy
FormaciónEvaluacionesPerfil
Volver
  • En directo

MySQL — Avanzado

8h de clase en directo·HACK A BOSS·Español

Skills que aprenderás

  • MySQL

Convocatorias

Necesitas un plan activo

Para acceder a los cursos en directo necesitas un plan activo. Estamos trabajando para que los planes estén disponibles pronto — ¡mantente atento!

No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.

Descripción

Objetivos

Temario

Requisitos técnicos

Conocimientos previos

Detalles de la convocatoria

Recursos

No hay recursos disponibles todavía para esta convocatoria

Este curso está dirigido a profesionales con experiencia sólida en MySQL que necesitan asumir responsabilidades de arquitectura, rendimiento y operación en entornos de producción exigentes. A lo largo de las ocho horas del programa, el participante profundizará en los mecanismos internos del motor InnoDB, la interpretación del plan de ejecución y las estrategias avanzadas de indexación, para pasar después a la gestión de la concurrencia, la configuración del servidor y el diseño de topologías de alta disponibilidad. El curso cierra con la automatización de pipelines de backup y recuperación y la evaluación de la postura de seguridad de la instancia. Al finalizar, el participante será capaz de diagnosticar cuellos de botella en sistemas reales, tomar decisiones de arquitectura justificadas cuantitativamente y entregar un plan de hardening priorizado listo para aplicar en producción.

  1. Interpretar el plan de ejecución completo de una consulta para identificar ineficiencias y determinar qué cambios de indexación o reescritura reducen el coste de forma medible.
  2. Diseñar una estrategia de indexación coherente para esquemas con múltiples patrones de consulta, eligiendo entre índices simples, compuestos, covering o funcionales y documentando los trade-offs asumidos.
  3. Evaluar la configuración de un servidor MySQL, identificando parámetros de rendimiento mal dimensionados y proponiendo valores corregidos con justificación cuantitativa.
  4. Diagnosticar situaciones de contención de bloqueos y deadlocks usando las herramientas del motor y rediseñar la lógica transaccional para eliminar la causa raíz.
  5. Comparar topologías de alta disponibilidad —InnoDB Cluster, replicación semisíncrona y Group Replication— y seleccionar la más adecuada para un caso de uso dado, argumentando los trade-offs frente a las alternativas descartadas.
  6. Automatizar un pipeline completo de backup físico incremental con verificación de integridad que cumpla los objetivos de RTO y RPO definidos, ejecutable sin intervención manual en entorno Linux.
  7. Anticipar el impacto en rendimiento de decisiones de diseño de esquema mediante benchmarks controlados y proyecciones basadas en volumen de datos, antes de llevarlas a producción.
  8. Auditar la seguridad de una instancia MySQL, identificar vectores de riesgo prioritarios y elaborar un plan de hardening ordenado por impacto.

Bloque 1 — Análisis y optimización de consultas. El bloque arranca con la lectura exhaustiva de EXPLAIN ANALYZE: anatomía del árbol de ejecución, métricas de coste estimado frente a coste real, y tipos de join que el optimizador puede elegir. Se trabaja la reescritura de consultas problemáticas y la validación cuantitativa de la mejora tras cada cambio.

Bloque 2 — Estrategias avanzadas de indexación. Se estudia la teoría del B-Tree aplicada a InnoDB y se contrasta con índices covering y funcionales. A partir de un esquema con varios patrones de acceso simultáneos, el participante aprende a trazar una estrategia de indexación completa, a documentar los trade-offs de escritura y a detectar índices redundantes o perjudiciales.

Bloque 3 — Configuración y dimensionado del servidor. Se revisan los parámetros críticos de InnoDB y del servidor en general (innodb_buffer_pool_size, max_connections, tmp_table_size, innodb_log_file_size, entre otros), el proceso para calcular valores óptimos a partir de métricas de carga real y la metodología de evaluación comparativa antes y después del ajuste.

Bloque 4 — Concurrencia, bloqueos y deadlocks. Se explica el modelo MVCC de InnoDB y los distintos niveles de aislamiento, para después abordar el diagnóstico de contención mediante performance_schema e InnoDB Monitor. El participante practica la lectura de grafos de espera y el rediseño transaccional que elimina la causa raíz de los deadlocks recurrentes.

Bloque 5 — Alta disponibilidad y topologías de replicación. Se comparan las tres grandes opciones de HA en el ecosistema MySQL: replicación semisíncrona, Group Replication e InnoDB Cluster. Para cada topología se analizan las garantías de consistencia, la latencia introducida y la complejidad operacional, y se ejercita la selección razonada para distintos casos de uso.

Bloque 6 — Backup físico incremental, RTO/RPO y recuperación automatizada. Se introduce el backup físico con Percona XtraBackup o MySQL Enterprise Backup, la cadena de backups incrementales y los procedimientos de verificación de integridad. El participante construye un script de pipeline completo que cumple objetivos de RTO y RPO predefinidos y que puede ejecutarse desatendido en Linux.

Bloque 7 — Diseño de esquema orientado a rendimiento y seguridad. El bloque final integra dos perspectivas de decisión anticipada. Por un lado, se analizan los efectos en rendimiento de la normalización frente a la desnormalización, la elección de tipos de datos y el particionado de tablas, validados mediante benchmarks controlados. Por otro, se audita la postura de seguridad de una instancia real identificando privilegios excesivos, conexiones sin cifrar y ausencia de auditoría, y se elabora un plan de hardening priorizado por impacto.

  • MySQL 8.0 o superior instalado localmente o accesible en un entorno de laboratorio.
  • Percona XtraBackup 8.0 (o MySQL Enterprise Backup) disponible en el sistema de laboratorio para los ejercicios del Bloque 6.
  • Sistema operativo Linux (Ubuntu 22.04 LTS o equivalente) con acceso a terminal y permisos de administrador (sudo).
  • Cliente MySQL en línea de comandos (mysql, mysqlcheck, mysqladmin) y, opcionalmente, MySQL Workbench 8.0 para la visualización de planes de ejecución.
  • Intérprete Bash y utilidades estándar (cron, gzip, sha256sum) para los ejercicios de automatización.
  • Mínimo 8 GB de RAM en la máquina de laboratorio para poder dimensionar el innodb_buffer_pool_size de forma significativa durante los ejercicios de configuración.

El participante debe llegar al curso con dominio de los contenidos cubiertos en MYS02: diseño relacional normalizado, escritura de consultas con JOINs complejos y subconsultas, gestión básica de transacciones e índices simples, y administración elemental de usuarios y permisos en MySQL. Se da por sentada también soltura en la línea de comandos Linux, dado que varios ejercicios requieren scripting en Bash.