Software Open Source – Open Day Oracle 2013

39
Software Open Source @ Oracle Pedro Andrade [email protected] Strategic Accounts Manuel Contreras [email protected] MySQL, Linux,VDI Senior Consultant

description

Por qué usar Software Open Source – Open Day Oracle 2013

Transcript of Software Open Source – Open Day Oracle 2013

Page 1: Software Open Source – Open Day Oracle 2013

Software Open Source @

Oracle Pedro Andrade

[email protected]

Strategic Accounts

Manuel Contreras

[email protected]

MySQL, Linux,VDI

Senior Consultant

Page 2: Software Open Source – Open Day Oracle 2013

Software Open Source @ Oracle ¿Utiliza Open Source Software (OSS ) en ambientes productivos?

¿Qué tecnologías OSS con soporte de Oracle conoces?

Page 3: Software Open Source – Open Day Oracle 2013

Por qué usar Software Open Source

Modelo basado en Comunidades

Versión Community

Versión Enterprise

No Vendor Locking

Subscripción anual con soporte técnico

Mejor TCO

Comunidades desarrollan y prueban y dan sugerencias de mejoras al software

foros, bug report lists, y participación de desarrolladores para mejoras del producto

Open Source Software Enterprise

Page 4: Software Open Source – Open Day Oracle 2013

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 5: Software Open Source – Open Day Oracle 2013

Grupo Independiente de Usuarios Oracle

Encuesta en 2010, tendencias del Código Abierto

* 70% del grupo tiene instancias de MySQL

Page 6: Software Open Source – Open Day Oracle 2013

Enfoque MySQL –

Page 7: Software Open Source – Open Day Oracle 2013
Page 8: Software Open Source – Open Day Oracle 2013

MySQL en Latinoamérica

Page 9: Software Open Source – Open Day Oracle 2013

Oracle: nueva vida a Duke & Sakila

- En 1995 Sun microsystems crea a Java un lenguaje de programación multiplataforma, 100% orientado a objetos.

- En 1995, MySQL AB, crea un manejador de BD relacional, open source, el cual es ampliamente adoptado por las comunidades de LAMP stack software.

- En 2008, Sun microsystems Inc, adquiere MySQL AB – El voto del Billón de dolares por el OSS.

- En 2010, Oracle Inc adquiere a Sun microsystems, la propuesta: ofrecer soluciones desde el disco hasta las aplicaciones, fortaleciendo su oferta

open source con Java y MySQL.

- Diciembre 2010, Oracle libera MySQL 5.5, el cual es considerado por las comunidades como el mejor release de MySQL en su historia.

- Julio 2011, Java 7.0 es liberado, nueva versión con mejoras al JVM

hotspot y el mejor desempeño para servidores Java.

Open source software con soporte Enterprise

Page 10: Software Open Source – Open Day Oracle 2013

Java La plataforma de desarrollo

Page 11: Software Open Source – Open Day Oracle 2013

Introducción | 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

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

Page 12: Software Open Source – Open Day Oracle 2013

Java 7.0 | lo nuevo

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

Page 13: Software Open Source – Open Day Oracle 2013

JDBC | Java Database Connectivity

Mecanismos para establecer conexiones a MySQL Server, con Java:

-Pool Connection / Data Source

-Jdbc:mysql:loadbalance://server1,server2,serverN/schema:port

- Persistence Framework

– Hibernate, Spring, ClusterJ, Java Persistence API

– Memcached ( Not-Only SQL MySQL 5.6 & MySQL Cluster 7.2 )

Prácticas Recomendadas para Java Developers

Page 14: Software Open Source – Open Day Oracle 2013

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

Page 15: Software Open Source – Open Day Oracle 2013

JDBC | Java Database Connectivity Prácticas Recomendadas para Java Developers

Page 16: Software Open Source – Open Day Oracle 2013

JDBC | DataSource Glassfish

http://blogs.oracle.com/psterk/entry/creating_and_configuring_a_mysql

Page 17: Software Open Source – Open Day Oracle 2013

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

Page 18: Software Open Source – Open Day Oracle 2013

JDBC | Java Database Connectivity

Data Source

Prácticas Recomendadas para Java Developers

Page 19: Software Open Source – Open Day Oracle 2013

JDBC | Java Database Connectivity

Data Source (2)

Prácticas Recomendadas para Java Developers

Page 20: Software Open Source – Open Day Oracle 2013

Recap: JDBC | Java Database Connectivity

Driver Manager ( Java Class Loader )

- Pro: método fácil para conexión a RDBMS

- Contra: concurrencia en manejo de conexiones, inflexible en configuración de parámetros

JNDI Data Source

- Pro: flexibilidad en parámetros de configuración, gestión de conexiones por el contenedor Java EE

- Contra: requiere de un application server ( container )

Persistence Framework

- Pro: mapping entre OO & ER

- Contra: requiere mayor configuracion ( XML config params )

Prácticas Recomendadas para Java Developers

Page 21: Software Open Source – Open Day Oracle 2013

MySQL Introducción

Page 22: Software Open Source – Open Day Oracle 2013

Recap: MySQL – Replicación Master – Slave

Page 23: Software Open Source – Open Day Oracle 2013

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

Clien

ts

Slaves Master

MySQL Replication

Page 24: Software Open Source – Open Day Oracle 2013

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 FailOver COMMIT en el nodo master es reconocido, sólo cuando al menos uno de los nodos slaves ha registrado el evento En caso de FailOver, no hay perdida de información

http://dev.mysql.com/doc/refman/5.5/en/replication-howto.html

Page 25: Software Open Source – Open Day Oracle 2013

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;

http://dev.mysql.com/doc/refman/5.5/en/replication-howto.html

Page 26: Software Open Source – Open Day Oracle 2013

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

Page 27: Software Open Source – Open Day Oracle 2013

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

Page 28: Software Open Source – Open Day Oracle 2013

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 )

Page 29: Software Open Source – Open Day Oracle 2013

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 )

Page 30: Software Open Source – Open Day Oracle 2013

MySQL Enterprise Monitor • Replication Monitor

Page 31: Software Open Source – Open Day Oracle 2013

• 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 32: Software Open Source – Open Day Oracle 2013
Page 33: Software Open Source – Open Day Oracle 2013

• 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

Page 34: Software Open Source – Open Day Oracle 2013

MySQL Enterprise Monitor • Java Connector plugin

Page 35: Software Open Source – Open Day Oracle 2013
Page 36: Software Open Source – Open Day Oracle 2013

Recap: MySQL 5.6 + Java 7.0

• MySQL 5.6 – mejor release en la historia de MySQL • Java 7.0 – mejoras significativas en desempeño y manejo de

recursos RAM y CPU para servidores • Ambas plataformas cada vez mas integradas entre sí • Oracle – único proveedor de soluciones desde Disco, hasta

aplicaciones • LAMJ / WAMJ, cada vez con mayor fuerza • Prueba el Trial MySQL Enterprise Hoy!

mysql.com/trial • Java

oracle.com/technetwork/java/index.html

Page 37: Software Open Source – Open Day Oracle 2013
Page 38: Software Open Source – Open Day Oracle 2013

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

Page 39: Software Open Source – Open Day Oracle 2013

MySQL Workbench

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