• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Oracle Day 2013 ~ MySQL Replication
 

Oracle Day 2013 ~ MySQL Replication

on

  • 902 views

 

Statistics

Views

Total Views
902
Views on SlideShare
896
Embed Views
6

Actions

Likes
1
Downloads
19
Comments
0

2 Embeds 6

http://oracledbacr.blogspot.com 5
http://oracledbacr.blogspot.com.br 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Oracle Day 2013 ~ MySQL Replication Oracle Day 2013 ~ MySQL Replication Presentation Transcript

    • Colombia Bogotá
    • MySQL Pedro Andrade pedro.andrade@oracle.com Strategic Accounts Manuel Contreras manuel.contreras@oracle.com Senior Consultant Linux, Virtualization, MySQL Global Business Unit Colombia Bogotá Abril ‘13
    • The following is intended to outline our generalproduct direction. It is intended for informationpurposes only, and may not be incorporated intoany contract. It is not a commitment to deliverany material, code, or functionality, and shouldnot be relied upon in making purchasingdecisions. The development, release, and timingof any features or functionality described forOracle’s products remains at the sole discretionof Oracle.
    • MySQL Team – LADKattia.fallas@oracle.com – Corporate Sales ( CR )Pedro.Andrade@oracle.com – Strategic Accounts ( ? )Manuel.Contreras@oracle.com – Senior Consultant ( MX)
    • AgendaMySQL Replication: Introducción MySQL + Java: como escalar masivamenteaplicaciones.Beneficios de MySQL, Java & GlassFishApplication Server. Arquitecturas de Referencia MySQL Donde encontrar más Información QA
    • MySQLReplication
    • MySQL Replication: recap Funcionalidad Integrada a MySQL Server Copia updates / inserts desde un Master Server hacia uno ovarios Slaves Servers. Usos comunes:  High Availability  Backup On-line  Asíncrono  Semi-Sync en 5.6 Asynchronous Replication update customer Customer Inquiry Synchronous Replication update customer Customer Inquiry
    • MySQL Replication Web / App Servers Writes & Reads Reads MySQL Master Server MySQL Slave Server WritesIndex & Binary Log Rotation Writes Replication Relay Log
    • MySQL Replication: scale-out Web / App Servers Reads Writes Slave Farm MySQL Master Slave 1 Slave 2 Slave 3 Slave 4 Slave N Writeshttp://mysql.com/why-mysql/white-papers/mysql-wp-replication.php
    • Replication ~ Topologías Flexibilidad para escalar Single Chain Multiple Circular Master Slave© 2010 Oracle Corporation – Proprietary and Confidential
    • MySQLEnterprise
    • MySQL Enterprise – Valor agregado– Workbench, monitor, query analyzer, performance advisors - Facilidad de uso y mejor control de la plataforma– Soporte Técnico 24x7 Oracle Support – Mitigación de riesgos– Actualizaciones de software - Estabilidad y mejor desempeño en MySQL Server Query analysis Load balancer Enterprise manager Best practices rules 24x7 support Monitoring Hot fixes Open-source server Knowledge base with pluggable APIs Service packs
    • MySQL Enterprise - Performance MySQL Enterprise Edition MySQL Community Server20x Mejor escalabilidad MySQL Enterprise 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 72GB DDR3 RAM 2 X LSI SCSI Disk (MR9261-8i) (597GB)
    • Default Connection Pool Default Connection Pool Connection 1 Connection 1 Execution Thread Connections /statements Connection 2 Execution Thread Connection 2 assigned to ThreadsUsers/Clients for life • Connections assigned to 1 thread for the life of the connection • Same thread used for all connection statement executions (single threaded)
    • With Thread Pool Enabled Thread Pool (and thread Connection 1 Execution Threads groups) Connection 1 Connection 1 Threads 1 - 4096 Connection 2 Execution Threads Connection 2 Connection 2 Threads 4097 - 8193Users/Clients Connection N Threads 8194 - N • Pool contains configurable number of thread groups (default = 16), each manages up to 4096 re-usable threads • Each connection assigned to thread group via round robin Ensures better, sustained performance as user loads continue to grow.
    • MySQL Enterprise Monitor: Query Analyzer
    • MySQL Enterprise Backup• Online Backup for InnoDB• Full, Incremental, Partial Backups• Compressed Backup• Point in Time Recovery (PITR)• High Performance• Unlimited Database Size• Cross-Platform (Windows, Linux, Unix) mysqlbackup MEB Backup MySQL Files Database Files
    • MySQL Workbench Tweets from real users after 5.2 release“MySQLWorkbench – I think I loveyou.Exportingbackups andmanagingmassconnections isso simple.Bootiful!” “MySQL Workbench 5.2 is impressive. SQL Development, Data Modeling, and Server Administration all integrated”© 2012 Oracle Corporation – Proprietary and Confidential 19
    • New! Database Migration Wizard MySQL Workbench for SQL Server, Sybase, PostgreSQL• SQL Development – SQL Editor - Color Syntax Highlighting – Object Management - Import/Export, Browser, Edit – Connection Management - Wizard, SSH Tunnel – Multi-Pane Results View, In-grid data edits• Data Modelling – Visual Design – Forward/Reverse Engineer• Database Administration – Status, Configuration, Start/Stop, Replication – Users, Security, Session Management – Import/Export Dump Files Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
    • MySQL Enterprise Security 21
    • MySQL Enterprise Audit 22
    • MySQL Enterprise Audit 23
    • JavaLa plataforma de desarrollo
    • Java El lenguaje de programación independiente a la plataforma Java - Simple, facil de usar - 100% orientado a objetos, API clases - Administración automática de memoria - Independiente a la plataforma - Orientado a un contenedor JRE ( JVM ) –Maquina virtual Java que administra multi-threading, seguridad, memoria, class loader, manejo de excepciones ( errores en tiempo de ejecución ) - Oracle Glassfish Application Server es la implementación de referencia para Java EE - 9 millones de desarrolladores en el mundo - Java es gestionado por el Java Community Processhttp://www.oracle.com/technetwork/java/javase/jdk7-relnotes-418459.html
    • Java 7.0Java 7.0 – potencializa el desempeño de Java en Servidores Java 7.0, incorpora mejoras orientadas para aumentar el desempeño de aplicaciones corriendo en servidores con gran capacidad en RAM, y CPU multi-cores. – Manejo de memoria mas eficiente - Memoria es divida en varios Heap - First Gargabe collector: divide la memoria en varios heap memory, aumentando el desempeño en su acceso – Nueva funcionalidad en API de JDBC, para conectividad a bases de datos RowSet, Statement y Connection implementan la interfaz Closeable, AutoCloseable
    • Java & MySQL ~ la mejor combinaciónPrácticas Recomendadas para Java Developers Mecanismos para establecer conexiones a MySQL Server, con Java: - Pool Connection / Data Source - Persistence Framework – Hibernate, Spring – Memcached ( Not-Only SQL MySQL 5.6 & MySQL Cluster 7.2 ) – NoSQL ( Not Only SQL ) – ClusterJ & Memcached Java APIs – MySQL Server 5.6 ( InnoDB ) – MySQL Cluster ( NDB Cluster )
    • JDBC | Java Database ConnectivityPrácticas Recomendadas para Java Developers
    • JDBC | Java Database ConnectivityPrácticas Recomendadas para Java DevelopersPool Connection / DataSource- Un conjunto de conexiones, siempre esta listo en el pool- Método: getConnection() en Java, obtiene una conexión lista delpool, sin delay en abrir físicamente una conexión al motor de BD.- Método closeConnection() en Java, NO cierra la conexión,únicamente la retorna al pool, para que otro Thread pueda re-utilizarla
    • JDBC | DataSource Glassfishhttp://blogs.oracle.com/psterk/entry/creating_and_configuring_a_mysql
    • JDBC | DataSource Glassfish Prácticas Recomendadas para Java Developers El Servidor Java EE de aplicaciones, Glassfish Application Server administra las conexiones en el Pool: Automáticamente cierra conexiones en estado idle. Obtiene conexiones sobre demanda, según las requiera el aplicativo. Configuración centralizada desde JDBC Resource Manager, en el Java Application Server.http://blogs.oracle.com/psterk/entry/creating_and_configuring_a_mysql
    • JDBC | Java Database ConnectivityPrácticas Recomendadas para Java Developers Data Source
    • JDBC | Java Database ConnectivityPrácticas Recomendadas para Java Developers Data Source (2)
    • Recap: JDBC | Java Database ConnectivityPrácticas Recomendadas para Java Developers JNDI Data Source - Pro: flexibilidad en parámetros de configuración, gestión de conexiones por el contenedor Java EE - Consideración: requiere de un application server ( container ) Persistence Framework - Pro: mapping entre OO & ER - Consideración : requiere mayor configuracion ( XML config params ) -NoSQL ( Memcached, ClusterJ ) Pro: Key-Value access repository Consideración : No FK’s, NO ACIDity
    • Recap: MySQL – ReplicaciónMaster – Slave
    • JDBC | Java Database Connectivity Prácticas Recomendadas para Java Developers JDBC – MySQL Master, Slave1, Slave2, SlaveN – Round Robin - Balanceo de Lectura en servidores Slave - Servidor Master para Read & Writes - Slaves para Read Only - JDBC Connector automáticamente, selecciona un Slave de la lista de Slaveshttp://dev.mysql.com/doc/refman/5.5/en/connector-j-reference-replication-connection.html
    • JDBC | Java Database Connectivity Prácticas Recomendadas para Java Developers - Import de Librerías - Configura Driver para uso en RoundRobin Load Balancinghttp://dev.mysql.com/doc/refman/5.5/en/connector-j-reference-replication-connection.html
    • JDBC | Java Database Connectivity Prácticas Recomendadas para Java Developers - Insert Datos en Master ( Read Only False )http://dev.mysql.com/doc/refman/5.5/en/connector-j-reference-replication-connection.html
    • JDBC | Java Database Connectivity Prácticas Recomendadas para Java Developers - Select Datos en uno de los Slaves ( Read Only True )http://dev.mysql.com/doc/refman/5.5/en/connector-j-reference-replication-connection.html
    • MySQL Enterprise Monitor• Replication Monitor
    • 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 DBAs Un asistente DBA Virtual para MySQLhttp://mysql.com/products/enterprise/monitor.html
    • MySQL Enterprise Monitor• Java Connector plugin
    • MySQL Enterprise Monitor• Java Connector plugin – MySQL Enterprise Monitor, a través de conector JDBC Java •Obtiene información de queries para su análisis, desde la aplicación – Utilizado por Query Analyzer de MySQL Monitorhttp://dev.mysql.com/doc/mysql-monitor/2.3/en/mem-qanal-using-cj.html
    • Alta Disponibilidad Clustering & Geo TCO & More Complex Replication Clustering & Virtualization DRBD MySQL Replication ISPs & On-Line eCommerce Corporativo Services Telecoms, Militar 9 9 . 9 9 9 35 dias 4 days 4 dias 8 horas 50 min 5 min %
    • MySQL Replication Manual Failover Hardware o software load balancers [ F5,ultramonkey (software) ] Linux-ha.org / Linux Heartbeat Linux Enterprise Cluster Suite Windows Clustering Service Built-in MySQL Connector Failover (Connector J ) A nivel a aplicación - Try connection A, then try connection B
    • Recap: MySQL – ReplicaciónMaster – Slave
    • Shared Storage (SAN)© 2010 Oracle Corporation – Proprietary and Confidential
    • Shared-Disk Clustering Architectures Cluster Management = Virtual IP = Active Server 10.10.10.10 Passive Server Cluster Agent Cluster Agent = Private IP = = Private IP = 10.10.10.20 10.10.10.21 SAN© 2010 Oracle Corporation – Proprietary and Confidential
    • DRBD Distributed Replicated Block Device© 2010 Oracle Corporation – Proprietary and Confidential
    • Linux Heartbeat, DRBD and MySQL Linux HeartbeatActive Server = Virtual IP = Passive Server 10.10.10.10 = Private IP = = Private IP = 10.10.10.20 10.10.10.21Primary DRBD Secondary DRBD DRBD
    • MySQL Enterprise High Availability Oracle Linux + DRBD Stack• Certified and fully supported by Oracle – DRBD integrated into Oracle Linux Unbreakable Enterprise Kernel R2 – Pacemaker and Corosync for clustering & failover – Updates to stack via ULN channel• Based on distributed storage, not a SAN – Synchronous replication eliminates risk of data loss• Open source, mature & proven
    • MySQL: Sakila & el Chavo del 8 en FacebookMySQL apoya a el Chavo del 8 con:- Soporte técnico 24x7, para el cluster de 10nodos.- Revisión de configuración & puesta apunto de la plataforma productiva.- Actualizaciones de software al binarioMySQL Cluster CGE v 7.2.X - Disminución de 30% de saturación & consumo de CPU. - Detección de fallas & monitoring a través de MySQL Enterprise Monitor. - Afinación del ambiente MySQL Cluster, para mejorar el desempeño del juego.
    • MySQL: Sakila & el Chavo del 8 en FacebookMySQL apoya a el Chavo del 8 con:- Soporte técnico 24x7, para el cluster de 10nodos.- Revisión de configuración & puesta apunto de la plataforma productiva.- Actualizaciones de software al binarioMySQL Cluster CGE v 7.2.X - Disminución de 30% de saturación & consumo de CPU. - Detección de fallas & monitoring a través de MySQL Enterprise Monitor. - Afinación del ambiente MySQL Cluster, para mejorar el desempeño del juego.
    • MySQL Cluster CGE Introducción Botero en Medellin Colombia http://www.flickr.com/photos/dfinnecy/2092541057/
    • MySQL Cluster CGE – Características generales- ACID, datos distribuidos en memoria– BDs distribuida en memoria, auto-partitioning (sharding).Write-Scalable & Real-Time–Procesamiento en nodos Activo – Activo, con replicación síncrona de datos.Alta Disponibilidad, 99.999%–SQL & Not Only SQL (NoSQL), interfaces.–Arquitectura Shared-nothing, con soporte a replicación local & geográfica.•Mejora el TCOOpen-source, herramientas para administración, monitoring, &escalabilidad horizontal en commodity hardware.
    • MySQL Cluster CGE Auto Fragmentación de Datos Machu Picchu Perúhttp://www.flickr.com/photos/94875862@N00/95345836/in/photostream/
    • MySQL Cluster CGE Auto-Sharding –Introducción•Partitioning - Sharding ocurre automáticamente y de formatransparente para la aplicación•Conocimientos básicos de como funciona, puede incrementar eldesempeño de la aplicación•Escalable de forma horizontal, con soporte para agregar mas nodosen linea•No es necesario, agregar lógica en la aplicación para tomar ventajadel Sharding http://www.mysql.com/why-mysql/white-papers/mysql_wp_cluster_perfomance.php
    • MySQL Cluster CGE Scaling-Out Escalabilidad Horizontal 9 de Julio BsAs Argentina http://www.flickr.com/photos/fvyague/2538963317/
    • MySQL Enterprise High Availability Oracle Linux + DRBD Stack• Certified and fully supported by Oracle – DRBD integrated into Oracle Linux Unbreakable Enterprise Kernel R2 – Pacemaker and Corosync for clustering & failover – Updates to stack via ULN channel• Based on distributed storage, not a SAN – Synchronous replication eliminates risk of data loss• Open source, mature & proven
    • MySQL Enterprise High Availability• Cluster managed through MS Failover Cluster Management Slave App App App snap-in GUI• Loss of service = couple of seconds + InnoDB recovery time Virtual IP – App sees temporary loss of connection and reconnects on same IP address – Replication slave recovers automatically Vote Data Bin
    • MySQL Enterprise High AvailabilityOracle Solaris Clustering • Kernel based heartbeat and monitoring • SPARC and x86. Solaris Virtualization-aware • MySQL agent included with Oracle Solaris Clusterl
    • 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• Mejora de 3.5x, sobre tiempos de backup con mysqldump• Mejora de 16x, sobre tiempos de restore con mysqldump
    • MySQL Workbenchhttp://www.mysql.com/products/workbench/
    • Software Open Source @Oracle Pedro Andrade pedro.andrade@oracle.com Strategic Accounts Manuel Contreras manuel.contreras@oracle.com Senior Consultant Linux, Virtualization, MySQL Global Business Unit Colombia Bogotá Abril ‘13
    • Colombia Bogotá