1. <Insert Picture Here>
Oracle Developer Day, Bogotá Colombia
Open Source Software
Pedro Andrade – Territory Manager, MySQL Global Business Unit
Manuel Contreras – Senior Software Consultant, MySQL Global Business Unit
Bogotá, Colombia
http://www.flickr.com/photos/madsenart/5412594546/
2. Oracle Developer Day, Colombia – ! Bienvenidos !
Adam Leftik - San Francisco
GlassFish & Java EE Senior Product Manager
Mario Marchetti - São Paulo
Linux & VM Director - Latin America
Mark Atkinson - Denver
Linux & VM Principal Consultant
Sergio Tribst - São Paulo
Linux & VM Principal Master Consultant
Manuel Contreras - Cd. de México
MySQL Senior Software Consultant
Pedro Andrade - New York
MySQL Latin America Territory Manager
3. Agenda
• Open Source / MySQL, de 1995 a 5.5
• Open Source en el mundo Oracle
• Linux, Java, MySQL, GlassFish
• Introducción a arquitectura MySQL Server
• Instancias mysql, schemas, tablas...
• Múlti instancias mysqld
• Replicación semi-sync (cómo Facebook usa MySQL)
• Demo de Monitor: Advisors & Query Analyzer
• Preguntas y Respuestas
4. ¿Por qué usar Software Open Source
(OSS)?
Open Source Software Enterprise
Modelo de distribución de Software
- Vesión Community
- Versión Enterprise
NO Licenciamento
- Subscripción anual con soporte técnico
- No vendor locking
- Mejor TCO
Comunidades desarrollan, pruebas y suguieren mejoras
al software
- Foros, lista de reporte de bugs, y participación de las
comunidades para mejorar el producto.
5. Estrategia:
Completa. Abierta. Integrada.
• Desarrollo
• Pruebas
• Administración
• Mantenimiento
• Basada en estándares abiertos
• Bajo costo
• Bajo riesgo
• Más confiable
6. Inversión en Software Libre
• Apoyando proyectos open source por muchos años
• Parte de la estratégia, “Complete. Open. Integrated.”
• Acelerar la innovación
• Extender la comunidad de desarrolladores
8. Oracle VM Template para MySQL
Oracle esta mejorando MySQL e integrándolo a su stack de
soluciones
Ambiente pre-instalado y pre-configurado
- Oracle VM Server
- Oracle Unbreakable Linux
- Oracle Cluster File System 2 (OCFS2)
- MySQL Enterprise Edition
* Oracle press release 27 Junio 2011:
Mayor integración al stack de
productos y soluciones de
Oracle
http://www.oracle.com/us/corporate/press/421994
9. Oracle Linux
Enterprise Linux Distribution
• Free source code and binaries
• Free to distribute
• Choice of two kernels: Unbreakable Enterprise Kernel
is default; Red Hat Compatible Kernel available
• Oracle’s base Linux development platform
• Fully compatible with Red Hat Enterprise Linux
enabling customers can switch in minutes – no
reinstall needed; applications run unchanged
• Low cost, affordable support subscription
10. More Than 8,000 Customers
Rely on Oracle Linux and Oracle VM
11. Completa. Abierta. Integrada.
2 atributos más importantes:
• Oracle busca siempre ser el
#1 en cada nivel
• “Completa” quiere decir que
cumplimos con los
requerimientos de nuestros
clientes en cada nivel
* Por eso MySQL es
importante para Oracle y
sus clientes
12. 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)
http://www.oracle.com/us/corporate/press/042364
13.
14. MySQL - Números Interesantes
• 155 million
• 212 days
• 127 billion
• 24.9 trillion
15. MySQL - Números Interesantes
• 155 million
• 212 days
• 127 billion
• 24.9 trillion
16. MySQL - Números Interesantes
• 155 million
number of tweats per day, 1700 per second
6,939/s Japanese New Year
MySQL is core architecture for twitter
• 212 days
uptime of random MySQL server at twitter
• 127 billion
number of queries executed on single server
• 24.9 trillion
innodb_rows_read, 1.36M per second
source: Jeremy Cole, Twitter DBA, MySQL UC 2011
17. Thank You – MySQL Global Customers
Web OEM / ISV’s
SaaS, Hosting Telecommunications Enterprise 2.0
MySQL en el web 2.0, Enterprise 2.0...
18. La oferta más completa en LAMP/J
Apps
• Oracle Enterprise Linux
Eclipse
NetBeans
• Oracle VM (Xen-based)
• Apache, GlassFish
Apache
Glassfish • MySQL
• PHP, Perl, Python, Ruby, Java,
MySQL
C, C++
Oracle Enterprise
Linux & Oracle VM
19. GlassFish Server 3 (Java EE 6 Releases)
GlassFish v3 GlassFish Server 3.1 GlassFish Server 3.1.2
•
Java EE 6 Support •
Centralized administration •
Bug Fixes
•
Single Instance •
Clustering / HA •
Incremental Features
•
GlassFish Enterprise Mgr •
GlassFish Server Control
2009 2010 2011 2012
GlassFish Server 3.0.1 GlassFish Server 3.1.1 GlassFish Server 4
•
Oracle Branding •
Bug Fixes •
Java EE 7
•
Oracle Platform Support •
Updated Components •
Multitenancy
•
Oracle Interoperability •
Incremental Features •
PaaS-enablement
20. Inversión en MySQL
• Mejorar MySQL
• #1 Open Source Database for Web Applications
• Desarrollar, Promover y dar Soporte a MySQL
• Mejorar la ingeniería, consultoría y soporte
• Tomar ventaja de la estructura global de soporte de Oracle
• MySQL Community Edition
• Binarios y Código Fuente libres
• GPL
21. Inversión en MySQL
• MySQL - Áreas de Enfoque
• Web, Embedded & Telecom
• LAMP
• Windows
• Clientes Oracle + MySQL
• Oracle Enterprise Manager
• Oracle Secure Backup
• Oracle Audit Vault
25. MySQL Server | Ediciones
La base de datos open source más popular del planeta
MySQL Community
- Comunidad aporta: nuevas ideas, contribuciones de código, pruebas
globales (bug reports), foros
- No incluye soporte técnico, dba tools
MySQL Enterprise ( suscripción anual )
- Soporte técnico 24x7 ilimitado, Oracle Premier Support
- Revisión y recomendaciones a queries SQL
- Remote troubleshooting
- Monitor, backup on-line, query analyzer, mysql workbench
- Actualizaciones de software
- Apoyo en updgrades de community a enterprise
26. Arquitectura Storage Engines - pluggable
MySQL Server
Connectors
Clients and Apps
Native C API, JDBC, ODBC, .Net, PHP, Ruby, Python, VB, Perl
Enterprise Management
Services and Utilities Connection Pool
Backup & Recovery Authentication – Thread Reuse – Connection Limits – Check Memory – Caches
Security
Replication
Cluster
SQL Interface Parser Optimizer Caches
Partitioning
DDL, DML, Stored Query Translation, Access Paths, Global and Engine
Instance Manager
Procedures, Views, Object Privileges Statistics Specific Caches and
Information_Schema
Triggers, Etc.. Buffers
MySQL Workbench
Pluggable Storage Engines
Memory, Index and Storage Management
InnoDB MyISAM Cluster Etc… Partners Community More..
Filesystems, Files and Logs
Redo, Undo, Data, Index, Binary, Error, Query and Slow
27. MySQL - Instancias, schemas
La base de datos open source más popular del planeta
MySQL Server
* mysqld – instancia (proceso)
– Puerto
– Socket /tmp/mysql.sock
– Basedir (directorio binarios )
– Datadir ( datos, indíces, tablespaces...)
schemas / database
– Tablas, funciones, procedimientos almacenados,...
my.cnf | my.ini ( Configuration File )
* mysqld_multi (múltiples instancias )
- Configuración independiente
- Datadir distintos
28. DEMO
- Instalación de MySQL EE
http://www.youtube.com/user/mysqlespanol
29. MySQL Database
Replicación
MySQL Slave
MySQL Master mysqld
mysqld
updates updates I/O Thread
selects
relay
binlog
Replication
SQL Thread
data
index &
binlogs
binlog data
32. MySQL, Replicación
- 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
C l i ent s
MySQL Replication
Slaves Master
34. 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 SQL Thread
IO Thread
configurado, el master espera hasta binlog relay
que el thread I/O de algún slave semi-
sync, haya escrito la transacción a
disco, o hasta que ocurra un timeout,
entonces se retorna el ACK a la
aplicación
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 Master
En caso de FailOver, no hay perdida de información Slave
35. 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;
37. 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
• MySQL 5.1 - InnoDB : Built-in
• MySQL 5.1 – InnoDB 1.1 : Plugin
• MySQL 5.5 – InnoDB 1.1 : Built-in
http://dev.mysql.com/doc/innodb-plugin/1.1/en/innodb-multiple-buffer-pools.html
38. MySQL 5.5 - Múltiples Rollback Segments & Pools
• Antes de InnoDB 1.1, rollback segment
procesaba 1024 transacciones writes,
concurrentes
• InnoDB 1.1, rollback segment es dividido
en 128 segmentos. Cada segmento
soporta 1024 Write transactions
concurrentes, esto es: 128k W
transactions concurrentes
http://dev.mysql.com/doc/innodb-plugin/1.1/en/innodb-multiple-rollback-segments.html
38
39. 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 -
40. 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 Intel Xeon X7460 x86_64
4 CPU x 6 Cores/CPU
2.66 GHz, 32GB RAM
de MySQL 5.5 sobre 5.1.50 Fedora 10
41. 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 Intel Xeon X7460 x86_64
4 CPU x 6 Cores/CPU
2.66 GHz, 32GB RAM
de MySQL 5.5 sobre 5.1.50 Fedora 10
42. 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 Intel x86_64
4 CPU x 2 Cores/CPU
3.166 GHz, 8GB RAM
de MySQL 5.5 sobre 5.1.50 Windows Server 2008
43. 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 Intel x86_64
4 CPU x 2 Cores/CPU
3.166 GHz, 8GB RAM
de MySQL 5.5 sobre 5.1.50 Windows Server 2008
44. 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
46. MySQL Enterprise Server
Software y Servicios Empresariales a través de una suscripción anual
• MySQL Enterprise Server
• Actualizaciones mensuales
Server • Service Packs trimestrales
Upates • Programa Hot Fix
• Subscription:
• Fin de vida extendido (EOL)
• MySQL Enterprise
• todos los (OEM):
• Monitor Global de Licenseservidores
• Consola Central • Embedded Server
basada en la Web
Monitor • Built-in Advisors
• Support
• Query Analyzer
& Backup • MySQL Cluster
• Enterprise Backup, MySQL Workbench Carrier-
Grade
• Training
• Soporte a producción 24 x 7
• Consulting
• Ilimitado en incidentes
Soporte • Remote troubleshooting
• NRE
•Programa de escalamiento de Bugs
•Soporte MoS en Español
47. Comparativo com/sem Thread Pool
MySQL Enterprise Edition
Con Thread Pool
MySQL Community Server
Sin Thread Pool
MySQL 5.5.16
Oracle Linux 6.1, Unbreakable Kernel 2.6.32
2 sockets, 24 cores, 2 X 12-core
Intel(R) Xeon(R) X5670 2.93GHz CPUs
20x Mejor escalabilidad con Thread Pool 72GB DDR3 RAM
2 X LSI SCSI Disk (MR9261-8i) (597GB)
49. 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
50.
51.
52. DEMO
- MySQL Enteprise Monitor
- MySQL Workbench
http://www.youtube.com/user/mysqlespanol
53. 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
54. MySQL Enterprise Backup
Backups Online, de alto desempeño
Mejora de 3.5x, sobre tiempos de backup con mysqldump
55. MySQL Enterprise Backup
Restore, de alto desempeño
Mejora de 16x, sobre tiempos de restore con mysqldump
56. MySQL Enterprise Backup
Compresión, de backups
Reducción en tamaño de archivos backup, con compresión
de datos
57. DEMO
- MySQL Enterprise Backup
- mysqldump ( MySQL Workbench )
http://www.youtube.com/user/mysqlespanol
58. MySQL Server | Resumen
La base de datos open source más popular del planeta
MySQL Community
- Comunidad aporta: nuevas ideas, contribuciones de código, pruebas
globales (bug reports), foros
- No incluye soporte técnico, dba tools
MySQL Enterprise ( suscripción anual )
- Soporte técnico 24x7 ilimitado, Oracle Premier Support
- Revisión y recomendaciones a queries SQL
- Remote troubleshooting
- Monitor, backup on-line, query analyzer, mysql workbench
- Actualizaciones de software
- Apoyo en updgrades de community a enterprise
59. MySQL en Español – Gracias
Pedro.Andrade@Oracle.com
Manuel.Contreras@Oracle.com
http://www.youtube.com/user/mysqlespanol
http://twitter.com/mysql_espanol
https://www.facebook.com/mysql.latinoamerica
http://mysql-espanol.org/
60. <Insert Picture Here>
Open Source / MySQL, de 1995 a 5.5
Pedro Andrade – Territory Manager, MySQL Global Business Unit
Manuel Contreras – Senior Consultant, MySQL Global Business Unit
Angel de la Independencia México D.F.
http://www.flickr.com/photos/hanneorla/71913206/in/photostream/