SlideShare une entreprise Scribd logo
1  sur  84
Télécharger pour lire hors ligne
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
Agenda
MySQL Replication: Introducción
 MySQL + Java: como escalar masivamente
aplicaciones.
Beneficios de MySQL, Java & GlassFish
Application Server.
 Arquitecturas de Referencia MySQL
 Donde encontrar más Información
 QA
MySQL
Replication
MySQL Replication: recap
 Funcionalidad Integrada a MySQL Server
 Copia updates / inserts desde un Master Server hacia uno o
varios Slaves Servers.
 Usos comunes:
 High Availability
 Backup On-line
 Asíncrono
 Semi-Sync en 5.6
update
customer
update
customer
Asynchronous Replication
Synchronous Replication
Customer
Inquiry
Customer
Inquiry
MySQL Replication
Web / App Servers
Writes & Reads
MySQL Master Server
Writes
Index & Binary
Log Rotation
MySQL Slave Server
Writes
Reads
Replication
Relay Log
MySQL Replication: scale-out
MySQL
Master
Slave 1 Slave 2 Slave 3 Slave 4 Slave N
Web / App Servers
Writes
Slave Farm
Writes
Reads
http://mysql.com/why-mysql/white-papers/mysql-wp-replication.php
Replication ~ Topologías
Flexibilidad para escalar
Multiple
Single Chain
Circular
Master
Slave
© 2010 Oracle Corporation – Proprietary and Confidential
MySQL
Enterprise
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
Open-source server
with pluggable APIs
Monitoring
Enterprise
manager
Query analysis
Hot fixes
Service packs
Best practices rules
Knowledge base
24x7 support
Load
balancer
MySQL Enterprise Edition
MySQL Community Server
MySQL Enterprise - Performance
20x 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
Users/Clients
Connection 1
Default
Connection Pool
Connections
/statements
assigned
to Threads
for life
Connection 1 Execution Thread
Connection 2 Connection 2 Execution Thread
• 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
groups)
Connection 1 Execution Threads
Users/Clients
Connection 1
Connection 2
Connection 1
Threads 1 - 4096
Connection 2
Threads 4097 - 8193
Connection 2 Execution Threads
• 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
Connection N
Threads 8194 - N
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)
MEB Backup
Files
MySQL
Database Files
mysqlbackup
16© 2012 Oracle Corporation – Proprietary and Confidential
MySQL Workbench
Tweets from real users after 5.2 release
“MySQL
Workbench –
I think I love
you.
Exporting
backups and
managing
mass
connections is
so simple.
Bootiful!” “MySQL Workbench 5.2 is impressive.
SQL Development, Data Modeling, and
Server Administration all integrated”
Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
MySQL Workbench
• 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
New! Database Migration Wizard
for SQL Server, Sybase, PostgreSQL
18
MySQL Enterprise Security
19
MySQL Enterprise Audit
20
MySQL Enterprise Audit
Java
La plataforma de desarrollo
Java
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 Process
El lenguaje de programación independiente a la plataforma
http://www.oracle.com/technetwork/java/javase/jdk7-relnotes-
418459.html
Java 7.0
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 7.0 – potencializa el desempeño de Java en Servidores
Java & MySQL ~ la mejor combinación
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 )
Prácticas Recomendadas para Java Developers
JDBC | Java Database Connectivity
Prácticas Recomendadas para Java Developers
JDBC | Java Database Connectivity
Pool Connection / DataSource
- Un conjunto de conexiones, siempre esta listo en el pool
- Método: getConnection() en Java, obtiene una conexión lista del
pool, 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
Prácticas Recomendadas para Java Developers
JDBC | DataSource Glassfish
http://blogs.oracle.com/psterk/entry/creating_and_configuring_a_mysql
JDBC | DataSource Glassfish
http://blogs.oracle.com/psterk/entry/creating_and_configuring_a_mysql
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.
Prácticas Recomendadas para Java Developers
JDBC | Java Database Connectivity
Data Source
Prácticas Recomendadas para Java Developers
JDBC | Java Database Connectivity
Data Source (2)
Prácticas Recomendadas para Java Developers
Recap: JDBC | Java Database Connectivity
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
Prácticas Recomendadas para Java Developers
Recap: MySQL – Replicación
Master – Slave
JDBC | Java Database Connectivity
JDBC – MySQL Master, Slave1, Slave2, SlaveN – Round Robin
Prácticas Recomendadas para Java Developers
- 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 Slaves
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
http://dev.mysql.com/doc/refman/5.5/en/connector-j-reference-replication-
connection.html
- Import de Librerías
- Configura Driver para uso en RoundRobin Load Balancing
JDBC | Java Database Connectivity
Prácticas Recomendadas para Java Developers
http://dev.mysql.com/doc/refman/5.5/en/connector-j-reference-replication-
connection.html
- Insert Datos en Master ( Read Only False )
JDBC | Java Database Connectivity
Prácticas Recomendadas para Java Developers
http://dev.mysql.com/doc/refman/5.5/en/connector-j-reference-replication-
connection.html
- Select Datos en uno de los Slaves ( Read Only True )
MySQL Enterprise Monitor
• Replication 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
MySQL Enterprise Monitor
Un asistente DBA Virtual para MySQL
http://mysql.com/products/enterprise/monitor.html
MySQL Enterprise Monitor
• Java Connector plugin
• 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 Monitor
MySQL Enterprise Monitor
http://dev.mysql.com/doc/mysql-monitor/2.3/en/mem-qanal-using-cj.html
MySQL Replication
Clustering &
Virtualization
Clustering & Geo
Replication
DRBD
TCO&MoreComplex
Alta Disponibilidad
%9 9 99
35 dias 4 days 50 min 5 min8 horas
eCommerce
Telecoms, Militar
.9
4 dias
ISPs &
Corporativo
On-Line
Services
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ón
Master – Slave
© 2010 Oracle Corporation – Proprietary and Confidential
Shared Storage (SAN)
© 2010 Oracle Corporation – Proprietary and Confidential
Shared-Disk Clustering Architectures
= Private IP =
10.10.10.21
Active Server Passive Server
Cluster Management
= Virtual IP =
10.10.10.10
= Private IP =
10.10.10.20
Cluster Agent
SAN
Cluster Agent
© 2010 Oracle Corporation – Proprietary and Confidential
DRBD
Distributed Replicated Block
Device
Linux Heartbeat, DRBD and MySQL
= Private IP =
10.10.10.21
Active Server Passive Server
= Private IP =
10.10.10.20
Primary DRBD Secondary DRBD
DRBD
Linux Heartbeat
= Virtual IP =
10.10.10.10
• 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
Oracle Linux + DRBD Stack
MySQL: Sakila & el Chavo del 8 en Facebook
MySQL apoya a el Chavo del 8 con:
- Soporte técnico 24x7, para el cluster de 10
nodos.
- Revisión de configuración & puesta a
punto de la plataforma productiva.
- Actualizaciones de software al binario
MySQL 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 Facebook
MySQL apoya a el Chavo del 8 con:
- Soporte técnico 24x7, para el cluster de 10
nodos.
- Revisión de configuración & puesta a
punto de la plataforma productiva.
- Actualizaciones de software al binario
MySQL 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 TCO
Open-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 forma
transparente para la aplicación
•Conocimientos básicos de como funciona, puede incrementar el
desempeño de la aplicación
•Escalable de forma horizontal, con soporte para agregar mas nodos
en linea
•No es necesario, agregar lógica en la aplicación para tomar ventaja
del 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/
• 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
Oracle Linux + DRBD Stack
• Cluster managed through MS
Failover Cluster Management
snap-in GUI
• Loss of service = couple of
seconds + InnoDB recovery
time
– App sees temporary loss of
connection and
reconnects on same IP
address
– Replication slave recovers
automatically
App
Virtual IP
Data Bin
Slave App App
Vote
MySQL Enterprise High Availability
• Kernel based heartbeat and monitoring
• SPARC and x86. Solaris Virtualization-aware
• MySQL agent included with Oracle Solaris Clusterl
MySQL Enterprise High Availability
Oracle Solaris Clustering
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 Workbench
http://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

Contenu connexe

Tendances

Cosas que “probablemente” no sabes pero deberías de saber en Oracle 12c
Cosas que “probablemente” no sabes pero deberías de saber en Oracle 12cCosas que “probablemente” no sabes pero deberías de saber en Oracle 12c
Cosas que “probablemente” no sabes pero deberías de saber en Oracle 12cGustavo Rene Antunez
 
Beneficios de Oracle Cloud
Beneficios de Oracle CloudBeneficios de Oracle Cloud
Beneficios de Oracle CloudDeiby Gómez
 
Cluster con postgresql
Cluster con postgresqlCluster con postgresql
Cluster con postgresqlesmeraldaq2011
 
Gestión de grandes volúmenes de información
Gestión de grandes volúmenes de informaciónGestión de grandes volúmenes de información
Gestión de grandes volúmenes de informaciónGuatemala User Group
 
Introducción a Tomcat
Introducción a TomcatIntroducción a Tomcat
Introducción a TomcatIker Canarias
 
Oracle Day 2013 ~ MySQL Replication
Oracle Day 2013 ~ MySQL Replication Oracle Day 2013 ~ MySQL Replication
Oracle Day 2013 ~ MySQL Replication Manuel Contreras
 
Alta Disponibilidad con PgPool-II
Alta Disponibilidad con PgPool-IIAlta Disponibilidad con PgPool-II
Alta Disponibilidad con PgPool-IILenin Hernandez
 
Instalación y Configuración de Pentaho BI y MySQL
Instalación y Configuración de Pentaho BI y MySQLInstalación y Configuración de Pentaho BI y MySQL
Instalación y Configuración de Pentaho BI y MySQLT.I.C
 
Pentaho BI
Pentaho BIPentaho BI
Pentaho BIT.I.C
 
Requeriminetos de sgbd oracle
Requeriminetos de sgbd oracleRequeriminetos de sgbd oracle
Requeriminetos de sgbd oracleMarcos Vazquez
 
09 adm bases de datos abd5501 (03 unidad 2 oracle)
09 adm bases de datos abd5501 (03 unidad 2   oracle)09 adm bases de datos abd5501 (03 unidad 2   oracle)
09 adm bases de datos abd5501 (03 unidad 2 oracle)La_Conchito
 
MySQL Una Introduccion Tecnica
MySQL Una Introduccion TecnicaMySQL Una Introduccion Tecnica
MySQL Una Introduccion TecnicaKeith Hollman
 
Replicacion Postgresql
Replicacion PostgresqlReplicacion Postgresql
Replicacion Postgresqljockbrera
 
Requerimientos de instalacion
Requerimientos de instalacionRequerimientos de instalacion
Requerimientos de instalacionLuis Maza
 
Manual de instalación de oracle apex sobre entorno windows
Manual de instalación de oracle apex sobre entorno windowsManual de instalación de oracle apex sobre entorno windows
Manual de instalación de oracle apex sobre entorno windowserabol
 
In-Memory OLTP en SQL Server 2016
In-Memory OLTP en SQL Server 2016In-Memory OLTP en SQL Server 2016
In-Memory OLTP en SQL Server 2016Joseph Lopez
 
Replicacion con postgresql y slony
Replicacion con  postgresql y slonyReplicacion con  postgresql y slony
Replicacion con postgresql y slonyJohanna Mendez
 
AlwaysOn en SQL Server 2016
AlwaysOn en SQL Server 2016AlwaysOn en SQL Server 2016
AlwaysOn en SQL Server 2016SpanishPASSVC
 

Tendances (20)

Cosas que “probablemente” no sabes pero deberías de saber en Oracle 12c
Cosas que “probablemente” no sabes pero deberías de saber en Oracle 12cCosas que “probablemente” no sabes pero deberías de saber en Oracle 12c
Cosas que “probablemente” no sabes pero deberías de saber en Oracle 12c
 
Beneficios de Oracle Cloud
Beneficios de Oracle CloudBeneficios de Oracle Cloud
Beneficios de Oracle Cloud
 
Cluster con postgresql
Cluster con postgresqlCluster con postgresql
Cluster con postgresql
 
Gestión de grandes volúmenes de información
Gestión de grandes volúmenes de informaciónGestión de grandes volúmenes de información
Gestión de grandes volúmenes de información
 
Introducción a Tomcat
Introducción a TomcatIntroducción a Tomcat
Introducción a Tomcat
 
Oracle Day 2013 ~ MySQL Replication
Oracle Day 2013 ~ MySQL Replication Oracle Day 2013 ~ MySQL Replication
Oracle Day 2013 ~ MySQL Replication
 
Alta Disponibilidad con PgPool-II
Alta Disponibilidad con PgPool-IIAlta Disponibilidad con PgPool-II
Alta Disponibilidad con PgPool-II
 
Instalación y Configuración de Pentaho BI y MySQL
Instalación y Configuración de Pentaho BI y MySQLInstalación y Configuración de Pentaho BI y MySQL
Instalación y Configuración de Pentaho BI y MySQL
 
Pentaho BI
Pentaho BIPentaho BI
Pentaho BI
 
Laravel 5.1
Laravel 5.1Laravel 5.1
Laravel 5.1
 
Requeriminetos de sgbd oracle
Requeriminetos de sgbd oracleRequeriminetos de sgbd oracle
Requeriminetos de sgbd oracle
 
09 adm bases de datos abd5501 (03 unidad 2 oracle)
09 adm bases de datos abd5501 (03 unidad 2   oracle)09 adm bases de datos abd5501 (03 unidad 2   oracle)
09 adm bases de datos abd5501 (03 unidad 2 oracle)
 
MySQL Una Introduccion Tecnica
MySQL Una Introduccion TecnicaMySQL Una Introduccion Tecnica
MySQL Una Introduccion Tecnica
 
Replicacion Postgresql
Replicacion PostgresqlReplicacion Postgresql
Replicacion Postgresql
 
Requerimientos de instalacion
Requerimientos de instalacionRequerimientos de instalacion
Requerimientos de instalacion
 
Manual de instalación de oracle apex sobre entorno windows
Manual de instalación de oracle apex sobre entorno windowsManual de instalación de oracle apex sobre entorno windows
Manual de instalación de oracle apex sobre entorno windows
 
Tomcat y Jboss
Tomcat y JbossTomcat y Jboss
Tomcat y Jboss
 
In-Memory OLTP en SQL Server 2016
In-Memory OLTP en SQL Server 2016In-Memory OLTP en SQL Server 2016
In-Memory OLTP en SQL Server 2016
 
Replicacion con postgresql y slony
Replicacion con  postgresql y slonyReplicacion con  postgresql y slony
Replicacion con postgresql y slony
 
AlwaysOn en SQL Server 2016
AlwaysOn en SQL Server 2016AlwaysOn en SQL Server 2016
AlwaysOn en SQL Server 2016
 

En vedette

Mejores Prácticas Administración de Base de Datos Oracle
Mejores Prácticas Administración de Base de Datos OracleMejores Prácticas Administración de Base de Datos Oracle
Mejores Prácticas Administración de Base de Datos Oraclejftorres92
 
Daily mcx newsletter 10 july 2013
Daily mcx newsletter 10 july 2013Daily mcx newsletter 10 july 2013
Daily mcx newsletter 10 july 2013Richa Sharma
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)IJERD Editor
 
Wooster roofing 888 778 0212
Wooster roofing 888 778 0212Wooster roofing 888 778 0212
Wooster roofing 888 778 0212hansons0588
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)IJERD Editor
 
Adult learning - learning styles - Global Learning Framework theory SUNY co...
Adult learning -   learning styles - Global Learning Framework theory SUNY co...Adult learning -   learning styles - Global Learning Framework theory SUNY co...
Adult learning - learning styles - Global Learning Framework theory SUNY co...Chrysalis Campaign, Inc.
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)IJERD Editor
 
Buckle raf eagle brass belt buckle
Buckle raf eagle brass belt buckleBuckle raf eagle brass belt buckle
Buckle raf eagle brass belt buckleelandgroup786
 
Xrc quick refguide
Xrc quick refguideXrc quick refguide
Xrc quick refguideLiberteks
 
Tiffin windows 888 778 0212
Tiffin windows 888 778 0212Tiffin windows 888 778 0212
Tiffin windows 888 778 0212hansons0588
 
Ppt uas tekno verika dian
Ppt uas tekno verika dianPpt uas tekno verika dian
Ppt uas tekno verika dianvey_riecha
 
Sonata Rapalyte SS16 'Secret Garden' Look Book
Sonata Rapalyte SS16 'Secret Garden' Look BookSonata Rapalyte SS16 'Secret Garden' Look Book
Sonata Rapalyte SS16 'Secret Garden' Look BookJoseph Bachman
 
GetMedCallAssist -Corporate Travel and Expatriates
GetMedCallAssist -Corporate Travel and ExpatriatesGetMedCallAssist -Corporate Travel and Expatriates
GetMedCallAssist -Corporate Travel and ExpatriatesGMCA-Pres
 
OLARINRE BANJI SUNDAY CV 2.4
OLARINRE BANJI SUNDAY CV 2.4OLARINRE BANJI SUNDAY CV 2.4
OLARINRE BANJI SUNDAY CV 2.4Nkwu Steel
 
Scrisoare de recomandare Stefan Mosneanu
Scrisoare de recomandare Stefan MosneanuScrisoare de recomandare Stefan Mosneanu
Scrisoare de recomandare Stefan MosneanuStefan Mosneanu
 

En vedette (20)

Mejores Prácticas Administración de Base de Datos Oracle
Mejores Prácticas Administración de Base de Datos OracleMejores Prácticas Administración de Base de Datos Oracle
Mejores Prácticas Administración de Base de Datos Oracle
 
Daily mcx newsletter 10 july 2013
Daily mcx newsletter 10 july 2013Daily mcx newsletter 10 july 2013
Daily mcx newsletter 10 july 2013
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
 
Wooster roofing 888 778 0212
Wooster roofing 888 778 0212Wooster roofing 888 778 0212
Wooster roofing 888 778 0212
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
 
Adult learning - learning styles - Global Learning Framework theory SUNY co...
Adult learning -   learning styles - Global Learning Framework theory SUNY co...Adult learning -   learning styles - Global Learning Framework theory SUNY co...
Adult learning - learning styles - Global Learning Framework theory SUNY co...
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
 
Buckle raf eagle brass belt buckle
Buckle raf eagle brass belt buckleBuckle raf eagle brass belt buckle
Buckle raf eagle brass belt buckle
 
Xrc quick refguide
Xrc quick refguideXrc quick refguide
Xrc quick refguide
 
COMPANY OVERVIEW
COMPANY OVERVIEWCOMPANY OVERVIEW
COMPANY OVERVIEW
 
Tiffin windows 888 778 0212
Tiffin windows 888 778 0212Tiffin windows 888 778 0212
Tiffin windows 888 778 0212
 
Ppt uas tekno verika dian
Ppt uas tekno verika dianPpt uas tekno verika dian
Ppt uas tekno verika dian
 
Certificate
CertificateCertificate
Certificate
 
Sonata Rapalyte SS16 'Secret Garden' Look Book
Sonata Rapalyte SS16 'Secret Garden' Look BookSonata Rapalyte SS16 'Secret Garden' Look Book
Sonata Rapalyte SS16 'Secret Garden' Look Book
 
Muhammed S Rashid_Noise & Vibration
Muhammed S Rashid_Noise & VibrationMuhammed S Rashid_Noise & Vibration
Muhammed S Rashid_Noise & Vibration
 
GetMedCallAssist -Corporate Travel and Expatriates
GetMedCallAssist -Corporate Travel and ExpatriatesGetMedCallAssist -Corporate Travel and Expatriates
GetMedCallAssist -Corporate Travel and Expatriates
 
OLARINRE BANJI SUNDAY CV 2.4
OLARINRE BANJI SUNDAY CV 2.4OLARINRE BANJI SUNDAY CV 2.4
OLARINRE BANJI SUNDAY CV 2.4
 
Scrisoare de recomandare Stefan Mosneanu
Scrisoare de recomandare Stefan MosneanuScrisoare de recomandare Stefan Mosneanu
Scrisoare de recomandare Stefan Mosneanu
 
Jeevan Sudha Ras
Jeevan Sudha RasJeevan Sudha Ras
Jeevan Sudha Ras
 
Test
TestTest
Test
 

Similaire à My sql ha-fina_lv2 (20)

Software Líbre con respaldo de Oracle ~ OTN Tour 2013
Software Líbre con respaldo de Oracle ~ OTN Tour 2013Software Líbre con respaldo de Oracle ~ OTN Tour 2013
Software Líbre con respaldo de Oracle ~ OTN Tour 2013
 
Software Open Source – Open Day Oracle 2013
Software Open Source – Open Day Oracle 2013Software Open Source – Open Day Oracle 2013
Software Open Source – Open Day Oracle 2013
 
MySQL Team – Open Day Oracle 2013
MySQL Team – Open Day Oracle 2013MySQL Team – Open Day Oracle 2013
MySQL Team – Open Day Oracle 2013
 
Curso Básico de JDBC
Curso Básico de JDBCCurso Básico de JDBC
Curso Básico de JDBC
 
Curso basico de base de datos con java
Curso basico de base de datos con javaCurso basico de base de datos con java
Curso basico de base de datos con java
 
Java DataBase Connectivity
Java DataBase ConnectivityJava DataBase Connectivity
Java DataBase Connectivity
 
Jdbc
JdbcJdbc
Jdbc
 
Jdbc
JdbcJdbc
Jdbc
 
Acceso a datos con JDBC.pdf
Acceso a datos con JDBC.pdfAcceso a datos con JDBC.pdf
Acceso a datos con JDBC.pdf
 
Estableciendo escenarios de Alta Disponibilidad en las empresas de hoy con MS...
Estableciendo escenarios de Alta Disponibilidad en las empresas de hoy con MS...Estableciendo escenarios de Alta Disponibilidad en las empresas de hoy con MS...
Estableciendo escenarios de Alta Disponibilidad en las empresas de hoy con MS...
 
JDBC
JDBCJDBC
JDBC
 
Actividad No. 1.14: Replicación de datos en MySQL 5.1
Actividad No. 1.14: Replicación de datos en  MySQL 5.1Actividad No. 1.14: Replicación de datos en  MySQL 5.1
Actividad No. 1.14: Replicación de datos en MySQL 5.1
 
Jdbc Mysql
Jdbc MysqlJdbc Mysql
Jdbc Mysql
 
Jdbc diapositivva
Jdbc diapositivvaJdbc diapositivva
Jdbc diapositivva
 
T2 - JDBC
T2 - JDBCT2 - JDBC
T2 - JDBC
 
Jdbc
JdbcJdbc
Jdbc
 
Manejo conexbd
Manejo conexbdManejo conexbd
Manejo conexbd
 
Manejo conexbd
Manejo conexbdManejo conexbd
Manejo conexbd
 
JDBC
JDBCJDBC
JDBC
 
Jdbc
JdbcJdbc
Jdbc
 

My sql ha-fina_lv2

  • 1. 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
  • 2. Agenda MySQL Replication: Introducción  MySQL + Java: como escalar masivamente aplicaciones. Beneficios de MySQL, Java & GlassFish Application Server.  Arquitecturas de Referencia MySQL  Donde encontrar más Información  QA
  • 4. MySQL Replication: recap  Funcionalidad Integrada a MySQL Server  Copia updates / inserts desde un Master Server hacia uno o varios Slaves Servers.  Usos comunes:  High Availability  Backup On-line  Asíncrono  Semi-Sync en 5.6 update customer update customer Asynchronous Replication Synchronous Replication Customer Inquiry Customer Inquiry
  • 5. MySQL Replication Web / App Servers Writes & Reads MySQL Master Server Writes Index & Binary Log Rotation MySQL Slave Server Writes Reads Replication Relay Log
  • 6. MySQL Replication: scale-out MySQL Master Slave 1 Slave 2 Slave 3 Slave 4 Slave N Web / App Servers Writes Slave Farm Writes Reads http://mysql.com/why-mysql/white-papers/mysql-wp-replication.php
  • 7. Replication ~ Topologías Flexibilidad para escalar Multiple Single Chain Circular Master Slave © 2010 Oracle Corporation – Proprietary and Confidential
  • 9. 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 Open-source server with pluggable APIs Monitoring Enterprise manager Query analysis Hot fixes Service packs Best practices rules Knowledge base 24x7 support Load balancer
  • 10. MySQL Enterprise Edition MySQL Community Server MySQL Enterprise - Performance 20x 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)
  • 11. Default Connection Pool Users/Clients Connection 1 Default Connection Pool Connections /statements assigned to Threads for life Connection 1 Execution Thread Connection 2 Connection 2 Execution Thread • Connections assigned to 1 thread for the life of the connection • Same thread used for all connection statement executions (single threaded)
  • 12. With Thread Pool Enabled Thread Pool (and thread groups) Connection 1 Execution Threads Users/Clients Connection 1 Connection 2 Connection 1 Threads 1 - 4096 Connection 2 Threads 4097 - 8193 Connection 2 Execution Threads • 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 Connection N Threads 8194 - N Ensures better, sustained performance as user loads continue to grow.
  • 13.
  • 14. MySQL Enterprise Monitor: Query Analyzer
  • 15. 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) MEB Backup Files MySQL Database Files mysqlbackup
  • 16. 16© 2012 Oracle Corporation – Proprietary and Confidential MySQL Workbench Tweets from real users after 5.2 release “MySQL Workbench – I think I love you. Exporting backups and managing mass connections is so simple. Bootiful!” “MySQL Workbench 5.2 is impressive. SQL Development, Data Modeling, and Server Administration all integrated”
  • 17. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. MySQL Workbench • 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 New! Database Migration Wizard for SQL Server, Sybase, PostgreSQL
  • 21. Java La plataforma de desarrollo
  • 22. Java 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 Process El lenguaje de programación independiente a la plataforma http://www.oracle.com/technetwork/java/javase/jdk7-relnotes- 418459.html
  • 23. Java 7.0 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 7.0 – potencializa el desempeño de Java en Servidores
  • 24. Java & MySQL ~ la mejor combinación 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 ) Prácticas Recomendadas para Java Developers
  • 25. JDBC | Java Database Connectivity Prácticas Recomendadas para Java Developers
  • 26. JDBC | Java Database Connectivity Pool Connection / DataSource - Un conjunto de conexiones, siempre esta listo en el pool - Método: getConnection() en Java, obtiene una conexión lista del pool, 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 Prácticas Recomendadas para Java Developers
  • 27. JDBC | DataSource Glassfish http://blogs.oracle.com/psterk/entry/creating_and_configuring_a_mysql
  • 28. JDBC | DataSource Glassfish http://blogs.oracle.com/psterk/entry/creating_and_configuring_a_mysql 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. Prácticas Recomendadas para Java Developers
  • 29. JDBC | Java Database Connectivity Data Source Prácticas Recomendadas para Java Developers
  • 30. JDBC | Java Database Connectivity Data Source (2) Prácticas Recomendadas para Java Developers
  • 31. Recap: JDBC | Java Database Connectivity 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 Prácticas Recomendadas para Java Developers
  • 32. Recap: MySQL – Replicación Master – Slave
  • 33. JDBC | Java Database Connectivity JDBC – MySQL Master, Slave1, Slave2, SlaveN – Round Robin Prácticas Recomendadas para Java Developers - 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 Slaves http://dev.mysql.com/doc/refman/5.5/en/connector-j-reference-replication-connection.html
  • 34. JDBC | Java Database Connectivity Prácticas Recomendadas para Java Developers http://dev.mysql.com/doc/refman/5.5/en/connector-j-reference-replication- connection.html - Import de Librerías - Configura Driver para uso en RoundRobin Load Balancing
  • 35. JDBC | Java Database Connectivity Prácticas Recomendadas para Java Developers http://dev.mysql.com/doc/refman/5.5/en/connector-j-reference-replication- connection.html - Insert Datos en Master ( Read Only False )
  • 36. JDBC | Java Database Connectivity Prácticas Recomendadas para Java Developers http://dev.mysql.com/doc/refman/5.5/en/connector-j-reference-replication- connection.html - Select Datos en uno de los Slaves ( Read Only True )
  • 37. MySQL Enterprise Monitor • Replication Monitor
  • 38. • 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
  • 39.
  • 40. MySQL Enterprise Monitor • Java Connector plugin
  • 41.
  • 42. • 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 Monitor MySQL Enterprise Monitor http://dev.mysql.com/doc/mysql-monitor/2.3/en/mem-qanal-using-cj.html
  • 43.
  • 44. MySQL Replication Clustering & Virtualization Clustering & Geo Replication DRBD TCO&MoreComplex Alta Disponibilidad %9 9 99 35 dias 4 days 50 min 5 min8 horas eCommerce Telecoms, Militar .9 4 dias ISPs & Corporativo On-Line Services
  • 45. 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
  • 46. Recap: MySQL – Replicación Master – Slave
  • 47. © 2010 Oracle Corporation – Proprietary and Confidential Shared Storage (SAN)
  • 48. © 2010 Oracle Corporation – Proprietary and Confidential Shared-Disk Clustering Architectures = Private IP = 10.10.10.21 Active Server Passive Server Cluster Management = Virtual IP = 10.10.10.10 = Private IP = 10.10.10.20 Cluster Agent SAN Cluster Agent
  • 49. © 2010 Oracle Corporation – Proprietary and Confidential DRBD Distributed Replicated Block Device
  • 50. Linux Heartbeat, DRBD and MySQL = Private IP = 10.10.10.21 Active Server Passive Server = Private IP = 10.10.10.20 Primary DRBD Secondary DRBD DRBD Linux Heartbeat = Virtual IP = 10.10.10.10
  • 51. • 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 Oracle Linux + DRBD Stack
  • 52. MySQL: Sakila & el Chavo del 8 en Facebook MySQL apoya a el Chavo del 8 con: - Soporte técnico 24x7, para el cluster de 10 nodos. - Revisión de configuración & puesta a punto de la plataforma productiva. - Actualizaciones de software al binario MySQL 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.
  • 53. MySQL: Sakila & el Chavo del 8 en Facebook MySQL apoya a el Chavo del 8 con: - Soporte técnico 24x7, para el cluster de 10 nodos. - Revisión de configuración & puesta a punto de la plataforma productiva. - Actualizaciones de software al binario MySQL 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.
  • 54.
  • 55. MySQL Cluster CGE Introducción Botero en Medellin Colombia http://www.flickr.com/photos/dfinnecy/2092541057/
  • 56. 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 TCO Open-source, herramientas para administración, monitoring, & escalabilidad horizontal en commodity hardware.
  • 57.
  • 58. MySQL Cluster CGE Auto Fragmentación de Datos Machu Picchu Perú http://www.flickr.com/photos/94875862@N00/95345836/in/photostream/
  • 59. MySQL Cluster CGE Auto-Sharding – Introducción •Partitioning - Sharding ocurre automáticamente y de forma transparente para la aplicación •Conocimientos básicos de como funciona, puede incrementar el desempeño de la aplicación •Escalable de forma horizontal, con soporte para agregar mas nodos en linea •No es necesario, agregar lógica en la aplicación para tomar ventaja del Sharding http://www.mysql.com/why-mysql/white-papers/mysql_wp_cluster_perfomance.php
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74. MySQL Cluster CGE Scaling-Out Escalabilidad Horizontal 9 de Julio BsAs Argentina http://www.flickr.com/photos/fvyague/2538963317/
  • 75.
  • 76.
  • 77.
  • 78. • 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 Oracle Linux + DRBD Stack
  • 79. • Cluster managed through MS Failover Cluster Management snap-in GUI • Loss of service = couple of seconds + InnoDB recovery time – App sees temporary loss of connection and reconnects on same IP address – Replication slave recovers automatically App Virtual IP Data Bin Slave App App Vote MySQL Enterprise High Availability
  • 80. • Kernel based heartbeat and monitoring • SPARC and x86. Solaris Virtualization-aware • MySQL agent included with Oracle Solaris Clusterl MySQL Enterprise High Availability Oracle Solaris Clustering
  • 81. 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
  • 83.
  • 84. 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