SlideShare a Scribd company logo
1 of 47
Download to read offline
MySQL OTN Day
          <Insert Picture Here>               Brasil 7 Dezembro 2011
                                              3:00 pm
                                              Sheraton WTC
                                              Sao Paulo, Brasil




MySQL + Java – Nova vida a Sakila & Duke com a Oracle

Kattia.Fallas@Oracle.com - Contas Corporativas, MySQL Amércia Latina
Manuel.Contreras@Oracle.com – Especialista Técnico, MySQL América Latina
Pedro.Andrade@Oracle.com – Contas Estratégicas, MySQL América Latina
MySQL+Java: Nova vida a Sakila & Duke com a
                      Oracle

MySQL na América Latina ( En Español )
  Kattia.Fallas@Oracle.com
  Manuel.Contreras@Oracle.com
  Pedro.Andrade@Oracle.com
              @mysql_espanol

MySQL na América Latina ( En Português )
  Ana.Guiselini@Oracle.com
  Marcelo.T.Souza@Oracle.com
  Airton.Lastori@Oracle.com
  Marcos.Trujillo@Oracle.com
               @mysql_br
OTN MySQL User Forum – Brasil ~ Introdução




México e Brasil - rivais no futebol ?
OTN MySQL User Forum – Brasil ~ Introdução




Não....
México e Brasil são sempre amigos!
​ ¿Por que usar Software Open Source
     (OSS)?
Open Source Software Enterprise
 Modelo de distribuição de Software
 - Versão Community
 - Versão Enterprise

  Subscrição
 - Subscrição anual com suporte técnico
 - No vendor locking
 - Melhor TCO

 Comunidades desenvolvem, testam e sugerem melhorias
 ao software
 - foruns, bug report lists, e participação de desenvolvedores
 para melhoras do produto.
Oracle: nova vida a Duke & Sakila
Open source software com suporte Enterprise
- Em 1995 Sun microsystems cria Java uma linguagem de programação
multiplataforma, 100% orientada a objetos.


- Em 1995, MySQL AB, cria um gerenciador de BD relacional, open source, o qual
é amplamente adotado pelas comunidades do LAMP stack software.


- Em 2008, Sun microsystems Inc, adquire MySQL AB – um investimento de Bilhão
de dólares pelo OSS.


- Em 2010, Oracle Inc adquire a Sun microsystems, a proposta: oferecer soluções
desde o disco até as aplicações, fortalecendo sua oferta open source com Java e
MySQL.


- Dezembro de 2010, Oracle libera MySQL 5.5, considerado pela comunidade
como o melhor release de MySQL em sua historia.


- Julho de 2011, Java 7.0 é liberado, nova versão com melhorias no JVM hotspot
e o melhor desempenho para servidores Java.
Java
A plataforma de desenvolvimento
Introdução | Java
 A linguagem de programação independente da plataforma
   Java
          - Simples, fácil de usar
          - 100% orientado a objetos, API classes
          - Administração automática de memória
          - Independente da plataforma
          - Orientado a um contenedor JRE ( JVM )
                – Máquina virtual Java que administra multi-threading,
                  segurança, memória, class loader, gerenciamento de
                  exceções ( erros em tempo de execução )
          - Oracle Glassfish Application Server é a implementação de
             referência para Java EE
          - 9 milhões de desenvolvedores no mundo
          - Java é gerenciado pela Java Community Process


http://www.oracle.com/technetwork/java/javase/jdk7-relnotes-418459.html
Java 7.0 | O novo
Java 7.0 – potencializa o desempenho de Java nos
Servidores
 Java 7.0, incorpora melhoras orientadas para aumentar o
 desempenho de aplicações rodando em servidores com grande
 capacidade em RAM, e CPU multi-cores.

     – Gerenciamento de memória mais eficiente
        - Memória é dividida em vários Heap
        - First Gargabe collector: divide a memória em vários
          heap memory, aumentando o desempenho em seu
          acesso
     – Nova funcionalidade em API de JDBC, para
       conectividade a bases de dados
        RowSet, Statement e Connection implementam a
          interface Closeable, AutoCloseable
JDBC | Java Database Connectivity
Práticas Recomendadas para Java Developers

    Mecanismos para estabelecer conexões a MySQL
    Server, com Java:

    - DriverManager ( Class Loader Java )
       – O método mais simples, mas não é recomendado
          para ambientes de produção
    - Pool Connection / Data Source
       – Requer um servidor de aplicativos, mas é altamente
          recomendado para ambientes de produção
    - Persistence Framework
       – Hibernate, Spring, Memcached & Java ( MySQL 5.6 )
JDBC | Java Database Connectivity
Práticas Recomendadas para Java Developers

    Pool Connection / DataSource
    - Um conjunto de conexões, sempre está disponível no pool
    - Método: getConnection() em Java, obtém uma conexão disponível do
    pool, sem delay para abrir fisicamente uma conexão
    - Método closeConnection() em Java, não fecha a conexão, somente
    a devolve ao pool, para que outro Thread possa reutilizá-la

                          Java Pool Connection
   Java                   ( DataSource)
   Application                - Connection1
                              - Connection2
                              - Connection3
                              - ConnectionN...
JDBC | Java Database Connectivity
Práticas Recomendadas para Java Developers

                          Java Pool Connection
   Java                   ( DataSource)
   Application               - Connection1
                             - Connection2
                             - Connection3
                             - ConnectionN...



                                                Java EE 6
                                                Application Server
                                                Reference
                                                Implementation
JDBC | DataSource Glassfish




http://blogs.oracle.com/psterk/entry/criating_and_configuring_a_mysql
JDBC | Java Database Connectivity
Práticas Recomendadas para Java Developers

Java Pool Connection                       -O Java EE Application Server,
                                           gerencia conexões.
( DataSource)
                                           - Automaticamente fecha
   - Connection1
                                           conexões no estado Idle.
   - Connection2
   - Connection3
                                           Conexões abertas sob demanda,
   - ConnectionN...
                                           conforme requerido pela
                                           aplicação

                      Java EE 6            - Ele é facilmente configurado
                                           pelo administrador do servidor
                      Application Server
                                           de aplicações Java EE.
                      Reference
                      Implementation
MySQL
visão geral
MySQL - números interessantes

• 155 million


• 212 days

• 127 billion
                  Você sabe o que são
                  esses números?

• 24.9 trillion
MySQL - números interessantes

• 155 million


• 212 days

• 127 billion
                  Você sabe o que são
                  esses números?

• 24.9 trillion
MySQL - números interessantes
• 155 million
        number of tweats per day, 1700 per second
        6,939/s Japanese New Year
        MySQL is core architecture for twitter

• 212 days
        uptime of random MySQL server at twitter

• 127 billion
        number of queries executed on single server
• 24.9 trillion
        innodb_rows_read, 1.36M per second
                  source: Jeremy Cole, Twitter DBA, MySQL UC 2011
Questões difíceis
… problemas de performance?     … servidores down?

… queries lentas, custosas?     … política de segurança, muda?


… onde, quando, como “tunar”?   … produtividade de desenv./QA?


… problemas de replicação?      … qual versão do MySQL rodar?


… os sistemas escalarão?        … posso recuperar?

     Por que é melhor usar MySQL Enterprise...
MySQL Enterprise Edition
Mais segura, escalável banco de dados MySQL, Backup
Online, Desenvolvimento / Ferramentas de monitoração,
apoiados pela Oracle Lifetime Suporte Premier


                     Oracle Product         Oracle Premier
                Certifications/Integrations    Support

           MySQL Enterprise                       MySQL Enterprise
               Backup                            Monitor/Query Analyzer


    MySQL Enterprise                                         MySQL Enterprise
        Security                                                Scalability


 MySQL Enterprise
  High Availability                                            MySQL Workbench
MySQL Database
Internals replicação

                                        MySQL Slave
   MySQL Master



updates      updates                          I/O Thread
selects

                                                            relay
                                                           binlog

                       Replication

                                          SQL Thread
 data

             index &
             binlogs



                                     binlog           data
MySQL, Replicação
- Melhor tempo de resposta mediante a separação de carga, no processamento de
   consultas entre o master / slave
- SELECT Queries, podem ser enviados ao slave para reduzir a carga de
   processamento de consultas, no master
- Disponível para qualquer tipo de storage engine, incluindo replicação entre distintos
   tipos de storage engine
- Obter uma maior disponibilidade com um master / slave
- Em caso de falhas no master, é possível utilizar o slave como backup
- Respaldo de informação através dos slaves
C l i ent s




                                                 MySQL Replication


                                 Slaves                               Master
Estudos de Caso:
MySQL – Replicação Master – Slave
MySQL Replicação semi-sync Novo no MySQL 5.5!
   • Os dados escritos no master, também
     são escritos no binary log File
   O thread I/O, nos slaves, usa as
   alterações do binlog do master e o
   escreve em um relay log nos slaves
   O thread SQL, nos slaves, lê o relay log
   e aplica as alterações / escritas nos
   slaves
   • Se o plugin semi-sync está instalado e                 SQL Thread
                                                                         IO Thread
     configurado, o master espera até que o
                                                   binlog            relay
     thread I/O de algum slave semi-sync,
     tenha escrito a transação a disco, ou
     até que ocorra um timeout, então se
     retorna ao ACK na aplicação

Melhora a confiança no FailOver
COMMIT no nodo master é reconhecido, somente quando ao menos um dos
nodos slaves tenha registrado o evento                          Master
Em caso de FailOver, não há perda de informação                  Slave




http://dev.mysql.com/doc/refman/5.5/en/replication-howto.html
JDBC | Java Database Connectivity
    Práticas Recomendadas para Java Developers

     JDBC – MySQL Master, Slave1, Slave2, SlaveN – Round Robin


 - Load Balancing de Leitura em
 servidores Slave
 - Servidor Master para Read & Writes
 - Slaves para Read Only
 - JDBC Connector automaticamente,
 seleciona um Slave da 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

  Consulta Sepración ler e escrever operações
  com Java e MySQL




Passo 1) Importação de Livrarias




http://dev.mysql.com/doc/refman/5.5/en/connector-j-reference-replication-connection.htm
JDBC | Java Database Connectivity
     Prácticas Recomendadas para Java Developers

   Consulta Sepración ler e escrever operações
   com Java e MySQL

 Passo 2) - Configuração de Driver para uso em RoundRobin
 Load Balancing




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

  Consulta Sepración ler e escrever operações
  com Java e MySQL

Passo 3) - configurações de conexão com o mestre e escravos
JDBC | Java Database Connectivity
  Práticas Recomendadas para Java Developers
Passo 4) - Insert Dados em Master ( Read Only False )
JDBC | Java Database Connectivity
  Práticas Recomendadas para Java Developers

Passo 6) - Select Dados em um dos Slaves ( Read Only True )
MySQL Enterprise Monitor
•   Monitor de Replicação
MySQL Enterprise Monitor
• Vista única consolidada do
  ambiente MySQL
• Auto descobrimento de
  servidores MySQL,
  replicação e topologias
• Alertas e monitoramento
  adaptável e baseado en
  regras
• Identificação de problemas
  antes que ocorram
• Redução de risgo e tempo de
  inatividade
• Facilidade para escalamento Um assistente DBA Virtual para
  horizontal sem requerer mais MySQL
  DBAs
http://mysql.com/products/enterprise/monitor.html
MySQL Enterprise Monitor
• Java Connector plugin / Query Analyzer
MySQL ~ Extensões Comerciais
✔
    MySQL Enterprise Backup
    ✔
        Incremental, Compression, Point in Time Recovery
✔
    MySQL High Availability
    ✔
        Oracle OVM MySQL Template & Windows Failover
          Clustering
✔
    Enterprise Security
        ✔
            Plug-In: MySQL External Authentication
✔
    Enterprise Scalability
        ✔
            Plug-In: MySQL Thread Pool
✔
    Enterprise Monitor, Workbench, Technical Support
        ✔
            Virtual MySQL Tunning assistant & 24x7 support
Gestão Padrão do Thread Pool
             Clientes Externos

                                 Gestão Padrão     Execução das Conexões das Threads
                                 doThread Pool


                                    Conexões /
                                   Declarações
                                  atribuídas aos
                                 Threads durante
                                  sua existência



Clientes Internos



• Conexões são atribuídas a 1 thread durante a existência da Conexão.
• A mesma thread é usada para todas as declarações de execução (single
  threaded)
Com o Thread Pool Habilitado
            Clientes Externos
                                      Thread Pool        Execução das Conexões das Threads
                                     Grupo Thread 1
                                                           Grupo Thread 1
                                     Threads 1 - 4096

                                     Grupo Thread 2        Grupo Thread 2
                                   Threads 4097 - 8193
                                                           Grupo Thread N
                                     Grupo Thread N
                                     Threads 8194 - N

Clientes Internos

• Pool contém um número de Grupo de Threads(default = 16), cada um gerencia até 4096
  threads reusáveis
• Cada conexão é atribuída ao grupo de thread via round robin

                     mantém a performance em altas cargas de
                               usuários/conexões
Comparativo com/sem Thread Pool


                                           MySQL Enterprise Edition
                                                             ComThread Pool




                                           MySQL Community Server
                                                             Sem Thread Pool



                                                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

20x Melhor Escalabilidade comThread Pool        72GB DDR3 RAM
                                                2 X LSI SCSI Disk (MR9261-8i) (597GB)
MySQL Enterprise Backup
• Anteriormente “InnoDB Hot Backup”
• Online, non-locking backup & recovery
    • Tables, Indexes
    • Server, database, ou object-level
•   Backups Lógico e Físico
•   Backups Completos ou Incrementais
•   Point-in-time recovery
•   Backups Comprimidos
•   Também oferece backup e recuperação para MyISAM
•   Multi-plataforma (Windows, Linux, Unix)
•   Certificado para Oracle Secure Backup (SBT 2.0)
Backups




Backups são até 3.5x mais rápidos do que mysqldump
Restores




       Restore é até 16x mais rápido do que mysqldump
- mysqldump performance não é linear (mais tables/indexes impacta na performance)
- MySQL Enterprise performance é quase linear
Compressão do Backup




O tamanho do Backup é reduzido de 65% até 93%
MySQL Workbench




http://www.mysql.com/products/workbench/
Questões Difíceis, Soluções Reais
… problemas de performance?                            … servidores down?
• MySQL Enterprise Scalability                          • Oracle Premier 7x24 Support
• MySQL Enterprise Monitor, Advisors, Query Analyzer    • MySQL Enterprise Monitor, Advisors
• MySQL Consultative Support                            • MySQL Enterprise High Availability

… queries lentas, custosas?                            … política de segurança, muda?
• MySQL Enterprise Monitor, Query Analyzer
                                                        • MySQL External Authentication
… onde, quando, como “tunar”?                           • MySQL Enterprise Monitor, Security Advisor
• MySQL Enterprise Monitor, Advisors, Query Analyzer
• MySQL Consultative Support
                                                       … produtividade de desenv./QA?
                                                        • MySQL Workbench SE
                                                        • MySQL Enterprise Monitor, Query Analyzer
… problemas de replicação?
• MySQL Enterprise Monitor, Replication Monitor
                                                       … qual versão do MySQL rodar?
• Oracle Premier 7x24 Support                          • Oracle Premier 7x24 Support

… os sistemas escalarão?                                … posso recuperar?
• MySQL Enterprise Scalability
                                                        • MySQL Enterprise Backup
• MySQL Enterprise Monitor, Advisors, Query Analyzer
• MySQL Consultative Support
Obrigado / Gracias!
MySQL na América Latina ( En Español )
  Kattia.Fallas@Oracle.com
  Manuel.Contreras@Oracle.com
  Pedro.Andrade@Oracle.com



    @mysql_espanol
    @mysql_br
    @mysql ( Official English )

More Related Content

What's hot

MySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Brasil
 
MySQL no Windows: implementação eficiente de novas aplicações
MySQL no Windows: implementação eficiente de novas aplicaçõesMySQL no Windows: implementação eficiente de novas aplicações
MySQL no Windows: implementação eficiente de novas aplicaçõesMySQL Brasil
 
Recursos e Benefícios do MySQL
Recursos e Benefícios do MySQLRecursos e Benefícios do MySQL
Recursos e Benefícios do MySQLMySQL Brasil
 
MySQL 5.6 com memcached
MySQL 5.6 com memcachedMySQL 5.6 com memcached
MySQL 5.6 com memcachedMySQL Brasil
 
GlassFish, Maven, Cloud e Java EE
GlassFish, Maven, Cloud e Java EEGlassFish, Maven, Cloud e Java EE
GlassFish, Maven, Cloud e Java EEBruno Borges
 
MySQL e Oracle para Desenvolvedores
MySQL e Oracle para DesenvolvedoresMySQL e Oracle para Desenvolvedores
MySQL e Oracle para DesenvolvedoresAirton Lastori
 
Desenvolvendo serviços escaláveis e de alta performance com MySQL
Desenvolvendo serviços escaláveis e de alta performance com MySQLDesenvolvendo serviços escaláveis e de alta performance com MySQL
Desenvolvendo serviços escaláveis e de alta performance com MySQLMySQL Brasil
 
Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...
Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...
Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...MySQL Brasil
 
Guia essencial para embarcar o MySQL em seu produto
Guia essencial para embarcar o MySQL em seu produtoGuia essencial para embarcar o MySQL em seu produto
Guia essencial para embarcar o MySQL em seu produtoMySQL Brasil
 
Novidades do Universo MySQL Agosto 2014
Novidades do Universo MySQL Agosto 2014Novidades do Universo MySQL Agosto 2014
Novidades do Universo MySQL Agosto 2014MySQL Brasil
 
GlassFish e Maven: Java EE sem dor!
GlassFish e Maven: Java EE sem dor!GlassFish e Maven: Java EE sem dor!
GlassFish e Maven: Java EE sem dor!Bruno Borges
 
Novidades do Universo MySQL para PHP Web Developers - Dezembro 2014
Novidades do Universo MySQL para PHP Web Developers - Dezembro 2014Novidades do Universo MySQL para PHP Web Developers - Dezembro 2014
Novidades do Universo MySQL para PHP Web Developers - Dezembro 2014MySQL Brasil
 
Oracle Premier Support para MySQL
Oracle Premier Support para MySQLOracle Premier Support para MySQL
Oracle Premier Support para MySQLMySQL Brasil
 
MySQL para Desenvolvedores de Produto
MySQL para Desenvolvedores de ProdutoMySQL para Desenvolvedores de Produto
MySQL para Desenvolvedores de ProdutoMySQL Brasil
 
Serviços Escaláveis e de Alta Performance com MySQL e Java
Serviços Escaláveis e de Alta Performance com MySQL e JavaServiços Escaláveis e de Alta Performance com MySQL e Java
Serviços Escaláveis e de Alta Performance com MySQL e JavaMySQL Brasil
 
MySQL e Oracle para DBAs
MySQL e Oracle para DBAsMySQL e Oracle para DBAs
MySQL e Oracle para DBAsAirton Lastori
 
MySQL June/2009 FDTI - Portuguese Version
MySQL June/2009 FDTI - Portuguese VersionMySQL June/2009 FDTI - Portuguese Version
MySQL June/2009 FDTI - Portuguese VersionArtur Alves
 
MySQL e Oracle - GUOB Tech Day 2012
MySQL e Oracle - GUOB Tech Day 2012MySQL e Oracle - GUOB Tech Day 2012
MySQL e Oracle - GUOB Tech Day 2012MySQL Brasil
 

What's hot (19)

MySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Cluster - visão geral
MySQL Cluster - visão geral
 
MySQL no Windows: implementação eficiente de novas aplicações
MySQL no Windows: implementação eficiente de novas aplicaçõesMySQL no Windows: implementação eficiente de novas aplicações
MySQL no Windows: implementação eficiente de novas aplicações
 
Recursos e Benefícios do MySQL
Recursos e Benefícios do MySQLRecursos e Benefícios do MySQL
Recursos e Benefícios do MySQL
 
MySQL 5.6 com memcached
MySQL 5.6 com memcachedMySQL 5.6 com memcached
MySQL 5.6 com memcached
 
GlassFish, Maven, Cloud e Java EE
GlassFish, Maven, Cloud e Java EEGlassFish, Maven, Cloud e Java EE
GlassFish, Maven, Cloud e Java EE
 
MySQL e Oracle para Desenvolvedores
MySQL e Oracle para DesenvolvedoresMySQL e Oracle para Desenvolvedores
MySQL e Oracle para Desenvolvedores
 
Desenvolvendo serviços escaláveis e de alta performance com MySQL
Desenvolvendo serviços escaláveis e de alta performance com MySQLDesenvolvendo serviços escaláveis e de alta performance com MySQL
Desenvolvendo serviços escaláveis e de alta performance com MySQL
 
Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...
Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...
Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...
 
Guia essencial para embarcar o MySQL em seu produto
Guia essencial para embarcar o MySQL em seu produtoGuia essencial para embarcar o MySQL em seu produto
Guia essencial para embarcar o MySQL em seu produto
 
Novidades do Universo MySQL Agosto 2014
Novidades do Universo MySQL Agosto 2014Novidades do Universo MySQL Agosto 2014
Novidades do Universo MySQL Agosto 2014
 
GlassFish e Maven: Java EE sem dor!
GlassFish e Maven: Java EE sem dor!GlassFish e Maven: Java EE sem dor!
GlassFish e Maven: Java EE sem dor!
 
Novidades do Universo MySQL para PHP Web Developers - Dezembro 2014
Novidades do Universo MySQL para PHP Web Developers - Dezembro 2014Novidades do Universo MySQL para PHP Web Developers - Dezembro 2014
Novidades do Universo MySQL para PHP Web Developers - Dezembro 2014
 
Oracle Premier Support para MySQL
Oracle Premier Support para MySQLOracle Premier Support para MySQL
Oracle Premier Support para MySQL
 
MySQL para Desenvolvedores de Produto
MySQL para Desenvolvedores de ProdutoMySQL para Desenvolvedores de Produto
MySQL para Desenvolvedores de Produto
 
Serviços Escaláveis e de Alta Performance com MySQL e Java
Serviços Escaláveis e de Alta Performance com MySQL e JavaServiços Escaláveis e de Alta Performance com MySQL e Java
Serviços Escaláveis e de Alta Performance com MySQL e Java
 
MySQL e Oracle para DBAs
MySQL e Oracle para DBAsMySQL e Oracle para DBAs
MySQL e Oracle para DBAs
 
Trabalho de sgbd
Trabalho de sgbdTrabalho de sgbd
Trabalho de sgbd
 
MySQL June/2009 FDTI - Portuguese Version
MySQL June/2009 FDTI - Portuguese VersionMySQL June/2009 FDTI - Portuguese Version
MySQL June/2009 FDTI - Portuguese Version
 
MySQL e Oracle - GUOB Tech Day 2012
MySQL e Oracle - GUOB Tech Day 2012MySQL e Oracle - GUOB Tech Day 2012
MySQL e Oracle - GUOB Tech Day 2012
 

Similar to MySQL + Java - Manuel Contreras

MySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Brasil
 
MySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Brasil
 
Novidades do Universo MySQL julho-15
Novidades do Universo MySQL julho-15Novidades do Universo MySQL julho-15
Novidades do Universo MySQL julho-15MySQL Brasil
 
MySQL e Oracle para Desenvolvedores
MySQL e Oracle para DesenvolvedoresMySQL e Oracle para Desenvolvedores
MySQL e Oracle para DesenvolvedoresMySQL Brasil
 
Replicação e alta disponibilidade by wagner bianchi -
Replicação e alta disponibilidade by wagner bianchi -Replicação e alta disponibilidade by wagner bianchi -
Replicação e alta disponibilidade by wagner bianchi -MySQL Brasil
 
Bancos de dados e jdbc java para desenvolvimento web
Bancos de dados e jdbc   java para desenvolvimento webBancos de dados e jdbc   java para desenvolvimento web
Bancos de dados e jdbc java para desenvolvimento websilvio_sas
 
MySQL sobreviverá à nuvem?
MySQL sobreviverá à nuvem?MySQL sobreviverá à nuvem?
MySQL sobreviverá à nuvem?MySQL Brasil
 
MySQL 5.6, o que há de novidade?
MySQL 5.6, o que há de novidade?MySQL 5.6, o que há de novidade?
MySQL 5.6, o que há de novidade?MySQL Brasil
 
GlassFish, Maven, Cloud e o futuro do Java EE
GlassFish, Maven, Cloud e o futuro do Java EEGlassFish, Maven, Cloud e o futuro do Java EE
GlassFish, Maven, Cloud e o futuro do Java EEBruno Borges
 
Novidades do Universo MySQL Maio 2014
Novidades do Universo MySQL Maio 2014Novidades do Universo MySQL Maio 2014
Novidades do Universo MySQL Maio 2014MySQL Brasil
 
Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...
Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...
Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...MySQL Brasil
 
Novidades do MySQL para desenvolvedores ago15
Novidades do MySQL para desenvolvedores ago15Novidades do MySQL para desenvolvedores ago15
Novidades do MySQL para desenvolvedores ago15MySQL Brasil
 
SQL Server 2012
SQL Server 2012SQL Server 2012
SQL Server 2012Hcode
 
O que ganhamos com Java e Cloud Computing?
O que ganhamos com Java e Cloud Computing?O que ganhamos com Java e Cloud Computing?
O que ganhamos com Java e Cloud Computing?Bruno Borges
 
Java Platform, Enterprise Edition
Java Platform, Enterprise EditionJava Platform, Enterprise Edition
Java Platform, Enterprise EditionDaniel Arndt Alves
 

Similar to MySQL + Java - Manuel Contreras (20)

MySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Cluster - visão geral
MySQL Cluster - visão geral
 
MySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Cluster - visão geral
MySQL Cluster - visão geral
 
1 jdbc
1 jdbc1 jdbc
1 jdbc
 
1 jdbc
1 jdbc1 jdbc
1 jdbc
 
Novidades do Universo MySQL julho-15
Novidades do Universo MySQL julho-15Novidades do Universo MySQL julho-15
Novidades do Universo MySQL julho-15
 
MySQL e Oracle para Desenvolvedores
MySQL e Oracle para DesenvolvedoresMySQL e Oracle para Desenvolvedores
MySQL e Oracle para Desenvolvedores
 
Replicação e alta disponibilidade by wagner bianchi -
Replicação e alta disponibilidade by wagner bianchi -Replicação e alta disponibilidade by wagner bianchi -
Replicação e alta disponibilidade by wagner bianchi -
 
MySQL no Windows
MySQL no WindowsMySQL no Windows
MySQL no Windows
 
Bancos de dados e jdbc java para desenvolvimento web
Bancos de dados e jdbc   java para desenvolvimento webBancos de dados e jdbc   java para desenvolvimento web
Bancos de dados e jdbc java para desenvolvimento web
 
MySQL sobreviverá à nuvem?
MySQL sobreviverá à nuvem?MySQL sobreviverá à nuvem?
MySQL sobreviverá à nuvem?
 
MySQL 5.6, o que há de novidade?
MySQL 5.6, o que há de novidade?MySQL 5.6, o que há de novidade?
MySQL 5.6, o que há de novidade?
 
GlassFish, Maven, Cloud e o futuro do Java EE
GlassFish, Maven, Cloud e o futuro do Java EEGlassFish, Maven, Cloud e o futuro do Java EE
GlassFish, Maven, Cloud e o futuro do Java EE
 
Novidades do Universo MySQL Maio 2014
Novidades do Universo MySQL Maio 2014Novidades do Universo MySQL Maio 2014
Novidades do Universo MySQL Maio 2014
 
Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...
Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...
Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...
 
Novidades do MySQL para desenvolvedores ago15
Novidades do MySQL para desenvolvedores ago15Novidades do MySQL para desenvolvedores ago15
Novidades do MySQL para desenvolvedores ago15
 
MC - Java Enterprise Edition 6 (Java EE)
MC - Java Enterprise Edition 6 (Java EE)MC - Java Enterprise Edition 6 (Java EE)
MC - Java Enterprise Edition 6 (Java EE)
 
SQL Server 2012
SQL Server 2012SQL Server 2012
SQL Server 2012
 
O que ganhamos com Java e Cloud Computing?
O que ganhamos com Java e Cloud Computing?O que ganhamos com Java e Cloud Computing?
O que ganhamos com Java e Cloud Computing?
 
Java Platform, Enterprise Edition
Java Platform, Enterprise EditionJava Platform, Enterprise Edition
Java Platform, Enterprise Edition
 
Bancos de Dados na AWS
Bancos de Dados na AWSBancos de Dados na AWS
Bancos de Dados na AWS
 

More from MySQL Brasil

MySQL como Document Store PHP Conference 2017
MySQL como Document Store PHP Conference 2017MySQL como Document Store PHP Conference 2017
MySQL como Document Store PHP Conference 2017MySQL Brasil
 
MySQL no Paypal Tesla e Uber
MySQL no Paypal Tesla e UberMySQL no Paypal Tesla e Uber
MySQL no Paypal Tesla e UberMySQL Brasil
 
Alta disponibilidade com MySQL Enterprise
Alta disponibilidade com MySQL EnterpriseAlta disponibilidade com MySQL Enterprise
Alta disponibilidade com MySQL EnterpriseMySQL Brasil
 
MySQL Roadmap NoSQL HA Fev17
MySQL Roadmap NoSQL HA Fev17MySQL Roadmap NoSQL HA Fev17
MySQL Roadmap NoSQL HA Fev17MySQL Brasil
 
Segurança no MySQL
Segurança no MySQLSegurança no MySQL
Segurança no MySQLMySQL Brasil
 
5 razões estratégicas para usar MySQL
5 razões estratégicas para usar MySQL5 razões estratégicas para usar MySQL
5 razões estratégicas para usar MySQLMySQL Brasil
 
Alta disponibilidade no MySQL 5.7 GUOB 2016
Alta disponibilidade no MySQL 5.7 GUOB 2016Alta disponibilidade no MySQL 5.7 GUOB 2016
Alta disponibilidade no MySQL 5.7 GUOB 2016MySQL Brasil
 
MySQL 5.7 como Document Store
MySQL 5.7 como Document StoreMySQL 5.7 como Document Store
MySQL 5.7 como Document StoreMySQL Brasil
 
Enabling digital transformation with MySQL
Enabling digital transformation with MySQLEnabling digital transformation with MySQL
Enabling digital transformation with MySQLMySQL Brasil
 
Alta Disponibilidade no MySQL 5.7 para aplicações em PHP
Alta Disponibilidade no MySQL 5.7 para aplicações em PHPAlta Disponibilidade no MySQL 5.7 para aplicações em PHP
Alta Disponibilidade no MySQL 5.7 para aplicações em PHPMySQL Brasil
 
Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7MySQL Brasil
 
NoSQL no MySQL 5.7
NoSQL no MySQL 5.7NoSQL no MySQL 5.7
NoSQL no MySQL 5.7MySQL Brasil
 
10 Razões para Usar MySQL em Startups
10 Razões para Usar MySQL em Startups10 Razões para Usar MySQL em Startups
10 Razões para Usar MySQL em StartupsMySQL Brasil
 
Estratégias de Segurança e Gerenciamento para MySQL
Estratégias de Segurança e Gerenciamento para MySQLEstratégias de Segurança e Gerenciamento para MySQL
Estratégias de Segurança e Gerenciamento para MySQLMySQL Brasil
 
MySQL The State of the Dolphin - jun15
MySQL The State of the Dolphin - jun15MySQL The State of the Dolphin - jun15
MySQL The State of the Dolphin - jun15MySQL Brasil
 
Aumentando a segurança, disponibilidade e desempenho com MySQL Enterprise Edi...
Aumentando a segurança, disponibilidade e desempenho com MySQL Enterprise Edi...Aumentando a segurança, disponibilidade e desempenho com MySQL Enterprise Edi...
Aumentando a segurança, disponibilidade e desempenho com MySQL Enterprise Edi...MySQL Brasil
 
MySQL Enterprise Edition Portfolio
MySQL Enterprise Edition PortfolioMySQL Enterprise Edition Portfolio
MySQL Enterprise Edition PortfolioMySQL Brasil
 
Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...
Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...
Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...MySQL Brasil
 

More from MySQL Brasil (20)

MySQL como Document Store PHP Conference 2017
MySQL como Document Store PHP Conference 2017MySQL como Document Store PHP Conference 2017
MySQL como Document Store PHP Conference 2017
 
MySQL no Paypal Tesla e Uber
MySQL no Paypal Tesla e UberMySQL no Paypal Tesla e Uber
MySQL no Paypal Tesla e Uber
 
MySQL 8.0.1 DMR
MySQL 8.0.1 DMRMySQL 8.0.1 DMR
MySQL 8.0.1 DMR
 
Alta disponibilidade com MySQL Enterprise
Alta disponibilidade com MySQL EnterpriseAlta disponibilidade com MySQL Enterprise
Alta disponibilidade com MySQL Enterprise
 
MySQL Roadmap NoSQL HA Fev17
MySQL Roadmap NoSQL HA Fev17MySQL Roadmap NoSQL HA Fev17
MySQL Roadmap NoSQL HA Fev17
 
Segurança no MySQL
Segurança no MySQLSegurança no MySQL
Segurança no MySQL
 
5 razões estratégicas para usar MySQL
5 razões estratégicas para usar MySQL5 razões estratégicas para usar MySQL
5 razões estratégicas para usar MySQL
 
Alta disponibilidade no MySQL 5.7 GUOB 2016
Alta disponibilidade no MySQL 5.7 GUOB 2016Alta disponibilidade no MySQL 5.7 GUOB 2016
Alta disponibilidade no MySQL 5.7 GUOB 2016
 
MySQL 5.7 como Document Store
MySQL 5.7 como Document StoreMySQL 5.7 como Document Store
MySQL 5.7 como Document Store
 
Enabling digital transformation with MySQL
Enabling digital transformation with MySQLEnabling digital transformation with MySQL
Enabling digital transformation with MySQL
 
Alta Disponibilidade no MySQL 5.7 para aplicações em PHP
Alta Disponibilidade no MySQL 5.7 para aplicações em PHPAlta Disponibilidade no MySQL 5.7 para aplicações em PHP
Alta Disponibilidade no MySQL 5.7 para aplicações em PHP
 
Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7
 
NoSQL no MySQL 5.7
NoSQL no MySQL 5.7NoSQL no MySQL 5.7
NoSQL no MySQL 5.7
 
OpenStack & MySQL
OpenStack & MySQLOpenStack & MySQL
OpenStack & MySQL
 
10 Razões para Usar MySQL em Startups
10 Razões para Usar MySQL em Startups10 Razões para Usar MySQL em Startups
10 Razões para Usar MySQL em Startups
 
Estratégias de Segurança e Gerenciamento para MySQL
Estratégias de Segurança e Gerenciamento para MySQLEstratégias de Segurança e Gerenciamento para MySQL
Estratégias de Segurança e Gerenciamento para MySQL
 
MySQL The State of the Dolphin - jun15
MySQL The State of the Dolphin - jun15MySQL The State of the Dolphin - jun15
MySQL The State of the Dolphin - jun15
 
Aumentando a segurança, disponibilidade e desempenho com MySQL Enterprise Edi...
Aumentando a segurança, disponibilidade e desempenho com MySQL Enterprise Edi...Aumentando a segurança, disponibilidade e desempenho com MySQL Enterprise Edi...
Aumentando a segurança, disponibilidade e desempenho com MySQL Enterprise Edi...
 
MySQL Enterprise Edition Portfolio
MySQL Enterprise Edition PortfolioMySQL Enterprise Edition Portfolio
MySQL Enterprise Edition Portfolio
 
Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...
Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...
Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...
 

MySQL + Java - Manuel Contreras

  • 1. MySQL OTN Day <Insert Picture Here> Brasil 7 Dezembro 2011 3:00 pm Sheraton WTC Sao Paulo, Brasil MySQL + Java – Nova vida a Sakila & Duke com a Oracle Kattia.Fallas@Oracle.com - Contas Corporativas, MySQL Amércia Latina Manuel.Contreras@Oracle.com – Especialista Técnico, MySQL América Latina Pedro.Andrade@Oracle.com – Contas Estratégicas, MySQL América Latina
  • 2. MySQL+Java: Nova vida a Sakila & Duke com a Oracle MySQL na América Latina ( En Español ) Kattia.Fallas@Oracle.com Manuel.Contreras@Oracle.com Pedro.Andrade@Oracle.com @mysql_espanol MySQL na América Latina ( En Português ) Ana.Guiselini@Oracle.com Marcelo.T.Souza@Oracle.com Airton.Lastori@Oracle.com Marcos.Trujillo@Oracle.com @mysql_br
  • 3. OTN MySQL User Forum – Brasil ~ Introdução México e Brasil - rivais no futebol ?
  • 4. OTN MySQL User Forum – Brasil ~ Introdução Não.... México e Brasil são sempre amigos!
  • 5. ​ ¿Por que usar Software Open Source (OSS)? Open Source Software Enterprise Modelo de distribuição de Software - Versão Community - Versão Enterprise Subscrição - Subscrição anual com suporte técnico - No vendor locking - Melhor TCO Comunidades desenvolvem, testam e sugerem melhorias ao software - foruns, bug report lists, e participação de desenvolvedores para melhoras do produto.
  • 6.
  • 7. Oracle: nova vida a Duke & Sakila Open source software com suporte Enterprise - Em 1995 Sun microsystems cria Java uma linguagem de programação multiplataforma, 100% orientada a objetos. - Em 1995, MySQL AB, cria um gerenciador de BD relacional, open source, o qual é amplamente adotado pelas comunidades do LAMP stack software. - Em 2008, Sun microsystems Inc, adquire MySQL AB – um investimento de Bilhão de dólares pelo OSS. - Em 2010, Oracle Inc adquire a Sun microsystems, a proposta: oferecer soluções desde o disco até as aplicações, fortalecendo sua oferta open source com Java e MySQL. - Dezembro de 2010, Oracle libera MySQL 5.5, considerado pela comunidade como o melhor release de MySQL em sua historia. - Julho de 2011, Java 7.0 é liberado, nova versão com melhorias no JVM hotspot e o melhor desempenho para servidores Java.
  • 8. Java A plataforma de desenvolvimento
  • 9. Introdução | Java A linguagem de programação independente da plataforma Java - Simples, fácil de usar - 100% orientado a objetos, API classes - Administração automática de memória - Independente da plataforma - Orientado a um contenedor JRE ( JVM ) – Máquina virtual Java que administra multi-threading, segurança, memória, class loader, gerenciamento de exceções ( erros em tempo de execução ) - Oracle Glassfish Application Server é a implementação de referência para Java EE - 9 milhões de desenvolvedores no mundo - Java é gerenciado pela Java Community Process http://www.oracle.com/technetwork/java/javase/jdk7-relnotes-418459.html
  • 10. Java 7.0 | O novo Java 7.0 – potencializa o desempenho de Java nos Servidores Java 7.0, incorpora melhoras orientadas para aumentar o desempenho de aplicações rodando em servidores com grande capacidade em RAM, e CPU multi-cores. – Gerenciamento de memória mais eficiente - Memória é dividida em vários Heap - First Gargabe collector: divide a memória em vários heap memory, aumentando o desempenho em seu acesso – Nova funcionalidade em API de JDBC, para conectividade a bases de dados RowSet, Statement e Connection implementam a interface Closeable, AutoCloseable
  • 11. JDBC | Java Database Connectivity Práticas Recomendadas para Java Developers Mecanismos para estabelecer conexões a MySQL Server, com Java: - DriverManager ( Class Loader Java ) – O método mais simples, mas não é recomendado para ambientes de produção - Pool Connection / Data Source – Requer um servidor de aplicativos, mas é altamente recomendado para ambientes de produção - Persistence Framework – Hibernate, Spring, Memcached & Java ( MySQL 5.6 )
  • 12. JDBC | Java Database Connectivity Práticas Recomendadas para Java Developers Pool Connection / DataSource - Um conjunto de conexões, sempre está disponível no pool - Método: getConnection() em Java, obtém uma conexão disponível do pool, sem delay para abrir fisicamente uma conexão - Método closeConnection() em Java, não fecha a conexão, somente a devolve ao pool, para que outro Thread possa reutilizá-la Java Pool Connection Java ( DataSource) Application - Connection1 - Connection2 - Connection3 - ConnectionN...
  • 13. JDBC | Java Database Connectivity Práticas Recomendadas para Java Developers Java Pool Connection Java ( DataSource) Application - Connection1 - Connection2 - Connection3 - ConnectionN... Java EE 6 Application Server Reference Implementation
  • 14. JDBC | DataSource Glassfish http://blogs.oracle.com/psterk/entry/criating_and_configuring_a_mysql
  • 15. JDBC | Java Database Connectivity Práticas Recomendadas para Java Developers Java Pool Connection -O Java EE Application Server, gerencia conexões. ( DataSource) - Automaticamente fecha - Connection1 conexões no estado Idle. - Connection2 - Connection3 Conexões abertas sob demanda, - ConnectionN... conforme requerido pela aplicação Java EE 6 - Ele é facilmente configurado pelo administrador do servidor Application Server de aplicações Java EE. Reference Implementation
  • 17. MySQL - números interessantes • 155 million • 212 days • 127 billion Você sabe o que são esses números? • 24.9 trillion
  • 18. MySQL - números interessantes • 155 million • 212 days • 127 billion Você sabe o que são esses números? • 24.9 trillion
  • 19. MySQL - números interessantes • 155 million number of tweats per day, 1700 per second 6,939/s Japanese New Year MySQL is core architecture for twitter • 212 days uptime of random MySQL server at twitter • 127 billion number of queries executed on single server • 24.9 trillion innodb_rows_read, 1.36M per second source: Jeremy Cole, Twitter DBA, MySQL UC 2011
  • 20. Questões difíceis … problemas de performance? … servidores down? … queries lentas, custosas? … política de segurança, muda? … onde, quando, como “tunar”? … produtividade de desenv./QA? … problemas de replicação? … qual versão do MySQL rodar? … os sistemas escalarão? … posso recuperar? Por que é melhor usar MySQL Enterprise...
  • 21. MySQL Enterprise Edition Mais segura, escalável banco de dados MySQL, Backup Online, Desenvolvimento / Ferramentas de monitoração, apoiados pela Oracle Lifetime Suporte Premier Oracle Product Oracle Premier Certifications/Integrations Support MySQL Enterprise MySQL Enterprise Backup Monitor/Query Analyzer MySQL Enterprise MySQL Enterprise Security Scalability MySQL Enterprise High Availability MySQL Workbench
  • 22. MySQL Database Internals replicação MySQL Slave MySQL Master updates updates I/O Thread selects relay binlog Replication SQL Thread data index & binlogs binlog data
  • 23. MySQL, Replicação - Melhor tempo de resposta mediante a separação de carga, no processamento de consultas entre o master / slave - SELECT Queries, podem ser enviados ao slave para reduzir a carga de processamento de consultas, no master - Disponível para qualquer tipo de storage engine, incluindo replicação entre distintos tipos de storage engine - Obter uma maior disponibilidade com um master / slave - Em caso de falhas no master, é possível utilizar o slave como backup - Respaldo de informação através dos slaves C l i ent s MySQL Replication Slaves Master
  • 24. Estudos de Caso: MySQL – Replicação Master – Slave
  • 25. MySQL Replicação semi-sync Novo no MySQL 5.5! • Os dados escritos no master, também são escritos no binary log File O thread I/O, nos slaves, usa as alterações do binlog do master e o escreve em um relay log nos slaves O thread SQL, nos slaves, lê o relay log e aplica as alterações / escritas nos slaves • Se o plugin semi-sync está instalado e SQL Thread IO Thread configurado, o master espera até que o binlog relay thread I/O de algum slave semi-sync, tenha escrito a transação a disco, ou até que ocorra um timeout, então se retorna ao ACK na aplicação Melhora a confiança no FailOver COMMIT no nodo master é reconhecido, somente quando ao menos um dos nodos slaves tenha registrado o evento Master Em caso de FailOver, não há perda de informação Slave http://dev.mysql.com/doc/refman/5.5/en/replication-howto.html
  • 26. JDBC | Java Database Connectivity Práticas Recomendadas para Java Developers JDBC – MySQL Master, Slave1, Slave2, SlaveN – Round Robin - Load Balancing de Leitura em servidores Slave - Servidor Master para Read & Writes - Slaves para Read Only - JDBC Connector automaticamente, seleciona um Slave da lista de Slaves http://dev.mysql.com/doc/refman/5.5/en/connector-j-reference-replication- connection.html
  • 27. JDBC | Java Database Connectivity Prácticas Recomendadas para Java Developers Consulta Sepración ler e escrever operações com Java e MySQL Passo 1) Importação de Livrarias http://dev.mysql.com/doc/refman/5.5/en/connector-j-reference-replication-connection.htm
  • 28. JDBC | Java Database Connectivity Prácticas Recomendadas para Java Developers Consulta Sepración ler e escrever operações com Java e MySQL Passo 2) - Configuração de Driver para uso em RoundRobin Load Balancing http://dev.mysql.com/doc/refman/5.5/en/connector-j-reference-replication-connection.html
  • 29. JDBC | Java Database Connectivity Prácticas Recomendadas para Java Developers Consulta Sepración ler e escrever operações com Java e MySQL Passo 3) - configurações de conexão com o mestre e escravos
  • 30. JDBC | Java Database Connectivity Práticas Recomendadas para Java Developers Passo 4) - Insert Dados em Master ( Read Only False )
  • 31. JDBC | Java Database Connectivity Práticas Recomendadas para Java Developers Passo 6) - Select Dados em um dos Slaves ( Read Only True )
  • 32. MySQL Enterprise Monitor • Monitor de Replicação
  • 33. MySQL Enterprise Monitor • Vista única consolidada do ambiente MySQL • Auto descobrimento de servidores MySQL, replicação e topologias • Alertas e monitoramento adaptável e baseado en regras • Identificação de problemas antes que ocorram • Redução de risgo e tempo de inatividade • Facilidade para escalamento Um assistente DBA Virtual para horizontal sem requerer mais MySQL DBAs http://mysql.com/products/enterprise/monitor.html
  • 34.
  • 35. MySQL Enterprise Monitor • Java Connector plugin / Query Analyzer
  • 36.
  • 37. MySQL ~ Extensões Comerciais ✔ MySQL Enterprise Backup ✔ Incremental, Compression, Point in Time Recovery ✔ MySQL High Availability ✔ Oracle OVM MySQL Template & Windows Failover Clustering ✔ Enterprise Security ✔ Plug-In: MySQL External Authentication ✔ Enterprise Scalability ✔ Plug-In: MySQL Thread Pool ✔ Enterprise Monitor, Workbench, Technical Support ✔ Virtual MySQL Tunning assistant & 24x7 support
  • 38. Gestão Padrão do Thread Pool Clientes Externos Gestão Padrão Execução das Conexões das Threads doThread Pool Conexões / Declarações atribuídas aos Threads durante sua existência Clientes Internos • Conexões são atribuídas a 1 thread durante a existência da Conexão. • A mesma thread é usada para todas as declarações de execução (single threaded)
  • 39. Com o Thread Pool Habilitado Clientes Externos Thread Pool Execução das Conexões das Threads Grupo Thread 1 Grupo Thread 1 Threads 1 - 4096 Grupo Thread 2 Grupo Thread 2 Threads 4097 - 8193 Grupo Thread N Grupo Thread N Threads 8194 - N Clientes Internos • Pool contém um número de Grupo de Threads(default = 16), cada um gerencia até 4096 threads reusáveis • Cada conexão é atribuída ao grupo de thread via round robin mantém a performance em altas cargas de usuários/conexões
  • 40. Comparativo com/sem Thread Pool MySQL Enterprise Edition ComThread Pool MySQL Community Server Sem Thread Pool 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 20x Melhor Escalabilidade comThread Pool 72GB DDR3 RAM 2 X LSI SCSI Disk (MR9261-8i) (597GB)
  • 41. MySQL Enterprise Backup • Anteriormente “InnoDB Hot Backup” • Online, non-locking backup & recovery • Tables, Indexes • Server, database, ou object-level • Backups Lógico e Físico • Backups Completos ou Incrementais • Point-in-time recovery • Backups Comprimidos • Também oferece backup e recuperação para MyISAM • Multi-plataforma (Windows, Linux, Unix) • Certificado para Oracle Secure Backup (SBT 2.0)
  • 42. Backups Backups são até 3.5x mais rápidos do que mysqldump
  • 43. Restores Restore é até 16x mais rápido do que mysqldump - mysqldump performance não é linear (mais tables/indexes impacta na performance) - MySQL Enterprise performance é quase linear
  • 44. Compressão do Backup O tamanho do Backup é reduzido de 65% até 93%
  • 46. Questões Difíceis, Soluções Reais … problemas de performance? … servidores down? • MySQL Enterprise Scalability • Oracle Premier 7x24 Support • MySQL Enterprise Monitor, Advisors, Query Analyzer • MySQL Enterprise Monitor, Advisors • MySQL Consultative Support • MySQL Enterprise High Availability … queries lentas, custosas? … política de segurança, muda? • MySQL Enterprise Monitor, Query Analyzer • MySQL External Authentication … onde, quando, como “tunar”? • MySQL Enterprise Monitor, Security Advisor • MySQL Enterprise Monitor, Advisors, Query Analyzer • MySQL Consultative Support … produtividade de desenv./QA? • MySQL Workbench SE • MySQL Enterprise Monitor, Query Analyzer … problemas de replicação? • MySQL Enterprise Monitor, Replication Monitor … qual versão do MySQL rodar? • Oracle Premier 7x24 Support • Oracle Premier 7x24 Support … os sistemas escalarão? … posso recuperar? • MySQL Enterprise Scalability • MySQL Enterprise Backup • MySQL Enterprise Monitor, Advisors, Query Analyzer • MySQL Consultative Support
  • 47. Obrigado / Gracias! MySQL na América Latina ( En Español ) Kattia.Fallas@Oracle.com Manuel.Contreras@Oracle.com Pedro.Andrade@Oracle.com @mysql_espanol @mysql_br @mysql ( Official English )