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

Documentos relacionados