MySQL 5.1.50 - MySQL en Español
Transcripción
MySQL 5.1.50 - MySQL en Español
<Insert Picture Here> MySQL 5.5 – Lo nuevo en Rendimiento, Escalabilidad y Alta Disponibilidad [email protected] | Corporate Sales MySQL Latinoamérica [email protected] | MySQL Software Consultant Agenda • MySQL 5.5 – Lo nuevo en Rendimiento, Escalabilidad y Alta disponibilidad • • • • • • • Introducción Mejoras en rendimiento y escalabilidad Optimizaciones en ambientes multi-core Enterprise Backup: respaldos en-línea (hot backup) Replicación semi-sync (cómo Facebook usa MySQL) Demo de Monitor: Cluster Advisor & Query Analyzer Preguntas y Respuestas Compromiso de Oracle hacia clientes, desarrolladores y usuarios de MySQL • Continuo desarrollo de MySQL Enterprise & Community bajo licenciamiento público (GPL) • Mayor inversión en desarrollo & investigación (R&D) • Creación de una Junta Consultiva de Clientes de MySQL • Continuidad de opciones de soporte Enterprise (anual o multi-anual) Detalles en: http://www.oracle.com/us/corporate/press/042364 MySQL @ Oracle Haciendo un mejor MySQL Hoy MySQL 5.5 – Opiniones MySQL Introducción a Arquitectura Arquitectura Storage Engines - pluggable MySQL Server Connectors Native C API, JDBC, ODBC, .Net, PHP, Ruby, Python, VB, Perl Clients and Apps Enterprise Management Services and Utilities Backup & Recovery Security Replication Cluster Partitioning Instance Manager Information_Schema MySQL Workbench Connection Pool Authentication – Thread Reuse – Connection Limits – Check Memory – Caches SQL Interface DDL, DML, Stored Procedures, Views, Triggers, Etc.. Parser Query Translation, Object Privileges Optimizer Access Paths, Statistics Caches Global and Engine Specific Caches and Buffers Pluggable Storage Engines Memory, Index and Storage Management InnoDB MyISAM Cluster Etc… Partners Community Filesystems, Files and Logs Redo, Undo, Data, Index, Binary, Error, Query and Slow More.. MySQL, Replicación Clients • Mejor tiempo de respuesta mediante la separación carga, en el procesamiento de consultas entre el master y el slave • SELECT Queries, pueden ser enviados al slave para reducir la carga de procesamiento de consultas, en el master • Disponible para cualquier tipo de storage engine, incluso replicación entre distintos tipos de storage engine ● Lograr una mayor disponibilidad con un master / slave • En caso de fallas en el master, es posible cambiar al slave como backup • Respaldo de información a través de los slaves MySQL Replication Slaves Master Replicación, Topologías Flexibilidad para escalar Single Multiple Chain Circular Master Slave Replicación con MySQL Server 5.5 MySQL Replicación semi-sync • Los datos escritos en el master, también son escritos en el binary log File • El thread I/O, en los slaves, toma los cambios del binlog del master y lo escribe en un relay log en los slaves • El thread SQL, en los slaves, lee el relay log y aplica los cambios / escrituras en los slaves • Si el plugin semi-sync esta instalado y configurado, el master espera hasta que el thread I/O de algún slave semisync, haya escrito la transacción a disco, o hasta que ocurra un timeout, entonces se retorna el ACK a la aplicación SQL Thread binlog IO Thread relay Master Slave Replicación con MySQL 5.5 • Replicación Semi-Synchronous – Mejora la confiabilidad en FailOver – COMMIT en el nodo master es reconocido, sólo cuando al menos uno de los nodos slaves ha registrado el evento – En caso de FailOver, no hay perdida de información • Replicación Heartbeat – Evita falsos relay log rotation, cuando el master esta en estado idle – Delay en replicación es más preciso • Confiabilidad & Administración – – – – Slave fsync tuning Automatic Relay Log recovery SHOW RELAYLOG EVENTS filtering de replicación por server Semi-synchronous Replication On Master and Slave: have_dynamic_loading=YES On the Master: INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so'; SET GLOBAL rpl_semi_sync_master_enabled = 1; SET GLOBAL rpl_semi_sync_master_timeout = N; On the Slave: INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so'; SET GLOBAL rpl_semi_sync_master_enabled = 1; STOP SLAVE IO_THREAD; START SLAVE IO_THREAD; MySQL Server 5.5 Performance MySQL 5.5 - Múltiples Buffer Pools • Antes de InnoDB 1.1: Todos los threads tenían que obtener acceso exclusivo a un single buffer pool – ca 700k/sec, held 50% of the time • MySQL 5.1 – InnoDB plugin • MySQL 5.5 – InnoDB – built-in – innodb_buffer_pool_instances=N http://dev.mysql.com/doc/innodb-plugin/1.1/en/innodb-multiple-buffer-pools.html MySQL 5.5 - Múltiples Rollback Segments • Antes a InnoDB 1.1: un Rollback Segment podia manipular hasta 1023 write transactions concurrentes – ca 20k/sec, held ca 25% of the time • En InnoDB 1.1, el Rollback segment is dividido en 128 segmentos. Cada segmento soporta 1024 W transactions concurrentes, esto es: 128k W transactions concurrentes • Las transacciones son asociadas a un segmento usando una función hashing • Mejora significativa con 32+ Cores • Ejecuta un slow shutdown (SET GLOBAL innodb_fast_shutdown=0) y reinicia para habilitar el Multiple Rollback Segments http://dev.mysql.com/doc/innodb-plugin/1.1/en/innodb-multiple-rollback-segments.html 17 MySQL 5.5 – Lo nuevo InnoDB Storage Engine por Default • ACID transacciones, FKs, Crash Recovery Mejora en la Disponibilidad • Replicación Semi-synchronous • Replicación Heartbeat Mejoras en la Usabilidad • SIGNAL/RESIGNAL • Más opciones en partitioning • PERFORMANCE_SCHEMA Mejor Instrumentación / Diagnóstico • InnoDB, estadísticas en MySQL 5.5 - PERFORMANCE_SCHEMA - MySQL 5.5 SysBench Benchmarks Linux MySQL 5.5.6 (InnoDB) MySQL 5.1.50 (InnoDB Plug-in) MySQL 5.1.50 (InnoDB built-in) 200% ganancia en performance de MySQL 5.5 sobre 5.1.50 Intel Xeon X7460 x86_64 4 CPU x 6 Cores/CPU 2.66 GHz, 32GB RAM Fedora 10 MySQL 5.5 SysBench Benchmarks Linux MySQL 5.5.6 (New InnoDB) MySQL 5.1.50 (InnoDB Plug-in) MySQL 5.1.50 (InnoDB built-in) 369% ganancia en performance de MySQL 5.5 sobre 5.1.50 Intel Xeon X7460 x86_64 4 CPU x 6 Cores/CPU 2.66 GHz, 32GB RAM Fedora 10 MySQL 5.5 SysBench Benchmarks Windows MySQL 5.5.6 (New InnoDB) MySQL 5.1.50 (InnoDB Plug-in) MySQL 5.1.50 (InnoDB built-in) 538% ganancia en performance de MySQL 5.5 sobre 5.1.50 Intel x86_64 4 CPU x 2 Cores/CPU 3.166 GHz, 8GB RAM Windows Server 2008 MySQL 5.5 SysBench Benchmarks Windows MySQL 5.5.6 (New InnoDB) MySQL 5.1.50 (InnoDB Plug-in) MySQL 5.1.50 (InnoDB built-in) 1561% ganancia en performance de MySQL 5.5 sobre 5.1.50 Intel x86_64 4 CPU x 2 Cores/CPU 3.166 GHz, 8GB RAM Windows Server 2008 Lo que Facebook esta diciendo http://www.facebook.com/note.php?note_id=403975340932 Previamente había probado InnoDB en un servidor de 8 cores, para determinar que tantos IOPs puede hacer con una carga de trabajo determinada. Los límites fueron alrededor de 12k reads / segundo para MySQL 5.0 y alrededor de 18k reads/segundo para MySQL 5.1. Acabo de repetir las pruebas con un servidor de 16 cores y los resultados son mucho mejores, con MySQL 5.1, entre 20k, 30k reads/ segundo; MySQL 5.5 parece ser capaz de procesar entre 50k , 70k reads / segundo, como resultado de soportar múltiples buffer pools(innodb_buffer_pool_instances). Mark Callaghan’s Blog, Facebook - 21 June 2010 MySQL 5.5 SysBench Benchmarks Linux MySQL Enterprise Server Software y Servicios Empresariales a través de una suscripción anual Server Upates Monitor & Backup Soporte • MySQL Enterprise Server • Actualizaciones mensuales • Service Packs trimestrales • Programa Hot Fix • Subscription: • Fin de vida extendido (EOL) • MySQL Enterprise License (OEM): • Monitor Global de•todos los servidores • Consola Central basada en laServer Web • Embedded • Built-in Advisors • Support • Query Analyzer • MySQL Cluster Carrier• Enterprise Backup, MySQL Workbench Grade • Training • Soporte a producción 24 x 7 • Ilimitado en incidentes • Consulting • Remote troubleshooting • NRE de Bugs •Programa de escalamiento •Oracle Premier Soporte !en Español! MySQL Workbench http://www.mysql.com/products/workbench/ MySQL Enterprise Monitor • • • • • • Vista única consolidada del ambiente MySQL Auto descubrimiento de servidores MySQL, replicación y topologías Alertas y monitoreo adaptable y basado en reglas Identificación de problemas antes de que ocurran Reducción de riesgo y tiempo de inactividad Facilidad para escalamiento horizontal sin requerir más Un asistente DBA Virtual para DBAs MySQL http://mysql.com/products/enterprise/monitor.html MySQL Enterprise Backup • Respaldo en linea para MySQL databases • Alto performance en Respaldo y Restauración de Info • Respaldos Full, Incremental, Partial - Compressed Tables - Partition Files - In-memory database • • • • Compresión de datos Point in Time Recovery Cross Platform Unlimited Database size MySQL, prioridades 2011 - 12 • • • • Visual Backup – Recover Visual Scheduling, Monitoring de Backup/Recover operations Mejora de 3.5x, sobre tiempos de backup con mysqldump Mejora de 16x, sobre tiempos de restore con mysqldump MySQL Enterprise Backup Backups Online, de alto performance Mejora de 3.5x, sobre tiempos de backup con mysqldump MySQL Enterprise Backup Restore, de alto performance Mejora de 16x, sobre tiempos de restore con mysqldump MySQL Enterprise Backup Compresión, de backups Reducción en tamaño de archivos backup, con compresión de datos ¡Gracias! Contacto: [email protected] [email protected] Twitter: @mysql @mysql_espanol Web: mysql.com/enterprise mysql.com/products Blogs: blogs.oracle.com/mysql mysql-espanol.org