SlideShare uma empresa Scribd logo
1 de 63
Baixar para ler offline
Novidades do MySQL 5.6

Airton Lastori
airton.lastori@oracle.com



9-abr-2013
1   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
@MySQLBR                                                            facebook.com/MySQLBR

                                                                                                                                               MySQLBR
                                       meetup.com/MySQL-BR




2   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Desafios do mercado
         demandam inovação tecnológica

                                                              2.2 BILHÕES DE USUÁRIOS                                                              Novas dimensões dos
                                                               630 MILHÕES DE WEBSITES                                                             problemas que o MySQL
40% CRESCIMENTO                                                                                                                        1 BILHÃO
DE DADOS POR ANO                                                                                                                        USUÁRIOS   deve resolver
                                                                                                                               560 MILHÕES
                                                                                                                     ATIVOS DIARIAMENTE




 400 MILHÕES
 DE TWEETS                                                                                                                           72 HORAS
 POR DIA
                                                                                                                              UPLOAD A CADA
                                                                                                                                    MINUTO



                  5,9 BILHÕES ASSINATURAS                                                                          $1 TRILHÃO
                  MÓVEIS EM 2011                                                                                             EM 2013

                  1,2+ BILHÃO APPS iOS & Android                                                              $700 BILHÕES
                  JÁ AIXADOS EM 2012                                                                                         EM 2011


   3   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Agenda



         Estratégia Oracle para MySQL
         O que há de novo no MySQL 5.6
         O que podemos esperar em novas versões
         Perguntas?




4   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Agenda



         Estratégia Oracle para MySQL
         O que há de novo no MySQL 5.6
         O que podemos esperar em novas versões
         Perguntas?




5   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Alguns clientes MySQL




6   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Alguns clientes MySQL




                                                                  fonte: alexa.com/topsites 10-mai-2012
7   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
MySQL: casos de sucesso

                                                                                                                                               + de 20 indústrias

                                                                                                                                               mysql.com/customers




8   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
MySQL é estratégico para Oracle


        Soluções Completas
        #1 em todos os níveis da pilha
        Na nuvem e On Premise
        MySQL: Web, Mobile & Embedded
        Investimentos na Engenharia do MySQL



9   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Compromisso Oracle com MySQL Community
       Portfólio disponível para download e uso sob GPL

                                                                                                                             MySQL Database Community Server
                                                                                                                             MySQL Cluster
                                                                                                                             MySQL Workbench
                                                                                                                             MySQL Migration Wizard
                                                                                                                             MySQL Utilities em Python
                                                                                                                             MySQL Connectors
                                                                                                                             MySQL Proxy
                                                                                                                             Documentação não GPL
                                                                                                                             Forums, Lists, Bugs, Blogs…
10   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
MySQL Enterprise Edition
       Maior produtividade e mitigação de riscos


                                                                                                      Oracle Premier
                                                                                                     Lifetime Support
                                                        MySQL Enterprise                                                                 Oracle Product
                                                           Security                                                                Certifications/Integrations

                                     MySQL Enterprise                                                                                             MySQL Enterprise
                                         Audit                                                                                                  Monitor/Query Analyzer

                       MySQL Enterprise                                                                                                                 MySQL Enterprise
                          Scalability                                                                                                                       Backup

               MySQL Enterprise                                                                                                                           MySQL Workbench
               High Availability

11   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
mais de 170 regras
                        + regras personalizadas
                                                                                        mais de 80 gráficos
                                                                                             + gráficos personalizados




12   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Agenda



          Estratégia Oracle para MySQL
          O que há de novo no MySQL 5.6
          O que podemos esperar em novas versões
          Perguntas?




13   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Safe Harbor Statement
         The following is intended to outline our general product direction. It is
         intended for information purposes only, and may not be incorporated
         into any contract. It is not a commitment to deliver any material, code,
         or functionality, and should not be relied upon in making purchasing
         decision. The development, release, and timing of any features or
         functionality described for Oracle’s products remains at the sole
         discretion of Oracle.



14   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Arquitetura MySQL Database
            Suporte às mais
            conhecidas
            plataformas/linguagens
            de desenvolvimento
                                                                                                                                                 Gerenciamento
                                                                                                                                                 eficiente e multi-
     Parsing completo                                                                                                                            thread de sessões
     DML+DDL,
     otimizador,
     baseado em custo,
     caching de queries
     e resultados


     Várias opções de
     Storage Engine                                                                                                                             Opções flexíveis de
     para necessidades                                                                                                                          logging e
     específicas das                                                                                                                            armazenamento
     aplicações                                                                                                                                 físico

15   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Qual Storage Engine usar?
                                                                                        MyISAM                                                   InnoDB              NDB Cluster
      Transações                                                                                   ✖                                                  ✔                      ✔

      Nível de Lock                                                                           Tabela                                                 Linha                  Linha
                                                                                      Assíncrona ou                                             Assíncrona ou
      Replicação                                                                                                                                                   Síncrona, Multi-master
                                                                                      Semi-síncrona                                             Semi-síncrona
      Foreign Keys                                                                                 ✖                                                  ✔                a partir da v7.3

      Full-text indexes                                                                            ✔                                            a partir da v5.6             ✖

      Compressão de dados                                                           somente Leitura                                                   ✔                      ✖

      Caches                                                                        somente Índices                                             Dados e Índices       Dados e Índices

      Suporte Geospacial                                                    Tipos de Dados e Índices                                   somente Tipos de Dados      somente Tipos de Dados

      Limite de armazenamento                                                                 256TB                                                  64TB                  384EB

                                                  dev.mysql.com/doc/refman/5.5/en/storage-engines.html

16   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Novidades MySQL 5.6

                                                     InnoDB                                                                                     5 áreas de melhoria no
                                                                                                                                                novo MySQL

                                             Otimizador
                                                                                                                                                GA, pronto para uso em
                                                                                                                                                produção
                                            Replicação
                                                                                                                                                mysql.com/downloads/mysql
                                  Instrumentação

                              Outras melhorias
17   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Novidades MySQL 5.6
                                                                                                                                                + Performance
                                                     InnoDB
                                                                                                                                                + Escalabilidade
                                                                                                                                                + Flexibilidade, NoSQL
                                             Otimizador
                                                                                                                                                + Disponibilidade

                                            Replicação

                                  Instrumentação

                              Outras melhorias
18   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Evolução da escalabilidade do MySQL



                      2008                                                              2009                                                     2010           2013




     Up to 4 CPU                                                       Up to 16 CPU                                                      Up to 32 CPU   Up to 48 CPU
     MySQL 5.0                                                         (Sun Micro)                                                       (Oracle)       MySQL 5.6
                                                                       MySQL 5.1 (InnoDB                                                 MySQL 5.5
                                                                        Plugin)




19   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Escalabilidade MySQL 5.6: InnoDB
                         SysBench Benchmarks

                                         MySQL 5.6 Escritas+Leituras (Linux)
                              12.000
                                                                                                                                                         MySQL 5.6.7
     Transações por Segundo




                              10.000
                               8.000
                               6.000
                               4.000
                               2.000
                                  0                                                                                                                   Oracle Linux 6
                                                                                                                                                      Intel(R) Xeon(R) E7540 x86_64
                                                   12                                       24                                        36         48   MySQL leveraging:
                                                                                                   CPU Threads                                        - 48 of 96 available CPU threads
                                                                                                                                                      - 2 GHz, 512GB RAM

                                                                                48 CPU Threads
20    Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Escalabilidade MySQL 5.6: InnoDB
                        SysBench Benchmarks

                                                        MySQL 5.6 Leituras (Linux)
                              18.000
     Transações por Segundo




                              16.000                                                                                                                    MySQL 5.6.7
                              14.000
                              12.000
                              10.000
                               8.000
                               6.000
                               4.000
                               2.000
                                   0                                                                                                                 Oracle Linux 6
                                                                                                                                                     Intel(R) Xeon(R) E7540 x86_64
                                                   12                                       24                                       36         48   MySQL leveraging:
                                                                                                  CPU Threads                                        - 48 of 96 available CPU threads
                                                                                                                                                     - 2 GHz, 512GB RAM

                                                                               48 CPU Threads
21   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Performance MySQL 5.6: InnoDB
                              SysBench Benchmarks

                                       MySQL 5.6 vs. 5.5 – Escritas+Leituras (Linux)
                              12.000
     Transações por Segundo




                                                                                                                                                                            MySQL 5.6.7
                              10.000
                               8.000
                               6.000
                               4.000                                                                                                                                        MySQL 5.5.28
                               2.000
                                   0                                                                                                                                     Oracle Linux 6
                                                         32                                 64                        128                                    256   512   Intel(R) Xeon(R) E7540 x86_64
                                                                                                                                                                         MySQL leveraging:
                                                                                                                    Conexões                                             - 48 of 96 available CPU threads
                                                                                                                                                                         - 2 GHz, 512GB RAM


                                                           +151% Ganhos de Performance
24                Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Performance MySQL 5.6: InnoDB
                             SysBench Benchmarks

                                                           MySQL 5.6 vs. 5.5 - Leituras (Linux)
                         18.000
Transações por Segundo




                         16.000                                                                                                                                                     MySQL 5.6.7
                         14.000
                         12.000
                         10.000
                          8.000
                          6.000                                                                                                                                                      MySQL 5.5.28
                          4.000
                          2.000
                              0
                                                                                                                                                                                Oracle Linux 6
                                                             32                                 64                        128                                       256   512   Intel(R) Xeon(R) E7540 x86_64
                                                                                                                                                                                MySQL leveraging:
                                                                                                                        Conexões                                                - 48 of 96 available CPU threads
                                                                                                                                                                                - 2 GHz, 512GB RAM

                                                               +234% Ganhos de Performance
25                       Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Performance MySQL 5.6: InnoDB
       Otimizações para LEITURAS
      Aplicações com alta concorrência, leituras intensivas
      Desenvolvedor pode controlar a sobrecarga transacional de Leituras

                                  SET autocommit = 1;
                                  SELECT c FROM sbtest WHERE id=N;                                                                              default = Ligado

                                  SET autocommit = 0;
                                  START TRANSACTION READ ONLY;                                                                                  Modo LEITURA controlado
                                  SELECT c FROM sbtest WHERE id=N;
                                                                                                                                                pelo desenvolvedor
                                  COMMIT;




26   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Performance MySQL 5.6: InnoDB
       Otimizações para SSD e melhorias internas


       Otimizações para SSD
           tamanhos de páginas de 4k e 8k
           arquivos .ibd fora do data dir MySQL
          tablespaces separados para undo log

       Várias melhorias internas
          ex. divisão do kernel mutex



27   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Flexibilidade MySQL 5.6: InnoDB
          NoSQL com Memcached
                                                                                                                                                 Acesso chave-valor ao
                                                                                                                                                 InnoDB
                                                                                                                                                   Via Memcached API
                                                     Application                                                                                   Usa clients Memcached existentes
                                                                                                                                                   Sem SQL parsing, ultra-rápido
                        SQL                                                                       NoSQL
 (MySQL Client)                                                                                   (Memcached Prot.)                              Acesso SQL e NotOnlySQL
                                                                                                                                                   Operações chave-valor mas também
        mysqld                                                                                                                                     queries SQL, JOINs, FKs, etc.
                            MySQL Server                                     Memcached plugin
                                                                                                                                                 Memcached com Persistência
                                 InnoDB Storage Engine                                                                                           no InnoDB
                                                                                                                                                   Método transparente para persistir
                                                                                                                                                   os dados em memória volátil
                                                                                                                                                   Memcached plug-in no mysqld ,
                                                                                                                                                   mapeado à API nativa do InnoDB
http://dev.mysql.com/doc/refman/5.6/en/innodb-memcached.html
                                                                                                                                                   Shared process para baixa latência
 28   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Flexibilidade MySQL 5.6: InnoDB
         Memcached é Schemaless

                                                                                                                                                Evolução rápida da aplicação:
                                                                                                                                                Novos tipos de dados
                                                                                                                                                 adicionados constantemente
                                                                                                                                                Não requer tempo para
                                                                                                                                                 estender o schema ou parada
                                                                                                                                                 do servidor
                                                                                                                                                Não requer conhecimento de
                                                                                                                                                 modelagem relacional
                                                                                                                                                Escalabilidade incremental




29   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Flexibilidade MySQL 5.6: InnoDB
         Full Text Search

        create table frase_dia                                                                             Índices FULLTEXT nas tabelas InnoDB
        ( id int unsigned                                                                                  Chaves em conteúdo baseado em texto
        auto_increment primary
        key                                                                                                Acelera buscas por palavras e frases
        , autor varchar(64)                                                                                Buscas rápidas, totalmente transacionais
        , frase varchar(4000)
        , fonte varchar(64)                                                                                Modos de operação: linguagem natural ou
        , fulltext(frase)                                                                                   booleano, busca por proximidade, ranking
        ) engine=innodb;                                                                                    de relevância

      select autor as "Felizes" from frase_dia
          where match(frase)
          against (‘felicidade' in natural language mode);

30   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Disponibilidade MySQL 5.6: InnoDB
         Operações DDL Online

         CREATE INDEX
         DROP INDEX
         Change AUTO_INCREMENT value for a column
         ADD/DROP FOREIGN KEY
         Rename COLUMN
         Change ROW FORMAT, KEY_BLOCK_SIZE for a table
         Change COLUMN NULL, NOT_NULL
         Add, drop, reorder COLUMN



31   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Disponibilidade MySQL 5.6: InnoDB
         Transportable Tablespaces
      Exportação/Importação entre instâncias MySQL que estão rodando
      Mais rápido que mysqldump (via arquivos ibd portáveis)
     Export: CREATE TABLE t(c1 INT) engine=InnoDB;
                            FLUSH TABLE t FOR EXPORT; -- cria arquivo meta dados consistente
                            $innodb_data_home_dir/test/t.cfg
                            UNLOCK TABLES;

     Import:
                            CREATE TABLE t(c1 INT) engine=InnoDB; -- apenas se ainda não existe
                            ALTER TABLE t DISCARD TABLESPACE;
                            -- Parar os updates antes de importar
                            ALTER TABLE t IMPORT TABLESPACE;


32   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Disponibilidade MySQL 5.6: InnoDB
         Melhorias na inicialização e estabilização

      Dump e restore: aquecimento do buffer pool
         - Durante o shutdown ou manualmente a qualquer momento
         - Encurta o tempo de estabilização de performance depois de uma
         reinicialização (de horas para minutos)

      Estatísticas Persistentes do Otimizador
         - Aumento de estabilidade e consistência dos tempos de execução
         - Estatísticas mais precisas, melhor otimização
         - Melhor controle do usuário: automático ou manual

33   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Novidades MySQL 5.6
                                                                                                                                                + Performance
                                                     InnoDB
                                                                                                                                                + Instrumentação

                                             Otimizador

                                            Replicação

                                  Instrumentação

                              Outras melhorias
34   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Otimizador do MySQL 5.6
         Resolução de problemas com Subqueries

             SELECT title FROM film WHERE film_id IN
                        (SELECT film_id FROM film_actor
                                               GROUP BY film_id HAVING count(*) > 12);

          Sem necessidade de transformar em JOINs
          Table pull-out
          Semi-join
          Subquery Materialization

                                       Tempo de execução baixou de DIAS para segundos
                                                                                                                                                Benchmark DBT3 Query #18


35   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Otimizador do MySQL 5.6
         Ordenação de arquivo com limites pequenos
             CREATE TABLE products(
                productid int auto_increment PRIMARY KEY,
                productname varchar(200)‫‏‬
             );

             SELECT * FROM products ORDER BY productname LIMIT 100;

      Caso de uso: listar os 100 primeiros produtos ordenados por nome
      Evita passos intermediários: criar arquivos ordenados, mais de um
     table scan
      Testes numa tabela com 20 milhões de linhas, sort buffer default

                                        4x mais rápido: caiu de 40s para 10s
36   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Otimizador do MySQL 5.6
          ICP: Index Condition Pushdown
 CREATE TABLE person (
     personid INTEGER PRIMARY KEY,
     firstname CHAR(20),
      pe test
     lastname CHAR(20),
     postalcode INTEGER,                                                                                             SELECT lastname, firstname
      r
     age INTEGER,
     address CHAR(50),
                                                                                                                         FROM person
                                                                                                                         WHERE postalcode BETWEEN 5000 AND 5500
     KEY k1 (postalcode,age)‫‏‬                                                                                                  AND age BETWEEN 21 AND 22;
  ) ENGINE=InnoDB;


 ICP Desabilitado: 15 s (buffer pool 128 MB) e 1,4 s (buffer pool 1.5 GB)


                                                 90ms em ambos = melhoria de 15x a 170x
                                                                                                      em ambas configurações de buffer pool

 37   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Otimizador do MySQL 5.6
         Postpone Materialization

            EXPLAIN SELECT * FROM (SELECT * FROM a_big_table);
            SELECT … FROM derived_table AS dt
                     join table AS t WHERE dt.fld = t.dlf


         Permite EXPLAINs mais rápidos para views/subqueries
         Evita materialização quando possível, recuperação mais rápida
         Uma chave pode ser gerada para tabelas derivadas


                                240x mais rápido: caiu de ~8min para ~2s

38   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Otimizador do MySQL 5.6
                 Batched Key Access (BKA) and Multi-Range Read (MRR)
                     Melhora performance de JOINs
                          5000
                           2821


                           1225
                                                                                           DBT3 Query 13: “Customer Distribution Query”
      Query Time (secs)




                           500



                                                                                                                                                             No BKA
                                                                                                                                                             BKA
                            50




                                                                                                                                                      9.63
                                                                                                                                                                     290x
                             5
                                  0         8                16                24                32                40                 48        56   64
                                                                                                                                                                  mais rápido
                                                                            Join Buffer Size (MB)

39   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Otimizador do MySQL 5.6
         Melhor intrumentação para diagnósticos
          EXPLAIN
             - INSERT, UPDATE e DELETE
             - Saída estruturada para EXPLAIN
          Optimizer Traces

            SET SESSION OPTIMIZER_TRACE=‘enabled=on’;
            SELECT (SELECT 1 FROM t6 WHERE d = c)
            AS RESULT FROM t5;
            SELECT * FROM information_schema.OPTIMIZER_TRACE;




40   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Novidades MySQL 5.6
                                                                                                                                                + Performance
                                                     InnoDB
                                                                                                                                                + Flexibilidade
                                                                                                                                                + Disponibilidade
                                             Otimizador

                                            Replicação

                                  Instrumentação

                              Outras melhorias
41   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Replicação MySQL
                                                                                               Aplicação



                                    Escritas & Leituras


                                                Master                                                                                     Slave




                                          • Modelo assíncrono (padrão)
                                          • Modelo semi-síncrono (a partir da versão 5.5)

42   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Replicação MySQL
                                                                                               Aplicação



                                    Escritas & Leituras                                                                                  Leituras



                                                Master                                                                                     Slave




                                          • Divisão de leituras e escritas (R/W Split)
                                          • É possível adicionar mais slaves, dividir a carga

43   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Performance da Replicação no MySQL 5.6
                           Multi-Threaded Slaves
                                        Performance Multi-Threaded Slave                                                                                           Aumento do throughput do
                       300
                                                                                                                                                                    slave
 Queries por Segundo




                       250

                       200
                                                                                                                                                                   Implementa múltiplas SQL
                       150                                                                                                                                          threads no slave
                       100
                                                                                                                                                                   Paralelismo ao aplicar eventos
                         50
                                                                                                                                                                    em schemas diferentes
                            0
                                                  0                                        5                                    10
                        QPS                     58,11                                    144,4                                282,53
                                                                                                                                                                   Excelente para multi-tentant,
                                                                               Worker Threads                                                                       que isolam dados por schemas
     Sysbench: 10 x schemas
     Oracle Linux 6.1
     Oracle Sun Fire x4150 m2 Server
     MySQL leveraging:                                                              5x mais rápido
     - 48 of 96 available CPU threads
     - 2 GHz, 512GB RAM


44                     Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Performance da Replicação no MySQL 5.6
         Binary Log Group Commit


                                                                                                        Binary                           Aumenta throughput no master
                                                                                                         Log
                                                                                                                                         Commit de múltiplas transações
                                                                            T1         T2                                                 em grupos no binlog
                                  Session
                                                                            T3         T4                                                Locking mais granular, reduzindo
                                                                                                                                          tempos de lock waits
                                                                                Group
                                                                               commit
                         Master
                        Database



45   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Performance da Replicação no MySQL 5.6
         Otimização do modo Row-Based




                                  Primary Key                                                                                                   Colunas alteradas
          Nova opção: binlog-row-image=minimal
          Aumenta performance no master e slave
                    - Reduz tamanho do Binlog, memória & banda de rede
          Replica apenas elementos que foram alterados
46   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Performance da Replicação no MySQL 5.6
                              Binary Log Group Commit: Binlog = 1
                                 MySQL 5.6 vs. 5.5 – Escritas+Leituras (Linux)
                              9000
     Transações por segundo




                              8000                                                                                                                       MySQL 5.6.7
                              7000
                              6000
                              5000
                              4000
                              3000                                                                                                                       MySQL 5.5.28
                              2000
                              1000
                                 0                                                                                                                       Oracle Linux 6
                                                       32                                              64                                          128   Intel(R) Xeon(R) E7540 x86_64
                                                                                                                                                         MySQL leveraging:
                                                                                                    Conexões                                             - 48 of 96 available CPU threads
                                                                                                                                                         - 2 GHz, 512GB RAM


                                                                               180% mais rápido
47      Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Flexibilidade da Replicação no MySQL 5.6
         GTID: Global Transaction IDs
                                                                                                                                                 Simples de rastrear e
                                                                                                                                                  comparar quais eventos foram
                                                                                                                                                  replicados nos slaves
                                                                                                                                                 Possibilidade de identificar
 Master
                                                                                                                                                  (automaticamente) o slave
                                                            GTID=123456                                                                           mais atualizado
                                                                                                                                                 Permite novas topologias de
     GTID=123456                                                                                                                                  múltiplas camadas

                                                            GTID=123456 GTID=123456


48   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Disponibilidade com Replicação no MySQL 5.6
         Replication Event Checksums


         Master                                                             Slave                                        Garante que os dados replicados estão
                                                                                                                          corretos, consistentes e acessíveis
                                                                                                                         Detecta eventos de replicação
                                                                                                                          corrompidos antes deles serem
                                                                                                                          aplicados
                        #                                                              #                                 Proteção em todo caminho de
                                                                                                                          replicação
                                                                                                                                  – Memória > Disco > Rede > OK/NOK




49   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Disponibilidade com Replicação no MySQL 5.6
         Crash Safe Slaves

         Antes:                                                                                                           MySQL 5.6:
            –           Transaction Data: in tables                                                                          –          Transaction Data: in tables
            –           Replication Info:                                   in files                                         –          Replication Info: in tables


         Atomic                                             Data                                                            Atomic                   Data
                       CRASH!
                                                                                                                                                   Position Info   Time
                                                       Position Info                        Time



          Recuperação automática de um Slave depois de uma falha
          Re-estabelece canal de replicação sem intervenção do DBA
          Elimina risco de perda ou corrupção de dados
50   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Disponibilidade com Replicação no MySQL 5.6
         Replication HA Utilities (Python)
                                                                                                                                 Permite self-healing
                                                                                                                                 Failover & recovery automatizado
                                                                                                                                   - mysqlfailover (Utilitário)
                     Master
                     Falhou                                                 Slave                                                Switchover & administração
                                                                            Promovido                                             - mysqlrpladmin (Utilitário)
                                                                            para Master
                                                                                                                                Monitoramento             HA Utilities

                                                                                                                                 Alta disponibilidade com MySQL core
                                                                                                                                  - Elimina necessidade de soluções de
                                                                                                                                     terceiros
                                                   Slaves
                                                                                                                                  - Fácil de estender
51   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Novidades MySQL 5.6
                                                                                                                                                + Instrumentação
                                                     InnoDB

                                             Otimizador

                                            Replicação

                                  Instrumentação

                              Outras melhorias
52   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Mais Instrumentação no MySQL 5.6
         P_S: Performance Schema, baixa sobrecarga e ligado por padrão
          Statements/Stages
                        Quais queries mais custosas? Quando elas gastam tempo?
          Table/Index I/O, Table Locks
                        Quais tabelas/índices causam maior carga e/ou contenção?
          Network I/O
                        Qual o comportamento de carga de rede? Quanto tempo as sessões ficam
                         ociosas?
          Users/Hosts/Accounts
                        Quais usuários/hosts/contas consomem mais recursos?
          Summaries
                        Estatísticas agregadas, agrupadas por thread, user, host, account ou object

53   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Novidades MySQL 5.6
                                                                                                                                                + Segurança
                                                     InnoDB
                                                                                                                                                + Facilidade de uso
                                                                                                                                                + Flexibilidade
                                             Otimizador
                                                                                                                                                …‫‏‬

                                            Replicação

                                  Instrumentação

                              Outras melhorias
54   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Segurança no MySQL 5.6
         Melhor controle de senhas



                                                                                                                          Alternativas para ocultar senhas em
                                                                                                                         texto simples
                                                                                                                          Políticas de qualidade da senha
                                                                                                                          Troca de senha no próximo login
                                                                                                                          Hash de senha mais fortes




55   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Outras melhorias no MySQL 5.6
         Mais facilidade de uso e flexibilidade
          Novas configurações padrão
          TIME/TIMESTAMP/DATETIME – precisão de fração de segundo
          TIMESTAMP/DATETIME – CURRENT_TIMESTAMP default /auto update
          TIMESTAMP – agora nullable por padrão
          Particionamento Melhorado – mais capacidade e performance,
         import/export, seleção explícita
          GIS: operações espaciais precisas
          E MAIS...

                                                              dev.mysql.com/downloads/mysql
56   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Resumo: novidades MySQL 5.6
                                                                                                        • Performance: +234% para Leituras e +151% para Escritas, SSD
                                                                                                        • Escalabilidade: 48 cores
                                   InnoDB                                                               • Flexibilidade: Memcached API, Full Text
                                                                                                        • Disponibilidade: mudanças online no schema, export/import tablespaces


                                                                                                        • Performance: até centenas de vezes mais rápido em alguns cenários,
                            Otimizador                                                                    estatísticas persistentes
                                                                                                        • Instrumentação: EXPLAINS com traces e para UPDATES e DELETES



                                                                                                        • Performance: ganhos de 2x a 5x com paralelismo e group commit
                           Replicação                                                                   • Flexibilidade: novas topologias e rastreabilidade com GTIDs
                                                                                                        • Disponibilidade: automatização de failover e recovery




                 Instrumentação                                                                         • PERFORMANCE_SCHEMA mais completa



                                                                                                        • Segurança
                                                                                                        • Facilidade de uso
             Outras melhorias                                                                           • Flexibilidade
                                                                                                        • ...E MAIS...


57   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Agenda



          Estratégia Oracle para MySQL
          O que há de novo no MySQL 5.6
          O que podemos esperar em novas versões
          Perguntas?




58   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Prioridades para novas versões do MySQL
          Optimized for Web, Cloud-based, Embedded use cases
          Simplified, Pluggable architecture
                    - Maintainability, more extensible
                    - More NoSQL options (HTTP, JSON, JavaScript, etc.)
       Refactoring
                  - Data Dictionary in InnoDB
                  - Optimizer/Parser/Protocol
       InnoDB
                  - Optimized for mass use cases (read only, fast recovery), GIS
       Easy HA, Replication and Sharding

59   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Aprenda mais
                                                                                             Downloads & Trials
                                                                                                dev.mysql.com
                                                                                               labs.mysql.com
                                                                                             edelivery.oracle.com
                                                                      Documentação, Blogs & Fóruns
                                                                           dev.mysql.com/doc
                                                                            planet.mysql.com
                                                                           forums.mysql.com
                                                                      Artigos & Casos de Sucesso
                                                                    mysql.com/why-mysql/white-papers
                                                                          mysql.com/customers

60   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Treinamentos e certificações
                   MySQL DBA                                                  MySQLDeveloper                                            Certificações
               MySQL Boot Camp                                                 MySQL Boot Camp
                  Accelerated                                                     Accelerated

              MySQL Performance                                               MySQL Performance
               Tuning Boot Camp                                                Tuning Boot Camp
                  Accelerated                                                     Accelerated


             MySQL for Begginers                                             MySQL for Begginers

              MySQL for Database                                               MySQL and PHP
                Administrators                                                Developing Dynamic
                                                                               Web Applicationg

              MySQL Performance
                   Tuning                                                    MySQL for Developers

                                                                            MySQL Advanced Stored
           MySQL High Availability                                                                                                              Opcional
                                                                                 Procedures
                                                                                                                                                Necessário
                   MySQL Cluster                                                                                                                             education.oracle.com
61   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Sumário


          O crescimento do volume de dados na Web demandam mais
                    dos bancos de dados nos dias de hoje.
          A Oracle investe na engenharia do MySQL para atender estas
                    novas demandas.
          O MySQL 5.6 apresenta muitas melhorias de performance,
                    disponibilidade e flexibilidade. GA, pronto para usar!



62   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Agenda



          Estratégia Oracle para MySQL
          O que há de novo no MySQL 5.6
          O que podemos esperar em novas versões
          Perguntas?




63   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
Novidades do MySQL 5.6 rc


Perguntas?


64   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12
@MySQLBR                                                            facebook.com/MySQLBR

                                                                                                                                                Obrigado!
                                        meetup.com/MySQL-BR




65   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 12

Mais conteúdo relacionado

Mais procurados

MySQL Enterprise Monitor para Desenvolvedores
MySQL Enterprise Monitor para DesenvolvedoresMySQL Enterprise Monitor para Desenvolvedores
MySQL Enterprise Monitor para DesenvolvedoresMySQL Brasil
 
MySQL - o banco de dados open source mais popular do mundo
MySQL - o banco de dados open source mais popular do mundoMySQL - o banco de dados open source mais popular do mundo
MySQL - o banco de dados open source mais popular do mundoMySQL Brasil
 
MySQL: o banco de dados open source mais popular do mundo
MySQL: o banco de dados open source mais popular do mundoMySQL: o banco de dados open source mais popular do mundo
MySQL: o banco de dados open source mais popular do mundoMySQL Brasil
 
Estratégia Oracle para MySQL
Estratégia Oracle para MySQLEstratégia Oracle para MySQL
Estratégia Oracle para MySQLMySQL Brasil
 
Alta-disponibilidade e alta performance com o MySQL Cluster 7.3
Alta-disponibilidade e alta performance com o MySQL Cluster 7.3Alta-disponibilidade e alta performance com o MySQL Cluster 7.3
Alta-disponibilidade e alta performance com o MySQL Cluster 7.3MySQL Brasil
 
MySQL Alta Performance & Alta Disponibilidade
MySQL Alta Performance & Alta DisponibilidadeMySQL Alta Performance & Alta Disponibilidade
MySQL Alta Performance & Alta DisponibilidadeMySQL Brasil
 

Mais procurados (6)

MySQL Enterprise Monitor para Desenvolvedores
MySQL Enterprise Monitor para DesenvolvedoresMySQL Enterprise Monitor para Desenvolvedores
MySQL Enterprise Monitor para Desenvolvedores
 
MySQL - o banco de dados open source mais popular do mundo
MySQL - o banco de dados open source mais popular do mundoMySQL - o banco de dados open source mais popular do mundo
MySQL - o banco de dados open source mais popular do mundo
 
MySQL: o banco de dados open source mais popular do mundo
MySQL: o banco de dados open source mais popular do mundoMySQL: o banco de dados open source mais popular do mundo
MySQL: o banco de dados open source mais popular do mundo
 
Estratégia Oracle para MySQL
Estratégia Oracle para MySQLEstratégia Oracle para MySQL
Estratégia Oracle para MySQL
 
Alta-disponibilidade e alta performance com o MySQL Cluster 7.3
Alta-disponibilidade e alta performance com o MySQL Cluster 7.3Alta-disponibilidade e alta performance com o MySQL Cluster 7.3
Alta-disponibilidade e alta performance com o MySQL Cluster 7.3
 
MySQL Alta Performance & Alta Disponibilidade
MySQL Alta Performance & Alta DisponibilidadeMySQL Alta Performance & Alta Disponibilidade
MySQL Alta Performance & Alta Disponibilidade
 

Semelhante a MySQL 5.6 GA

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
 
MySQL e Oracle para DBAs
MySQL e Oracle para DBAsMySQL e Oracle para DBAs
MySQL e Oracle para DBAsMySQL Brasil
 
MySQL e Oracle para Desenvolvedores
MySQL e Oracle para DesenvolvedoresMySQL e Oracle para Desenvolvedores
MySQL e Oracle para DesenvolvedoresMySQL Brasil
 
MySQL e Oracle para Desenvolvedores
MySQL e Oracle para DesenvolvedoresMySQL e Oracle para Desenvolvedores
MySQL e Oracle para DesenvolvedoresAirton Lastori
 
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
 
MySQL Cluster e Big Data
MySQL Cluster e Big DataMySQL Cluster e Big Data
MySQL Cluster e Big DataMySQL Brasil
 
MySQL + Java - Manuel Contreras
MySQL + Java - Manuel ContrerasMySQL + Java - Manuel Contreras
MySQL + Java - Manuel ContrerasMySQL Brasil
 
MySQL June/2009 FDTI - Portuguese Version
MySQL June/2009 FDTI - Portuguese VersionMySQL June/2009 FDTI - Portuguese Version
MySQL June/2009 FDTI - Portuguese VersionArtur Alves
 
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
 
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
 
MySQL sobreviverá à nuvem?
MySQL sobreviverá à nuvem?MySQL sobreviverá à nuvem?
MySQL sobreviverá à nuvem?MySQL Brasil
 
Uso estratégico do MySQL para empresas de TI: Novidades e Futuro
Uso estratégico do MySQL para empresas de TI: Novidades e FuturoUso estratégico do MySQL para empresas de TI: Novidades e Futuro
Uso estratégico do MySQL para empresas de TI: Novidades e Futuroassertimarilia
 
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
 
Oracle Premier Support para MySQL
Oracle Premier Support para MySQLOracle Premier Support para MySQL
Oracle Premier Support para MySQLMySQL Brasil
 
MySQL Enterprise (outubro-2011)
MySQL Enterprise (outubro-2011)MySQL Enterprise (outubro-2011)
MySQL Enterprise (outubro-2011)MySQL Brasil
 
MySQL replicação e cluster - GUOB Tech Day 2011
MySQL replicação e cluster - GUOB Tech Day 2011MySQL replicação e cluster - GUOB Tech Day 2011
MySQL replicação e cluster - GUOB Tech Day 2011Airton Lastori
 
Realmente devo pensar na versão Enterprise do MySQL?
Realmente devo pensar na versão Enterprise do MySQL?Realmente devo pensar na versão Enterprise do MySQL?
Realmente devo pensar na versão Enterprise do MySQL?Juliano de Oliveira Falcao
 

Semelhante a MySQL 5.6 GA (20)

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
 
MySQL e Oracle para DBAs
MySQL e Oracle para DBAsMySQL e Oracle para DBAs
MySQL e Oracle para DBAs
 
MySQL e Oracle para Desenvolvedores
MySQL e Oracle para DesenvolvedoresMySQL e Oracle para Desenvolvedores
MySQL e Oracle para Desenvolvedores
 
MySQL e Oracle para Desenvolvedores
MySQL e Oracle para DesenvolvedoresMySQL e Oracle para Desenvolvedores
MySQL e Oracle para Desenvolvedores
 
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
 
MySQL Cluster e Big Data
MySQL Cluster e Big DataMySQL Cluster e Big Data
MySQL Cluster e Big Data
 
MySQL + Java - Manuel Contreras
MySQL + Java - Manuel ContrerasMySQL + Java - Manuel Contreras
MySQL + Java - Manuel Contreras
 
MySQL June/2009 FDTI - Portuguese Version
MySQL June/2009 FDTI - Portuguese VersionMySQL June/2009 FDTI - Portuguese Version
MySQL June/2009 FDTI - Portuguese Version
 
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
 
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 sobreviverá à nuvem?
MySQL sobreviverá à nuvem?MySQL sobreviverá à nuvem?
MySQL sobreviverá à nuvem?
 
Uso estratégico do MySQL para empresas de TI: Novidades e Futuro
Uso estratégico do MySQL para empresas de TI: Novidades e FuturoUso estratégico do MySQL para empresas de TI: Novidades e Futuro
Uso estratégico do MySQL para empresas de TI: Novidades e Futuro
 
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
 
Apresentação MySQL Enterprise
Apresentação MySQL EnterpriseApresentação MySQL Enterprise
Apresentação MySQL Enterprise
 
Oracle Premier Support para MySQL
Oracle Premier Support para MySQLOracle Premier Support para MySQL
Oracle Premier Support para MySQL
 
MySQL Enterprise (outubro-2011)
MySQL Enterprise (outubro-2011)MySQL Enterprise (outubro-2011)
MySQL Enterprise (outubro-2011)
 
MySQL replicação e cluster - GUOB Tech Day 2011
MySQL replicação e cluster - GUOB Tech Day 2011MySQL replicação e cluster - GUOB Tech Day 2011
MySQL replicação e cluster - GUOB Tech Day 2011
 
MySQL e Big Data
MySQL e Big DataMySQL e Big Data
MySQL e Big Data
 
Realmente devo pensar na versão Enterprise do MySQL?
Realmente devo pensar na versão Enterprise do MySQL?Realmente devo pensar na versão Enterprise do MySQL?
Realmente devo pensar na versão Enterprise do MySQL?
 

Mais de 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
 
Novidades do MySQL para desenvolvedores ago15
Novidades do MySQL para desenvolvedores ago15Novidades do MySQL para desenvolvedores ago15
Novidades do MySQL para desenvolvedores ago15MySQL 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
 
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 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
 

Mais de 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
 
Novidades do MySQL para desenvolvedores ago15
Novidades do MySQL para desenvolvedores ago15Novidades do MySQL para desenvolvedores ago15
Novidades do MySQL para desenvolvedores ago15
 
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
 
Novidades do Universo MySQL julho-15
Novidades do Universo MySQL julho-15Novidades do Universo MySQL julho-15
Novidades do Universo MySQL julho-15
 
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 5.6 GA

  • 1. Novidades do MySQL 5.6 Airton Lastori airton.lastori@oracle.com 9-abr-2013 1 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 2. @MySQLBR facebook.com/MySQLBR MySQLBR meetup.com/MySQL-BR 2 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 3. Desafios do mercado demandam inovação tecnológica 2.2 BILHÕES DE USUÁRIOS Novas dimensões dos 630 MILHÕES DE WEBSITES problemas que o MySQL 40% CRESCIMENTO 1 BILHÃO DE DADOS POR ANO USUÁRIOS deve resolver 560 MILHÕES ATIVOS DIARIAMENTE 400 MILHÕES DE TWEETS 72 HORAS POR DIA UPLOAD A CADA MINUTO 5,9 BILHÕES ASSINATURAS $1 TRILHÃO MÓVEIS EM 2011 EM 2013 1,2+ BILHÃO APPS iOS & Android $700 BILHÕES JÁ AIXADOS EM 2012 EM 2011 3 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 4. Agenda  Estratégia Oracle para MySQL  O que há de novo no MySQL 5.6  O que podemos esperar em novas versões  Perguntas? 4 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 5. Agenda  Estratégia Oracle para MySQL  O que há de novo no MySQL 5.6  O que podemos esperar em novas versões  Perguntas? 5 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 6. Alguns clientes MySQL 6 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 7. Alguns clientes MySQL fonte: alexa.com/topsites 10-mai-2012 7 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 8. MySQL: casos de sucesso + de 20 indústrias mysql.com/customers 8 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 9. MySQL é estratégico para Oracle  Soluções Completas  #1 em todos os níveis da pilha  Na nuvem e On Premise  MySQL: Web, Mobile & Embedded  Investimentos na Engenharia do MySQL 9 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 10. Compromisso Oracle com MySQL Community Portfólio disponível para download e uso sob GPL  MySQL Database Community Server  MySQL Cluster  MySQL Workbench  MySQL Migration Wizard  MySQL Utilities em Python  MySQL Connectors  MySQL Proxy  Documentação não GPL  Forums, Lists, Bugs, Blogs… 10 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 11. MySQL Enterprise Edition Maior produtividade e mitigação de riscos Oracle Premier Lifetime Support MySQL Enterprise Oracle Product Security Certifications/Integrations MySQL Enterprise MySQL Enterprise Audit Monitor/Query Analyzer MySQL Enterprise MySQL Enterprise Scalability Backup MySQL Enterprise MySQL Workbench High Availability 11 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 12. mais de 170 regras + regras personalizadas mais de 80 gráficos + gráficos personalizados 12 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 13. Agenda  Estratégia Oracle para MySQL  O que há de novo no MySQL 5.6  O que podemos esperar em novas versões  Perguntas? 13 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 14. Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decision. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. 14 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 15. Arquitetura MySQL Database Suporte às mais conhecidas plataformas/linguagens de desenvolvimento Gerenciamento eficiente e multi- Parsing completo thread de sessões DML+DDL, otimizador, baseado em custo, caching de queries e resultados Várias opções de Storage Engine Opções flexíveis de para necessidades logging e específicas das armazenamento aplicações físico 15 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 16. Qual Storage Engine usar? MyISAM InnoDB NDB Cluster Transações ✖ ✔ ✔ Nível de Lock Tabela Linha Linha Assíncrona ou Assíncrona ou Replicação Síncrona, Multi-master Semi-síncrona Semi-síncrona Foreign Keys ✖ ✔ a partir da v7.3 Full-text indexes ✔ a partir da v5.6 ✖ Compressão de dados somente Leitura ✔ ✖ Caches somente Índices Dados e Índices Dados e Índices Suporte Geospacial Tipos de Dados e Índices somente Tipos de Dados somente Tipos de Dados Limite de armazenamento 256TB 64TB 384EB dev.mysql.com/doc/refman/5.5/en/storage-engines.html 16 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 17. Novidades MySQL 5.6 InnoDB 5 áreas de melhoria no novo MySQL Otimizador GA, pronto para uso em produção Replicação mysql.com/downloads/mysql Instrumentação Outras melhorias 17 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 18. Novidades MySQL 5.6 + Performance InnoDB + Escalabilidade + Flexibilidade, NoSQL Otimizador + Disponibilidade Replicação Instrumentação Outras melhorias 18 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 19. Evolução da escalabilidade do MySQL 2008 2009 2010 2013 Up to 4 CPU Up to 16 CPU Up to 32 CPU Up to 48 CPU MySQL 5.0 (Sun Micro) (Oracle) MySQL 5.6 MySQL 5.1 (InnoDB MySQL 5.5 Plugin) 19 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 20. Escalabilidade MySQL 5.6: InnoDB SysBench Benchmarks MySQL 5.6 Escritas+Leituras (Linux) 12.000 MySQL 5.6.7 Transações por Segundo 10.000 8.000 6.000 4.000 2.000 0 Oracle Linux 6 Intel(R) Xeon(R) E7540 x86_64 12 24 36 48 MySQL leveraging: CPU Threads - 48 of 96 available CPU threads - 2 GHz, 512GB RAM 48 CPU Threads 20 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 21. Escalabilidade MySQL 5.6: InnoDB SysBench Benchmarks MySQL 5.6 Leituras (Linux) 18.000 Transações por Segundo 16.000 MySQL 5.6.7 14.000 12.000 10.000 8.000 6.000 4.000 2.000 0 Oracle Linux 6 Intel(R) Xeon(R) E7540 x86_64 12 24 36 48 MySQL leveraging: CPU Threads - 48 of 96 available CPU threads - 2 GHz, 512GB RAM 48 CPU Threads 21 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 22. Performance MySQL 5.6: InnoDB SysBench Benchmarks MySQL 5.6 vs. 5.5 – Escritas+Leituras (Linux) 12.000 Transações por Segundo MySQL 5.6.7 10.000 8.000 6.000 4.000 MySQL 5.5.28 2.000 0 Oracle Linux 6 32 64 128 256 512 Intel(R) Xeon(R) E7540 x86_64 MySQL leveraging: Conexões - 48 of 96 available CPU threads - 2 GHz, 512GB RAM +151% Ganhos de Performance 24 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 23. Performance MySQL 5.6: InnoDB SysBench Benchmarks MySQL 5.6 vs. 5.5 - Leituras (Linux) 18.000 Transações por Segundo 16.000 MySQL 5.6.7 14.000 12.000 10.000 8.000 6.000 MySQL 5.5.28 4.000 2.000 0 Oracle Linux 6 32 64 128 256 512 Intel(R) Xeon(R) E7540 x86_64 MySQL leveraging: Conexões - 48 of 96 available CPU threads - 2 GHz, 512GB RAM +234% Ganhos de Performance 25 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 24. Performance MySQL 5.6: InnoDB Otimizações para LEITURAS  Aplicações com alta concorrência, leituras intensivas  Desenvolvedor pode controlar a sobrecarga transacional de Leituras SET autocommit = 1; SELECT c FROM sbtest WHERE id=N; default = Ligado SET autocommit = 0; START TRANSACTION READ ONLY; Modo LEITURA controlado SELECT c FROM sbtest WHERE id=N; pelo desenvolvedor COMMIT; 26 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 25. Performance MySQL 5.6: InnoDB Otimizações para SSD e melhorias internas  Otimizações para SSD  tamanhos de páginas de 4k e 8k  arquivos .ibd fora do data dir MySQL tablespaces separados para undo log  Várias melhorias internas ex. divisão do kernel mutex 27 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 26. Flexibilidade MySQL 5.6: InnoDB NoSQL com Memcached Acesso chave-valor ao InnoDB Via Memcached API Application Usa clients Memcached existentes Sem SQL parsing, ultra-rápido SQL NoSQL (MySQL Client) (Memcached Prot.) Acesso SQL e NotOnlySQL Operações chave-valor mas também mysqld queries SQL, JOINs, FKs, etc. MySQL Server Memcached plugin Memcached com Persistência InnoDB Storage Engine no InnoDB Método transparente para persistir os dados em memória volátil Memcached plug-in no mysqld , mapeado à API nativa do InnoDB http://dev.mysql.com/doc/refman/5.6/en/innodb-memcached.html Shared process para baixa latência 28 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 27. Flexibilidade MySQL 5.6: InnoDB Memcached é Schemaless Evolução rápida da aplicação: Novos tipos de dados adicionados constantemente Não requer tempo para estender o schema ou parada do servidor Não requer conhecimento de modelagem relacional Escalabilidade incremental 29 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 28. Flexibilidade MySQL 5.6: InnoDB Full Text Search create table frase_dia  Índices FULLTEXT nas tabelas InnoDB ( id int unsigned  Chaves em conteúdo baseado em texto auto_increment primary key  Acelera buscas por palavras e frases , autor varchar(64)  Buscas rápidas, totalmente transacionais , frase varchar(4000) , fonte varchar(64)  Modos de operação: linguagem natural ou , fulltext(frase) booleano, busca por proximidade, ranking ) engine=innodb; de relevância select autor as "Felizes" from frase_dia where match(frase) against (‘felicidade' in natural language mode); 30 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 29. Disponibilidade MySQL 5.6: InnoDB Operações DDL Online CREATE INDEX DROP INDEX Change AUTO_INCREMENT value for a column ADD/DROP FOREIGN KEY Rename COLUMN Change ROW FORMAT, KEY_BLOCK_SIZE for a table Change COLUMN NULL, NOT_NULL Add, drop, reorder COLUMN 31 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 30. Disponibilidade MySQL 5.6: InnoDB Transportable Tablespaces  Exportação/Importação entre instâncias MySQL que estão rodando  Mais rápido que mysqldump (via arquivos ibd portáveis) Export: CREATE TABLE t(c1 INT) engine=InnoDB; FLUSH TABLE t FOR EXPORT; -- cria arquivo meta dados consistente $innodb_data_home_dir/test/t.cfg UNLOCK TABLES; Import: CREATE TABLE t(c1 INT) engine=InnoDB; -- apenas se ainda não existe ALTER TABLE t DISCARD TABLESPACE; -- Parar os updates antes de importar ALTER TABLE t IMPORT TABLESPACE; 32 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 31. Disponibilidade MySQL 5.6: InnoDB Melhorias na inicialização e estabilização  Dump e restore: aquecimento do buffer pool - Durante o shutdown ou manualmente a qualquer momento - Encurta o tempo de estabilização de performance depois de uma reinicialização (de horas para minutos)  Estatísticas Persistentes do Otimizador - Aumento de estabilidade e consistência dos tempos de execução - Estatísticas mais precisas, melhor otimização - Melhor controle do usuário: automático ou manual 33 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 32. Novidades MySQL 5.6 + Performance InnoDB + Instrumentação Otimizador Replicação Instrumentação Outras melhorias 34 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 33. Otimizador do MySQL 5.6 Resolução de problemas com Subqueries SELECT title FROM film WHERE film_id IN (SELECT film_id FROM film_actor GROUP BY film_id HAVING count(*) > 12);  Sem necessidade de transformar em JOINs  Table pull-out  Semi-join  Subquery Materialization Tempo de execução baixou de DIAS para segundos Benchmark DBT3 Query #18 35 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 34. Otimizador do MySQL 5.6 Ordenação de arquivo com limites pequenos CREATE TABLE products( productid int auto_increment PRIMARY KEY, productname varchar(200)‫‏‬ ); SELECT * FROM products ORDER BY productname LIMIT 100;  Caso de uso: listar os 100 primeiros produtos ordenados por nome  Evita passos intermediários: criar arquivos ordenados, mais de um table scan  Testes numa tabela com 20 milhões de linhas, sort buffer default 4x mais rápido: caiu de 40s para 10s 36 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 35. Otimizador do MySQL 5.6 ICP: Index Condition Pushdown CREATE TABLE person ( personid INTEGER PRIMARY KEY, firstname CHAR(20), pe test lastname CHAR(20), postalcode INTEGER, SELECT lastname, firstname r age INTEGER, address CHAR(50), FROM person WHERE postalcode BETWEEN 5000 AND 5500 KEY k1 (postalcode,age)‫‏‬ AND age BETWEEN 21 AND 22; ) ENGINE=InnoDB;  ICP Desabilitado: 15 s (buffer pool 128 MB) e 1,4 s (buffer pool 1.5 GB) 90ms em ambos = melhoria de 15x a 170x em ambas configurações de buffer pool 37 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 36. Otimizador do MySQL 5.6 Postpone Materialization EXPLAIN SELECT * FROM (SELECT * FROM a_big_table); SELECT … FROM derived_table AS dt join table AS t WHERE dt.fld = t.dlf  Permite EXPLAINs mais rápidos para views/subqueries  Evita materialização quando possível, recuperação mais rápida  Uma chave pode ser gerada para tabelas derivadas 240x mais rápido: caiu de ~8min para ~2s 38 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 37. Otimizador do MySQL 5.6 Batched Key Access (BKA) and Multi-Range Read (MRR) Melhora performance de JOINs 5000 2821 1225 DBT3 Query 13: “Customer Distribution Query” Query Time (secs) 500 No BKA BKA 50 9.63 290x 5 0 8 16 24 32 40 48 56 64 mais rápido Join Buffer Size (MB) 39 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 38. Otimizador do MySQL 5.6 Melhor intrumentação para diagnósticos  EXPLAIN - INSERT, UPDATE e DELETE - Saída estruturada para EXPLAIN  Optimizer Traces SET SESSION OPTIMIZER_TRACE=‘enabled=on’; SELECT (SELECT 1 FROM t6 WHERE d = c) AS RESULT FROM t5; SELECT * FROM information_schema.OPTIMIZER_TRACE; 40 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 39. Novidades MySQL 5.6 + Performance InnoDB + Flexibilidade + Disponibilidade Otimizador Replicação Instrumentação Outras melhorias 41 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 40. Replicação MySQL Aplicação Escritas & Leituras Master Slave • Modelo assíncrono (padrão) • Modelo semi-síncrono (a partir da versão 5.5) 42 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 41. Replicação MySQL Aplicação Escritas & Leituras Leituras Master Slave • Divisão de leituras e escritas (R/W Split) • É possível adicionar mais slaves, dividir a carga 43 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 42. Performance da Replicação no MySQL 5.6 Multi-Threaded Slaves Performance Multi-Threaded Slave  Aumento do throughput do 300 slave Queries por Segundo 250 200  Implementa múltiplas SQL 150 threads no slave 100  Paralelismo ao aplicar eventos 50 em schemas diferentes 0 0 5 10 QPS 58,11 144,4 282,53  Excelente para multi-tentant, Worker Threads que isolam dados por schemas Sysbench: 10 x schemas Oracle Linux 6.1 Oracle Sun Fire x4150 m2 Server MySQL leveraging: 5x mais rápido - 48 of 96 available CPU threads - 2 GHz, 512GB RAM 44 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 43. Performance da Replicação no MySQL 5.6 Binary Log Group Commit Binary  Aumenta throughput no master Log  Commit de múltiplas transações T1 T2 em grupos no binlog Session T3 T4  Locking mais granular, reduzindo tempos de lock waits Group commit Master Database 45 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 44. Performance da Replicação no MySQL 5.6 Otimização do modo Row-Based Primary Key Colunas alteradas  Nova opção: binlog-row-image=minimal  Aumenta performance no master e slave - Reduz tamanho do Binlog, memória & banda de rede  Replica apenas elementos que foram alterados 46 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 45. Performance da Replicação no MySQL 5.6 Binary Log Group Commit: Binlog = 1 MySQL 5.6 vs. 5.5 – Escritas+Leituras (Linux) 9000 Transações por segundo 8000 MySQL 5.6.7 7000 6000 5000 4000 3000 MySQL 5.5.28 2000 1000 0 Oracle Linux 6 32 64 128 Intel(R) Xeon(R) E7540 x86_64 MySQL leveraging: Conexões - 48 of 96 available CPU threads - 2 GHz, 512GB RAM 180% mais rápido 47 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 46. Flexibilidade da Replicação no MySQL 5.6 GTID: Global Transaction IDs  Simples de rastrear e comparar quais eventos foram replicados nos slaves  Possibilidade de identificar Master (automaticamente) o slave GTID=123456 mais atualizado  Permite novas topologias de GTID=123456 múltiplas camadas GTID=123456 GTID=123456 48 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 47. Disponibilidade com Replicação no MySQL 5.6 Replication Event Checksums Master Slave  Garante que os dados replicados estão corretos, consistentes e acessíveis  Detecta eventos de replicação corrompidos antes deles serem aplicados # #  Proteção em todo caminho de replicação – Memória > Disco > Rede > OK/NOK 49 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 48. Disponibilidade com Replicação no MySQL 5.6 Crash Safe Slaves Antes: MySQL 5.6: – Transaction Data: in tables – Transaction Data: in tables – Replication Info: in files – Replication Info: in tables Atomic Data Atomic Data CRASH! Position Info Time Position Info Time  Recuperação automática de um Slave depois de uma falha  Re-estabelece canal de replicação sem intervenção do DBA  Elimina risco de perda ou corrupção de dados 50 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 49. Disponibilidade com Replicação no MySQL 5.6 Replication HA Utilities (Python)  Permite self-healing  Failover & recovery automatizado - mysqlfailover (Utilitário) Master Falhou Slave  Switchover & administração Promovido - mysqlrpladmin (Utilitário) para Master Monitoramento HA Utilities  Alta disponibilidade com MySQL core - Elimina necessidade de soluções de terceiros Slaves - Fácil de estender 51 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 50. Novidades MySQL 5.6 + Instrumentação InnoDB Otimizador Replicação Instrumentação Outras melhorias 52 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 51. Mais Instrumentação no MySQL 5.6 P_S: Performance Schema, baixa sobrecarga e ligado por padrão  Statements/Stages  Quais queries mais custosas? Quando elas gastam tempo?  Table/Index I/O, Table Locks  Quais tabelas/índices causam maior carga e/ou contenção?  Network I/O  Qual o comportamento de carga de rede? Quanto tempo as sessões ficam ociosas?  Users/Hosts/Accounts  Quais usuários/hosts/contas consomem mais recursos?  Summaries  Estatísticas agregadas, agrupadas por thread, user, host, account ou object 53 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 52. Novidades MySQL 5.6 + Segurança InnoDB + Facilidade de uso + Flexibilidade Otimizador …‫‏‬ Replicação Instrumentação Outras melhorias 54 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 53. Segurança no MySQL 5.6 Melhor controle de senhas  Alternativas para ocultar senhas em texto simples  Políticas de qualidade da senha  Troca de senha no próximo login  Hash de senha mais fortes 55 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 54. Outras melhorias no MySQL 5.6 Mais facilidade de uso e flexibilidade  Novas configurações padrão  TIME/TIMESTAMP/DATETIME – precisão de fração de segundo  TIMESTAMP/DATETIME – CURRENT_TIMESTAMP default /auto update  TIMESTAMP – agora nullable por padrão  Particionamento Melhorado – mais capacidade e performance, import/export, seleção explícita  GIS: operações espaciais precisas  E MAIS... dev.mysql.com/downloads/mysql 56 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 55. Resumo: novidades MySQL 5.6 • Performance: +234% para Leituras e +151% para Escritas, SSD • Escalabilidade: 48 cores InnoDB • Flexibilidade: Memcached API, Full Text • Disponibilidade: mudanças online no schema, export/import tablespaces • Performance: até centenas de vezes mais rápido em alguns cenários, Otimizador estatísticas persistentes • Instrumentação: EXPLAINS com traces e para UPDATES e DELETES • Performance: ganhos de 2x a 5x com paralelismo e group commit Replicação • Flexibilidade: novas topologias e rastreabilidade com GTIDs • Disponibilidade: automatização de failover e recovery Instrumentação • PERFORMANCE_SCHEMA mais completa • Segurança • Facilidade de uso Outras melhorias • Flexibilidade • ...E MAIS... 57 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 56. Agenda  Estratégia Oracle para MySQL  O que há de novo no MySQL 5.6  O que podemos esperar em novas versões  Perguntas? 58 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 57. Prioridades para novas versões do MySQL  Optimized for Web, Cloud-based, Embedded use cases  Simplified, Pluggable architecture - Maintainability, more extensible - More NoSQL options (HTTP, JSON, JavaScript, etc.)  Refactoring - Data Dictionary in InnoDB - Optimizer/Parser/Protocol  InnoDB - Optimized for mass use cases (read only, fast recovery), GIS  Easy HA, Replication and Sharding 59 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 58. Aprenda mais Downloads & Trials dev.mysql.com labs.mysql.com edelivery.oracle.com Documentação, Blogs & Fóruns dev.mysql.com/doc planet.mysql.com forums.mysql.com Artigos & Casos de Sucesso mysql.com/why-mysql/white-papers mysql.com/customers 60 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 59. Treinamentos e certificações MySQL DBA MySQLDeveloper Certificações MySQL Boot Camp MySQL Boot Camp Accelerated Accelerated MySQL Performance MySQL Performance Tuning Boot Camp Tuning Boot Camp Accelerated Accelerated MySQL for Begginers MySQL for Begginers MySQL for Database MySQL and PHP Administrators Developing Dynamic Web Applicationg MySQL Performance Tuning MySQL for Developers MySQL Advanced Stored MySQL High Availability Opcional Procedures Necessário MySQL Cluster education.oracle.com 61 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 60. Sumário  O crescimento do volume de dados na Web demandam mais dos bancos de dados nos dias de hoje.  A Oracle investe na engenharia do MySQL para atender estas novas demandas.  O MySQL 5.6 apresenta muitas melhorias de performance, disponibilidade e flexibilidade. GA, pronto para usar! 62 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 61. Agenda  Estratégia Oracle para MySQL  O que há de novo no MySQL 5.6  O que podemos esperar em novas versões  Perguntas? 63 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 62. Novidades do MySQL 5.6 rc Perguntas? 64 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 63. @MySQLBR facebook.com/MySQLBR Obrigado! meetup.com/MySQL-BR 65 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12