Novidades do Universo MySQL Maio 2014

1,216 views
1,098 views

Published on

Investimentos da Oracle no MySQL está elevando o nível do produto a um novo patamar. Baseada na apresentação do VP de Engenharia MySQL, Tomas Ulin, esta apresentação cobre as principais novidades do MySQL 5.7, MySQL Cluster 7.4, MySQL Fabric etc.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,216
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
23
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Novidades do Universo MySQL Maio 2014

  1. 1. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.1 Novidades do universo MySQL Maio 2014 Airton Lastori airton.lastori@oracle.com
  2. 2. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.2 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 decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
  3. 3. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.3 Tomas Ulin no Percona Live 2014  [video] youtube.com/watch?v=8stNlpJm_nA  [slides] mysql.com/why- mysql/presentations/raising-the- mysql-bar VP de Engenharia do MySQL na Oracle
  4. 4. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.4 Elevando o nível Novamente, um melhor MySQL para vocês
  5. 5. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.5 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.5 COMPONENTES da pilha MySQL: Aplicações Web da próxima geração On-Premises, na Nuvem, Aplicações Distribuídas
  6. 6. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.6 s
  7. 7. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.7 MySQL Enterprise Monitor 2.2 MySQL Cluster 7.1 MySQL Cluster Manager 1.0 MySQL Workbench 5.2 MySQL Database 5.5 MySQL Enterprise Backup 3.5 MySQL Enterprise Monitor 2.3 MySQL Cluster Manager 1.1 MySQL Enterprise Backup 3.7 All GA! Oracle VM Template for MySQL Oracle Products Certifications MySQL Windows Installer MySQL Enterprise Security MySQL Enterprise Scalability MySQL Cluster 7.2 MySQL Cluster Manager 1.3 MySQL Utilities 1.0.6 MySQL Workbench 6.0 All GA! MySQL Enterprise Backup 3.10 MySQL Enterprise Audit MySQL Windows Tools MySQL Database 5.6 MySQL Cluster 7.3 MySQL Workbench 6.1 MySQL Fabric 1.4 RC MySQL Database 5.7 DMR *Development Milestone Release All GA! Available Now! Breve histórico: 2010 - 2014
  8. 8. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.8 MySQL 5.6: GA há 15 meses •Performance: +234% para Leituras e +151% para Escritas, SSD •Escalabilidade: 48 cores •Flexibilidade: Memcached API, Full Text •Disponibilidade: mudanças online no schema, export/import tablespaces InnoDB •Performance: até centenas de vezes mais rápido em alguns cenários, estatísticas persistentes •Instrumentação: EXPLAINS com traces e para UPDATES e DELETES Otimizador •Performance: ganhos de 2x a 5x com paralelismo e group commit •Flexibilidade: novas topologias e rastreabilidade com GTIDs •Disponibilidade: automatização de failover e recovery Replicação •PERFORMANCE_SCHEMA mais completaInstrumentação •Segurança •Facilidade de uso •Flexibilidade •...E MAIS... Outras melhorias dev.mysql.com/tech-resources/articles/mysql-5.6-rc.html
  9. 9. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.9 Trabalho com a comunidade Ajudando a contruir um MySQL melhor bugs.mysql.com forums.mysql.com lists.mysql.com
  10. 10. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.10 @MySQLBR meetup.com/MySQL-BR facebook.com/MySQLBR MySQLBR
  11. 11. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.11 Bem-vindo, WebScaleSQL!  Branch do MySQL 5.6, com patches para uso em Escala Web  Investimentos de gigantes da Web para melhorar o MySQL  Ótima notícia para a comunidade e novos desenvolvedores  Ainda mais fácil a cooperação entre Oracle e as gigantes da Web Facebook, Google, LinkedIn & Twitter!
  12. 12. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.12 5.7 DMR 1 Abril 2013 DMR 2 Set 2013 DMR 3 Dez 2013 DMR 4 Novas funcionalidades labs.mysql.com Disponível Agora! ... 5.6 GA Fev 2013 Anunciado o MySQL 5.7 DMR 4
  13. 13. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.13 MySQL 5.7: DMR 4  InnoDB: melhor throughput transacional, disponibilidade, IO  Replication: melhor escalabilidade e disponibilidade  Utilities: facilidades para automação e DevOps  Performance Schema: melhores métricas e diagnósticos  Optimizer: melhores tempos nas queries, EXPLAINs, buffering e particionamento  Connections: taxas mais altas, sessões mais eficientes O MySQL 5.7 é o MySQL 5.6 + melhorias! Disponível agora! dev.mysql.com/downloads/mysql
  14. 14. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.14 Repositórios YUM para MySQL  Maneira simples e conveniente de instalar e atualizar produtos MySQL  Suporta as distribuições Enterprise Linux – RedHat Enterprise/Oracle Linux – Fedora – Em breve: Debian/Ubuntu  Inclui os pacotes mais atuais – MySQL Database – MySQL Workbench – MySQL Connector/ ODBC – MySQL Connector/Python – MySQL Utilities Benefícios para Usuários Finais e Distribuições Linux Também disponível via NuGet para desenvolvedores .NET Mais de 50% dos downloads para Fedora/RedHat já são feitos do repositório nuget.org/profiles/MySQL www.alastori.com.br/2014/05/tutorial-de- instalacao-do-mysql-56-e.html
  15. 15. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.15 MySQL 5.7 Sysbench Benchmark Sysbench Point Select Intel(R) Xeon(R) CPU X7560 x86_64 5 sockets x 8 cores-HT (80 CPU threads) 2.27GHz, 256G RAM Oracle Linux 6.5 2X mais rápido que o MySQL 5.6 Mais de 3X mais rápido que o MySQL 5.5 630,000 QPS
  16. 16. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.16 MySQL 5.7: InnoDB Memcached Contribuição do Facebook Intel(R) Xeon(R) CPU X7560 x86_64 8 sockets x 6 cores-HT (96 CPU threads) 2000Mhz, 256G RAM Oracle Linux 6.2 6x mais rápido que o MySQL 5.6 1,150,000 QPS 0 200000 400000 600000 800000 1000000 1200000 1400000 8 16 32 64 128 256 512 1024 QueriesperSecond Concurrent User Sessions 5.7.3 5.6
  17. 17. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.17 MySQL 5.7: Optimizer  Problema: Uma query em uma sessão está rodando há um longo tempo  Nova opção: EXPLAIN FOR CONNECTION de outra sessão – Descubra a causa-raíz do atraso – Otimize a query EXPLAIN de queries em execução EXPLAIN [FORMAT=(JSON|TRADITIONAL)] FOR CONNECTION <id>;
  18. 18. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.18 MySQL 5.7: Optimizer "query_block": { "select_id": 1, "cost_info": { "query_cost": "1.00" }, "table": { "table_name": "actor", "access_type": "const", "possible_keys": [ "PRIMARY" ], "key": "PRIMARY", "used_key_parts": [ "actor_id" ], "key_length": "2", "ref": [ "const" ], "rows_examined_per_scan": 1, "rows_produced_per_join": 1, "filtered": 100, "cost_info": { "read_cost": "0.00", "eval_cost": "0.20", "prefix_cost": "0.00", "data_read_per_join": "280" }, "used_columns": [ "actor_id", "first_name", "last_name", "last_update" ] } }  JSON EXPLAIN Expandido – Agora inclui toda informação de custo – Usado no Visual Explain do Workbench 6.1
  19. 19. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.19 MySQL 5.7: Modelo de Custo do Optimizer  Nova API para modelo de custo  Permite que Storage Engines forneçam estimativas de custo mais precisas e dinâmicas para key lookups, table & range scans, etc. ‒ Permitirá suporte a fatores adicionais, considerando ondo o dado está (RAM, SSD ou HDD)  Trabalho de base para fazer custos configuráveis e adaptáveis ‒ Baseado nas características e performance do seu hardware  Melhora granularidade das estimativas (per key)  Valores de custo acessíveis via JSON Explain
  20. 20. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.20 MySQL 5.7: Refactoring no Parser  Melhora confiabilidade, manutenção e estabilidade – Separa claramente os papéis de parsing, otimização e execução – Permite adição de funcionalidades mais facilmente, com menor risco  Transforma o SQL Parser em num verdadeiro bottom-up parser – Melhor suporte para regras de sintaxe maiores – Menos nós intermediários na árvore de parse  Menor alocação  Gramática mais rápida labs.mysql.com
  21. 21. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.21 MySQL 5.7: InnoDB  Online Alter Table melhorado – Renomear índice online, mudar varchar  Melhor integração com FusionIO – Quando DirectFS for detectado, Doublewrite buffer desabilitado automaticamente – “Dirty Page” Flushing paralelizado – Maior throughput, performance e escalabilidade  Partições – suporte ao recurso Transportable Tablespaces (TTS) – TTS para partições individuais Diversas Melhorias
  22. 22. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.22 MySQL 5.7: InnoDB Compression  Compressão transparente no nível de página – Ocorre transparentemente nas threads em background – Gerenciado completamente na camada de IO – Usa arquivos esparsos e "hole punching" nos kernels dos SOs e File Systems  Reduz IO – Melhora performance – Reduz ciclos de escrita, aumentando tempo de vida do SSD  Aplicável a todas tabelas, includindo system tablespace e UNDO logs Parceria com Fusion-IO labs.mysql.com
  23. 23. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.23 MySQL 5.7: InnoDB Temp Tables  Novo tablespace dedicado e separado para temporary tables – Melhor performance para CREATE/DROP  Mudanças DDL são transientes – Elimina algumas operações de IO no disco  Otimiza operações DML – Sem REDO logging, sem change buffering, menor locking
  24. 24. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.24 MySQL 5.7: Server-side Statement Timeouts  Server Side statement timeouts – Global para o server, por sessão, ou individual por SELECT  Baseado na contribuição do Davi Arnaut – Expandido para Windows and Solaris, removida opção USER Contribuição do Davi Arnaut, nosso colega brasileiro no LinkedIn SELECT MAX_STATEMENT_TIME = 109 * FROM my_table;
  25. 25. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.25 MySQL 5.7: MDL locking melhorado  Remove gargalos em DML acessando uma única tabela – 10% maior throughput em OLTP_RO/POINT_SELECT (com mais cores) – Otimizado para cargas de dados com DMLs pesados  Implementado fast-path para DML locks  Implementado lock-free DML lock acquisition  Implementados hash lock-free – Agora usa biblioteca MurmurHash
  26. 26. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.26 MySQL 5.7: Segurança  Criptografia AES 256 – Default no MySQL 5.7  Políticas de Expiração de Senhas – Podem ser definidas globalmente e no nível do usuário  Deployment: Permite instalação silenciosa segura – Senha aleatória gerada na instalação – Remove contas anônimas – Deployment sem contas ou esquemas de teste e arquivos de exemplo
  27. 27. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.27 MySQL GIS  InnoDB Spatial Index – Suporte a índices R-tree otimizados  Integração com Boost.Geometry – Melhor precisão – Suporte a tipos e funções adicionais – Performance melhorada – Open Geospatial Consortium compliance – Colaboração com melhorias no Boost.Geometry labs.mysql.com
  28. 28. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.28 MySQL 5.7: Performance Schema  Instrumentação ampliada de statements – Stored Procedures e Stored Functions – Prepared Statements – Transações Instrumentação de Statements  Instrumentos para Memória – Adicionados mais de 200 Memory Types  Agregação de estatísticas – Tipo de memória (cache, interna buffer, …) – Thread/usuário/host gerando operações indiretas na memória  Atributos incluem – Memória usada (bytes), Operações (counts), máximo/mínimo histórico Uso da Memória  Métricas e instrumentações adicionais – Status dos Slaves – MDL lock Outros Dados adicionais
  29. 29. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.29 MySQL SYS Schema  Ajuda a simplificar tarefas do DBA – Monitora a saúde, taxas de crescimento entre outras métricas chave – Encontre problemas de performance, faça o diagnóstico e aplique o tuning  Mostra informações fáceis de entender acerca de: – Regiões quentes de IO – SQL statements mais custosos – Tabelas, índices e estatísticas – Análise de wait time – Locking – Estatísticas do InnoDB Views simplificadas na Performance Schema & Information Schema
  30. 30. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.30 MySQL SYS Schema  Desenvolvimento guiado pelo feedback positivo no ps_helper – Mais de 80 views, versionadas, auto-atualizáveis e de acordo com a versão do server – Suporta MySQL 5.5, 5.6, and 5.7  SYS é similar a: – Oracle V$ catalog views – Microsoft SQL Server DMVs (Dynamic Management Views) – IBM DB2 SYSIBM catalog  Disponível no Workbench 6.1 ou via GitHub – Workbench inclui “one click” reports
  31. 31. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.31 MySQL Workbench 6.1  Performance Dashboard – Veja a performance do servidor com estatísticas e gráficos em tempo real – “SYS” Schema: Performance Schema Reports  Visual Explain 2.0 – Nova saída gráfica melhorada, com layout mais simples e limpo  Suporte ao Enterprise Backup melhorado – Configuração automática para backups já existentes – Gerenciamento melhorado para contas de backup novas e já existentes
  32. 32. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.32 MySQL Workbench 6.1 Dashboards: Performance & Status Analyze hotspots, costly SQL statements, wait times, locks, InnoDB stats, and more Network, Server, InnoDB
  33. 33. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.33 MySQL 5.7.4: Replication  Maior throughput – Slave: aplica transações em paralelo, mesmo pertencentes ao mesmo database/schema – Master: melhor sincronização entre sessões dos usuários de replicaçãobetter synchronization between replication-user sessions  DMR4 melhora performance no master para Semi-synchronous Replication  Replicação sem perda com Semi-sync  Diagnóstico e monitoramento dos slaves via Performance Schema  Filtros dinâmicos de replicação: mude filtros sem reiniciar o servidor Melhor Performance, Usabilidade e Disponibilidade
  34. 34. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.34 Multi-Source Replication  Consolida updates de múltiplos Masters em um Slave – Visão consolidada – Novas topologias – Ponto centralizado de backup – Relatórios mais fáceis  Compatível com Semi-Synchronous Replication & Multi-Thread Slaves  Master-specific slave filters  Aplicação continua responsável por manter data sets não-conflitantes entre as diversas fontes Binlog Master 1 Binlog Master 2 … … Binlog Master N IO 1 Relay 1 Coordinator W1 W2 … WX IO 2 Relay 2 Coordinator W1 W2 … WX … … Coordinator W1 W2 … WX IO N Relay N Coordinator W1 W2 … WX Slave labs.mysql.com
  35. 35. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.35 MySQL Multi-Threaded Slave  A evolução… – 2010: Inter-schema MTS (labs) – 2013: Inter-schema MTS (5.6 GA) – 2013: Intra-schema MTS (5.7.2 DMR) – Hoje: tamanho configurável de group commit buckets – balanço de latência de commits no master (labs)  Ganho de 6X throughput no slave Slave no mesmo passo que o Master labs.mysql.com 0 500 1000 1500 2000 2500 3000 3500 4000 4500 0 4 8 12 16 22 24 28 32 36 40 44 48 Transaconspersecond Slave Worker Threads Slave Throughput Larger BGC bucket No Master Impact Baseline
  36. 36. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.36 MySQL Utilities 1.4 RC  Automatiza tarefas comuns de DevOps – Replication: provisionamento, teste, monitoramento e failover – Comparação de Databases: verificação de consistência – Manutenção: users, connections, tables – Auditoria  Scripts em Python – Pacote standalone ou via MySQL Workbench – Extensíveis para incluir scripts customizados (usa Python library)  Novo: Round-Robin Multi-Source Replication & slave synchronization check Útil para DevOps e gerenciamento automatizado do MySQL
  37. 37. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.37 MySQL Fabric 1.4 RC (MySQL Utilities 1.4.2)  Alta disponibilidade: – Monitoramento do Server com failover automático e transparente para aplicação  Conectores devem ser “Fabric-aware”: – Java, PHP, Python  Sem Proxy, sem latencia extra e SPoF  Escalabilidade de escrita com sharding: – Aplicação define a shard key (Range ou Hash) – Ferramentas para re-sharding – Tabelas globais & global updates Alta-disponibilidade + escalabilidade de escrita com sharding MySQL Fabric Connector Application Read-slaves SQL Master group Read-slaves Master group
  38. 38. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.38 MySQL Cluster 7.4  Ganho de Performance sobre v7.3 – 47% (Read-Only) – 38% (Read-Write) Melhor performance e simplicidade operacional labs.mysql.com  Restarts mais rápidos dos nós – Recovering nodes rejoin the cluster faster
  39. 39. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.39 Soluções de HA homologadas pela Oracle MySQL Replication MySQL Fabric Oracle VM Template Solaris Cluster Windows Cluster DRBD MySQL Cluster Clustering Mode Master + Slaves Master + Slaves Active/Pass ive Active/Pass ive Active/Passi ve Active/Pa ssive Multi- Master App Auto-Failover ✖ ✔ ✔ ✔ ✔ ✔ ✔ Data Layer Auto-Failover ✖ ✔ ✔ ✔ ✔ ✔ ✔ Zero Data Loss MySQL 5.7 ✔ ✔ ✔ ✔ ✔ ✔ Failover Time N/A Secs Secs + Secs + Secs + Secs + < 1 Sec Scale-out Reads ✔ ✖ ✖ ✖ ✖ ✔ Cross-shard operations N/A ✖ N/A N/A N/A N/A ✔ Transparent routing ✖ For HA ✔ ✔ ✔ ✔ ✔ Shared Nothing ✔ ✔ ✖ ✖ ✖ ✔ ✔ Storage Engine InnoDB InnoDB InnoDB InnoDB InnoDB InnoDB NDB Single Vendor Support ✔ ✔ ✔ ✔ ✖ ✔ ✔ Platform Support All All Linux Solaris Windows Linux All
  40. 40. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.40 MySQL Enterprise Backup 3.10  Novas opções de compressão  Mais seguro: Advanced Encryption Standard (AES) – Compressão e/ou aplicação de seguranção em 1 único passo  Sem área de staging para backup e restore – No 3.9 completo e incrementas – No 3.10 melhorado para nível de tabelas  Novas filtragens para backups parciais Velocidade, compressão, flexibilidade, eficiência e segurança
  41. 41. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.41 Sumário  A Oracle aumenta o nível do MySQL entregando para a comunidade com mais velocidade e qualidade: – GA: MySQL Cluster 7.3, MySQL Workbench 6.1, MySQL Utilities, MySQL Connectors e muito mais! – DMRs & Labs: MySQL 5.7, MySQL Fabric, Multi-source Replication, Hadoop Applier for MySQL, GIS, MySQL Cluster 7.4...  A Oracle investe no MySQL como solução para Aplicações Web, Cloud e Big Data (distribuídas) da próxima geração  Teste as novidades e nos dê Feedback!
  42. 42. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.42

×