MySQL de 1995 a 5.5

Post on 18-Dec-2014

2.027 views 6 download

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

<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

Facebook

Google

Napster

Twitter

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