Descripción del curso
Curso avanzado para desarrolladores que quieren aprender a optimizar bases de datos MySQL y utilizarlas en sus propias aplicaciones.
Objetivos
· Ampliar conocimientos profundos de MySQL de cara a conseguir un uso óptimo del SGBD open source por excelencia
· Identificar y evitar cuellos de botella en ejecución de querys
· Favorecer un diseño óptimo de los esquemas de BBDD
Requisitos
Conocimientos básicos de MySQL y avanzados de programación en PHP, Java o similar.
Orientado a
Desarrolladores que utilizan o quieren utilizar bases de datos MySQL conectadas con sus aplicaciones.
Programa
- Arquitectura e historia de MySQL
- Arquitectura lógica de MySQL
- Optimización y Ejecución
- Control de concurrencias
- Bloqueos Lectura/Escritura
- Granularidad de bloqueo
- Bloqueos de tabla
- Bloqueos de fila
- Transacciones
- Motores de almacenamiento de MySQL
- Motor InnoDB
- Motor MyISAM
- Eligiendo el motor adecuado
- Conversión de tablas
- Arquitectura lógica de MySQL
- Benchmark
- ¿Por qué?
- Estrategias
- Tácticas
- Herramientas
- Ejemplos
- Perfiles de rendimiento del servidor
- Introducción a la optimización del rendimiento
- Perfil de aplicación
- Perfil de Consultas MySQL
- Optimización de Esquema y de Tipos de Datos
- Elegir tipos de datos óptimos
- Errores comunes en el diseño de esquemas
- Normalización y Desnormalización
- Pros y contras
- Caché y Tablas resumen
- Acelerar ALTER TABLE
- Indexación para alto rendimiento
- Bases de indexado
- Beneficios
- Ejemplo
- Mantenimiento de Índices y Tablas
- Optimización de rendimiento de consultas
- ¿Por qué son lentas las consultas?
- Bases de una consulta lenta
- Formas de reestructurar las consultas
- Bases de la ejecución de consultas
- Límites del Optimizador de Consultas de MySQL
- Ejemplo
- Características avanzadas de MySQL
- Particionado de Tablas
- Vistas
- Cursores
- Character Set y Collation
- Caché de Consultas de MySQL
- Optimización de ajustes del servidor
- Optimización del sistema operativo y del hardware
- Replicación
- Introducción
- Configurar replicación
- Topologías de replicación
- Administración y mantenimiento
- Problemas y soluciones
- Optimización a nivel de aplicación
- Problemas comunes
- Problemas de servidor web
- Caché