Novidades do MySQL 5.6 rcAirton Lastoriairton.lastori@oracle.com19-out-20121   Copyright © 2012, Oracle and/or its affilia...
@MySQLBR                                                            facebook.com/MySQLBR                                  ...
Desafios do mercado         demandam inovação tecnológica                                                              2.2...
Agenda         Estratégia Oracle para MySQL         O que há de novo no MySQL 5.6         O que podemos esperar em nova...
Agenda         Estratégia Oracle para MySQL         O que há de novo no MySQL 5.6         O que podemos esperar em nova...
Alguns clientes MySQL6   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Information Protect...
Alguns clientes MySQL                                                                  fonte: alexa.com/topsites 10-mai-20...
MySQL: casos de sucesso                                                                                                   ...
MySQL é estratégico para Oracle        Soluções Completas        #1 em todos os níveis da pilha        Na nuvem e On Pr...
Compromisso Oracle com MySQL Community       Portfólio disponível para download e uso sob GPL                             ...
MySQL Enterprise Edition       Maior produtividade e mitigação de riscos                                                  ...
Agenda          Estratégia Oracle para MySQL          O que há de novo no MySQL 5.6          O que podemos esperar em n...
Safe Harbor Statement         The following is intended to outline our general product direction. It is         intended f...
Arquitetura MySQL Database            Suporte às mais            conhecidas            plataformas/linguagens            d...
Novidades MySQL 5.6                                                     InnoDB                                            ...
Novidades MySQL 5.6                                                                                                       ...
Performance MySQL 5.6: InnoDB                              SysBench Benchmarks                                       MySQL...
Performance MySQL 5.6: InnoDB                             SysBench Benchmarks                                             ...
Performance MySQL 5.6: InnoDB       Otimizações para LEITURAS      Aplicações com alta concorrência, leituras intensivas ...
Performance MySQL 5.6: InnoDB       Otimizações para SSD e melhorias internas       Otimizações para SSD           taman...
Escalabilidade MySQL 5.6: InnoDB                         SysBench Benchmarks                                         MySQL...
Escalabilidade MySQL 5.6: InnoDB                        SysBench Benchmarks                                               ...
Flexibilidade MySQL 5.6: InnoDB          NoSQL com Memcached                                                              ...
Flexibilidade MySQL 5.6: InnoDB         Memcached é Schemaless                                                            ...
Flexibilidade MySQL 5.6: InnoDB         Full Text Search        create table frase_dia                                    ...
Disponibilidade MySQL 5.6: InnoDB         Operações DDL Online         CREATE INDEX         DROP INDEX         Change AUTO...
Disponibilidade MySQL 5.6: InnoDB         Transportable Tablespaces      Exportação/Importação entre instâncias MySQL que...
Disponibilidade MySQL 5.6: InnoDB         Melhorias na inicialização e estabilização      Dump e restore: aquecimento do ...
Novidades MySQL 5.6                                                                                                       ...
Otimizador do MySQL 5.6         Resolução de problemas com Subqueries             SELECT title FROM film WHERE film_id IN ...
Otimizador do MySQL 5.6         Ordenação de arquivo com limites pequenos             CREATE TABLE products(              ...
Otimizador do MySQL 5.6          ICP: Index Condition Pushdown CREATE TABLE person (     personid INTEGER PRIMARY KEY,    ...
Otimizador do MySQL 5.6         Postpone Materialization            EXPLAIN SELECT * FROM (SELECT * FROM a_big_table);    ...
Otimizador do MySQL 5.6                 Batched Key Access (BKA) and Multi-Range Read (MRR)                     Melhora pe...
Otimizador do MySQL 5.6         Melhor intrumentação para diagnósticos          EXPLAIN             - INSERT, UPDATE e DE...
Novidades MySQL 5.6                                                                                                       ...
Replicação MySQL                                                                                               Aplicação  ...
Replicação MySQL                                                                                               Aplicação  ...
Performance da Replicação no MySQL 5.6                           Multi-Threaded Slaves                                    ...
Performance da Replicação no MySQL 5.6         Binary Log Group Commit                                                    ...
Performance da Replicação no MySQL 5.6         Otimização do modo Row-Based                                  Primary Key  ...
Performance da Replicação no MySQL 5.6                              Binary Log Group Commit: Binlog = 1                   ...
Flexibilidade da Replicação no MySQL 5.6         GTID: Global Transaction IDs                                             ...
Disponibilidade com Replicação no MySQL 5.6         Replication Event Checksums         Master                            ...
Disponibilidade com Replicação no MySQL 5.6         Crash Safe Slaves         Antes:                                      ...
Disponibilidade com Replicação no MySQL 5.6         Replication HA Utilities (Python)                                     ...
Novidades MySQL 5.6                                                                                                       ...
Mais Instrumentação no MySQL 5.6         P_S: Performance Schema, baixa sobrecarga e ligado por padrão          Statement...
Novidades MySQL 5.6                                                                                                       ...
Segurança no MySQL 5.6         Melhor controle de senhas                                                                  ...
Outras melhorias no MySQL 5.6         Mais facilidade de uso e flexibilidade          Novas configurações padrão         ...
Resumo: novidades MySQL 5.6                                                                                               ...
Agenda          Estratégia Oracle para MySQL          O que há de novo no MySQL 5.6          O que podemos esperar em n...
Prioridades para novas versões do MySQL          Optimized for Web, Cloud-based, Embedded use cases          Simplified,...
Aprenda mais                                                                                             Downloads & Trial...
Treinamentos e certificações                   MySQL DBA                                                  MySQLDeveloper  ...
Sumário          O crescimento do volume de dados na Web demandam                    mais dos bancos de dados nos dias de...
Agenda          Estratégia Oracle para MySQL          O que há de novo no MySQL 5.6          O que podemos esperar em n...
Novidades do MySQL 5.6 rcPerguntas?60   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.   Insert Info...
@MySQLBR                                                            facebook.com/MySQLBR                                  ...
Upcoming SlideShare
Loading in...5
×

Novidades do MySQL 5.6 (Release Candidate)

3,208

Published on

Conheça as novidades presentes no MySQL 5.6, tais como: melhorias de performance, nova replicação de dados, melhor instrumentação para diagnósticos, interface NoSQL via Memcached API entre outras.

Published in: Technology
6 Comments
5 Likes
Statistics
Notes
  • Entendi, o recurso ficou mais padronizado e estável para atender várias plataformas.

    Muito obrigado pelo retorno!
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • @mathiasbrem Obrigado pelos comentários e por postar a sugestão de melhoria no bugs.mysql.com. Este é o caminho oficial para sugerir melhorias no produto.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • @mathiasbrem O recurso Transportable Tablespaces foi pensado inicialmente para atender o seguinte cenário: máquina 1 possui tabelas InnoDB e quero copiá-las para a máquina 2 de maneira rápida, copiando fisicamente os arquivos de dados (.ibd), sem necessidade de reconstruir índices. Nas versões anteriores, a opção mais segura era usar o mysqldump e reconstruir a tabela do zero ou usar uma ferramenta como o Enterprise Backup. Em alguns casos bem específicos você conseguiria fazer a cópia dos arquivos ibdata, porém não seria uma operação segura e não funcionaria para todos os cenários. Aqui estão listadas as limitações: https://blogs.oracle.com/mysqlinnodb/entry/innodb_transportable_tablespaceshttps://blogs.oracle.com/mysqlinnodb/entry/innodb_transportable_tablespaces
    . Na versão 5.6 o procedimento de copiar os arquivos .ibd é seguro, bastando executar na máquina 1 o comando FLUSH TABLES ... FOR EXPORT, copiar os arquivos .ibd e .cfg para a máquina 2 e na máquina 2 executar ALTER TABLE ... IMPORT TABLESPACE. Se você quiser copiar mais de uma tabela pode usar o comando FLUSH TABLES tbl_1, tbl_2, tbl_3 ... FOR EXPORT. A sintaxe completa está aqui http://dev.mysql.com/doc/refman/5.6/en/flush.html . Para fazer um backup integro de um BD InnoDB sem lock nas tabelas (hot backup) a melhor opção é usar uma ferramenta como o Enterprise Backup. Outro cenário que este recurso será útil é na recuperação de bases corrompidas, como comentado aqui http://www.chriscalender.com/?p=1078 .
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • BUGS MYSQL
    http://bugs.mysql.com/bug.php?id=68039&thanks=2&notify=3
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • É realizado lock na tabela, e só é possivel realizar em uma tabela por vez

    Já fiz um teste que responde as duas primeiras perguntas, gostaria apenas de saber se algum dia haverá os recursos que comentei na 3 pergunta. Obrigado:
    mysql> flush table Usuario for export;
    Query OK, 0 rows affected (0.00 sec)
    mysql> update Usuario set senhaUsuario='b451d22e1bcdAAAAAAAA95e373bbf7a' where idUsuario=4;
    ERROR 1099 (HY000): Table 'Usuario' was locked with a READ lock and can't be updated

    mysql> flush table Consumidor for export;
    ERROR 1192 (HY000): Can't execute the given command because you have active locked tables or an active transaction
    mysql>
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
3,208
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
43
Comments
6
Likes
5
Embeds 0
No embeds

No notes for slide

Novidades do MySQL 5.6 (Release Candidate)

  1. 1. Novidades do MySQL 5.6 rcAirton Lastoriairton.lastori@oracle.com19-out-20121 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  2. 2. @MySQLBR facebook.com/MySQLBR MySQLBR meetup.com/MySQL-BR2 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  3. 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 MySQL40% CRESCIMENTO 1 BILHÃODE 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. 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. 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. 6. Alguns clientes MySQL6 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  7. 7. Alguns clientes MySQL fonte: alexa.com/topsites 10-mai-20127 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  8. 8. MySQL: casos de sucesso + de 20 indústrias mysql.com/customers8 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  9. 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 MySQL9 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  10. 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. 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 Availability11 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  12. 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?12 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  13. 13. 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.13 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  14. 14. 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ísico14 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  15. 15. Novidades MySQL 5.6 InnoDB 5 áreas de melhoria no novo MySQL Otimizador Release Candidate, download disponível Replicação dev.mysql.com/downloads/mysql Instrumentação bugs.mysql.com Outras melhorias16 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  16. 16. Novidades MySQL 5.6 + Performance InnoDB + Escalabilidade + Flexibilidade, NoSQL Otimizador + Disponibilidade Replicação Instrumentação Outras melhorias17 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  17. 17. 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 Performance18 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  18. 18. Performance MySQL 5.6: InnoDB SysBench Benchmarks MySQL 5.6 vs. 5.5 - Leituras (Linux) 18.000Transaçõ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 Performance19 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  19. 19. 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;20 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  20. 20. 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 mutex21 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  21. 21. 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 Threads22 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  22. 22. 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 Threads23 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  23. 23. 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 InnoDBhttp://dev.mysql.com/doc/refman/5.6/en/innodb-memcached.html Shared process para baixa latência 24 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  24. 24. 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 incremental25 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  25. 25. 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);26 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  26. 26. 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 COLUMN27 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  27. 27. 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;28 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  28. 28. 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 manual29 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  29. 29. Novidades MySQL 5.6 + Performance InnoDB + Instrumentação Otimizador Replicação Instrumentação Outras melhorias30 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  30. 30. 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 #1831 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  31. 31. 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 10s32 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  32. 32. 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 33 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  33. 33. 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 ~2s34 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  34. 34. 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)35 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  35. 35. 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;36 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  36. 36. Novidades MySQL 5.6 + Performance InnoDB + Flexibilidade + Disponibilidade Otimizador Replicação Instrumentação Outras melhorias37 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  37. 37. 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)38 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  38. 38. 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 carga39 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  39. 39. 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 RAM40 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  40. 40. 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 Database41 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  41. 41. 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 alterados42 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  42. 42. 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ápido43 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  43. 43. 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=12345644 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  44. 44. 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/NOK45 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  45. 45. 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 dados46 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  46. 46. 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 estender47 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  47. 47. Novidades MySQL 5.6 + Instrumentação InnoDB Otimizador Replicação Instrumentação Outras melhorias48 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  48. 48. 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 rege? 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 object49 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  49. 49. Novidades MySQL 5.6 + Segurança InnoDB + Facilidade de uso + Flexibilidade Otimizador …‫‏‬ Replicação Instrumentação Outras melhorias50 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  50. 50. Segurança no MySQL 5.6 Melhor controle de senhas  Alternativas para ocultar senhas em texto simples  Políticas de qualidade da senha  Traca de senha no próximo login  Hash de senha mais fortes51 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  51. 51. 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/mysql52 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  52. 52. 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...53 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  53. 53. Agenda  Estratégia Oracle para MySQL  O que há de novo no MySQL 5.6  O que podemos esperar em novas versões  Perguntas?54 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  54. 54. 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 Sharding55 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  55. 55. 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/customers56 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  56. 56. 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.com57 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  57. 57. 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 rc apresenta muitas melhorias de performance, disponibilidade e flexibilidade. Baixe e teste!58 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  58. 58. Agenda  Estratégia Oracle para MySQL  O que há de novo no MySQL 5.6  O que podemos esperar em novas versões  Perguntas?59 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  59. 59. Novidades do MySQL 5.6 rcPerguntas?60 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  60. 60. @MySQLBR facebook.com/MySQLBR Obrigado! meetup.com/MySQL-BR61 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×