Post on 18-Dec-2014
description
<Insert Picture Here>
~ de 1995 a 5.5
Pedro Andrade – Latin America & Caribbean Sales Manuel Contreras – Latin America & Caribbean Consulting Engineer MySQL Global Business Unit
Agenda
• MySQL de 1995 a 5.5
• Por que hace sentido usar Software Libre• MySQL en mundo Oracle• 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
Adopción de Software Libre
82% tienen Software Libre en producción o planeada en los sig. 12 meses
Mercado de Software Libre $5.8 mil mill. USD 2011
Forrester: Crecimiento en bases de datos basadas en código abierto
Grupo Independiente de Usuarios Oracle
Encuesta en 2010, tendencias del Código Abierto
* 70% del grupo tiene instancias de MySQL
MySQL ~ de 1995 a 5.5
¿Qué es MySQL?
• Base de Datos más popular del mundo
• Nace en 1995 -> Sun 2008 -> Oracle 2010
• Desarrollado, distribuido y soportado por ORACLE
• Open Source SQL RDBMS
• MySQL DB Server es rápido, confiable & fácil de usar
• >11,000,000 instalaciones globales
• >80,000 descargas al día
MySQL ~ de 1995 a 5.5
8 of The Top 10 Websites That Changed The World run MySQL*
Amazon
Craigslist
eBay
Napster
WikiLeaks
Wikipedia
YouTube
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
Estrategia:Completa. Abierta. Integrada.
• Desarrollo• Pruebas• Administración• Mantenimiento• Basada en estándares abiertos• Bajo costo
• Bajo riesgo• Más confiable
Soporte a Estándares Abiertos Integración de Ambientes Heterogéneos
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
Gracias a nuestros clientes en Latinoamérica
MySQL en el web 2.0, Enterprise 2.0...
Enterprise 2.0SaaS, Hosting
Web OEM / ISV’s
Telecommunications
Thank You – MySQL Global Customers
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
La oferta mas completa en LAMP Stack
• Oracle Enterprise Linux
• Oracle VM (Xen-based)
• Apache, GlassFish• MySQL• PHP, Perl, Python, Ruby, Java, C, C++
Oracle Enterprise Linux & Oracle VM
MySQL
ApacheGlassfish
EclipseNetBeans
Apps
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
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
Haciendo un mejor MySQL Hoy
MySQL @ Oracle
Testimonios sobre MySQL 5.5
MySQL Ediciones
MySQL Server | Ediciones
MySQL CommunityMySQL 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 )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
La base de datos open source más popular del planeta
Filesystems, Files and LogsRedo, Undo, Data, Index, Binary, Error, Query and Slow
Arquitectura Storage Engines - pluggable
ConnectorsNative C API, JDBC, ODBC, .Net, PHP, Ruby, Python, VB, Perl
Connection PoolAuthentication – Thread Reuse – Connection Limits – Check Memory – Caches
Enterprise Management Services and Utilities
Backup & RecoverySecurity
ReplicationCluster
PartitioningInstance Manager
Information_SchemaMySQL Workbench
SQL InterfaceDDL, DML, Stored Procedures, Views,
Triggers, Etc..
ParserQuery Translation, Object Privileges
OptimizerAccess Paths,
Statistics
CachesGlobal and Engine
Specific Caches and Buffers
Pluggable Storage EnginesMemory, Index and Storage Management
InnoDB MyISAM Cluster Etc… Partners Community More..
MySQL Server
Clients and Apps
MySQL - Instancias, schemas
MySQL ServerMySQL 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
La base de datos open source más popular del planeta
MySQL – múltiple instancias
Replicación, TopologíasFlexibilidad para escalar
Multiple
Single Chain
Circular
Master
Slave
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
Cl
ie
nt
s
Slaves Master
MySQL Replication
Replicación conMySQL 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 semi-sync, haya escrito la transacción a disco, o hasta que ocurra un timeout, entonces se retorna el ACK a la aplicación
Master
Slave
IO Thread
binlog relay
SQL Thread
Mejora la confiabilidad en FailOverCOMMIT en el nodo master es reconocido, sólo cuando al menos uno de los nodos slaves ha registrado el eventoEn caso de FailOver, no hay perdida de información
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.5Performance
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
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
33http://dev.mysql.com/doc/innodb-plugin/1.1/en/innodb-multiple-rollback-segments.html
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 – Lo nuevo
MySQL 5.5 SysBench BenchmarksLinux
Intel Xeon X7460 x86_64 4 CPU x 6 Cores/CPU 2.66 GHz, 32GB RAM Fedora 10
MySQL 5.1.50(InnoDB built-in)
MySQL 5.1.50 (InnoDB Plug-in)
MySQL 5.5.6 (InnoDB)
200% ganancia en performancede MySQL 5.5 sobre 5.1.50
MySQL 5.5 SysBench BenchmarksLinux
MySQL 5.1.50(InnoDB built-in)
MySQL 5.1.50 (InnoDB Plug-in)
MySQL 5.5.6 (New InnoDB)
Intel Xeon X7460 x86_64 4 CPU x 6 Cores/CPU 2.66 GHz, 32GB RAM Fedora 10
369% ganancia en performancede MySQL 5.5 sobre 5.1.50
MySQL 5.5 SysBench BenchmarksWindows
MySQL 5.1.50(InnoDB built-in)
MySQL 5.1.50 (InnoDB Plug-in)
MySQL 5.5.6 (New InnoDB)
Intel x86_644 CPU x 2 Cores/CPU3.166 GHz, 8GB RAMWindows Server 2008
538% ganancia en performancede MySQL 5.5 sobre 5.1.50
MySQL 5.5 SysBench BenchmarksWindows
MySQL 5.1.50(InnoDB built-in)
MySQL 5.1.50 (InnoDB Plug-in)
MySQL 5.5.6 (New InnoDB)
Intel x86_644 CPU x 2 Cores/CPU3.166 GHz, 8GB RAMWindows Server 2008
1561% ganancia en performancede MySQL 5.5 sobre 5.1.50
Lo que Facebook esta diciendo
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
http://www.facebook.com/note.php?note_id=403975340932
MySQL 5.5 SysBench BenchmarksLinux
• Subscription:• MySQL Enterprise
• License (OEM):• Embedded Server
• Support
• MySQL Cluster Carrier-Grade
• Training• Consulting• NRE
ServerUpates
Monitor& Backup
Soporte
• MySQL Enterprise Server• Actualizaciones mensuales• Service Packs trimestrales• Programa Hot Fix• Fin de vida extendido (EOL)
• Monitor Global de todos los servidores• Consola Central basada en la Web• Built-in Advisors• Query Analyzer• Enterprise Backup, MySQL Workbench
• Soporte a producción 24 x 7• Ilimitado en incidentes• Remote troubleshooting •Programa de escalamiento de Bugs•Soporte MoS en Español
MySQL Enterprise ServerSoftware y Servicios Empresariales a través de una suscripción anual
MySQL Workbench
http://www.mysql.com/products/workbench/
• 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 DBAs
MySQL Enterprise Monitor
Un asistente DBA Virtual para MySQL
http://mysql.com/products/enterprise/monitor.html
DEMO - MySQL Enteprise Monitor- MySQL Workbench
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
Mejora de 3.5x, sobre tiempos de backup con mysqldump
Backups Online, de alto desempeño
MySQL Enterprise Backup
Mejora de 16x, sobre tiempos de restore con mysqldump
Restore, de alto desempeño
MySQL Enterprise Backup
Reducción en tamaño de archivos backup, con compresión de datos
Compresión, de backups
MySQL Server | Resumen
MySQL CommunityMySQL 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 )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
La base de datos open source más popular del planeta
¡Gracias!
Contacto: pedro@mysql.com
manuel.contreras@oracle.com
Twitter:
@mysql
@mysql_espanol
Web:
mysql.com/enterprise
mysql.com/products
Blogs:
blogs.oracle.com/mysql
mysql-espanol.org