MySQL de 1995 a 5.5

52
<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

description

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 RespuestasPedro Andrade – Latin America & Caribbean SalesManuel Contreras – Latin America & Caribbean Consulting EngineerMySQL Global Business Unit

Transcript of MySQL de 1995 a 5.5

Page 1: MySQL de 1995 a 5.5

<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

Page 2: MySQL de 1995 a 5.5

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

Page 3: MySQL de 1995 a 5.5

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

Page 4: MySQL de 1995 a 5.5

Forrester: Crecimiento en bases de datos basadas en código abierto

Page 5: MySQL de 1995 a 5.5

Grupo Independiente de Usuarios Oracle

Encuesta en 2010, tendencias del Código Abierto

* 70% del grupo tiene instancias de MySQL

Page 6: MySQL de 1995 a 5.5

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

Page 7: MySQL de 1995 a 5.5

MySQL ~ de 1995 a 5.5

Page 8: MySQL de 1995 a 5.5

8 of The Top 10 Websites That Changed The World run MySQL*

Amazon

Craigslist

eBay

Facebook

Google

Napster

Twitter

WikiLeaks

Wikipedia

YouTube

Page 9: MySQL de 1995 a 5.5

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

Page 10: MySQL de 1995 a 5.5

Estrategia:Completa. Abierta. Integrada.

• Desarrollo• Pruebas• Administración• Mantenimiento• Basada en estándares abiertos• Bajo costo

• Bajo riesgo• Más confiable

Page 11: MySQL de 1995 a 5.5

Soporte a Estándares Abiertos Integración de Ambientes Heterogéneos

Page 12: MySQL de 1995 a 5.5

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

Page 13: MySQL de 1995 a 5.5

Gracias a nuestros clientes en Latinoamérica

Page 14: MySQL de 1995 a 5.5

MySQL en el web 2.0, Enterprise 2.0...

Enterprise 2.0SaaS, Hosting

Web OEM / ISV’s

Telecommunications

Thank You – MySQL Global Customers

Page 15: MySQL de 1995 a 5.5

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

Page 16: MySQL de 1995 a 5.5

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

Page 17: MySQL de 1995 a 5.5

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

Page 18: MySQL de 1995 a 5.5

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

Page 19: MySQL de 1995 a 5.5

Haciendo un mejor MySQL Hoy

MySQL @ Oracle

Page 20: MySQL de 1995 a 5.5

Testimonios sobre MySQL 5.5

Page 21: MySQL de 1995 a 5.5

MySQL Ediciones

Page 22: MySQL de 1995 a 5.5

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

Page 23: MySQL de 1995 a 5.5

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

Page 24: MySQL de 1995 a 5.5

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

Page 25: MySQL de 1995 a 5.5

MySQL – múltiple instancias

Page 26: MySQL de 1995 a 5.5

Replicación, TopologíasFlexibilidad para escalar

Multiple

Single Chain

Circular

Master

Slave

Page 27: MySQL de 1995 a 5.5

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

Page 28: MySQL de 1995 a 5.5

Replicación conMySQL Server 5.5

Page 29: MySQL de 1995 a 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

Page 30: MySQL de 1995 a 5.5

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;

Page 31: MySQL de 1995 a 5.5

MySQL Server 5.5Performance

Page 32: MySQL de 1995 a 5.5

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

Page 33: MySQL de 1995 a 5.5

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

Page 34: MySQL de 1995 a 5.5

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

Page 35: MySQL de 1995 a 5.5

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

Page 36: MySQL de 1995 a 5.5

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

Page 37: MySQL de 1995 a 5.5

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

Page 38: MySQL de 1995 a 5.5

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

Page 39: MySQL de 1995 a 5.5

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

Page 40: MySQL de 1995 a 5.5

MySQL 5.5 SysBench BenchmarksLinux

Page 41: MySQL de 1995 a 5.5

• 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

Page 42: MySQL de 1995 a 5.5

MySQL Workbench

http://www.mysql.com/products/workbench/

Page 43: MySQL de 1995 a 5.5

• 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

Page 44: MySQL de 1995 a 5.5
Page 45: MySQL de 1995 a 5.5
Page 46: MySQL de 1995 a 5.5

DEMO - MySQL Enteprise Monitor- MySQL Workbench

Page 47: MySQL de 1995 a 5.5

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

Page 48: MySQL de 1995 a 5.5

MySQL Enterprise Backup

Mejora de 3.5x, sobre tiempos de backup con mysqldump

Backups Online, de alto desempeño

Page 49: MySQL de 1995 a 5.5

MySQL Enterprise Backup

Mejora de 16x, sobre tiempos de restore con mysqldump

Restore, de alto desempeño

Page 50: MySQL de 1995 a 5.5

MySQL Enterprise Backup

Reducción en tamaño de archivos backup, con compresión de datos

Compresión, de backups

Page 51: MySQL de 1995 a 5.5

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

Page 52: MySQL de 1995 a 5.5

¡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