Top Banner
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 1 Novidades do universo MySQL Maio 2014 Airton Lastori [email protected]
42

Novidades do Universo MySQL Maio 2014

May 24, 2015

Download

Technology

MySQL Brasil

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.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Novidades do Universo MySQL Maio 2014

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 1

Novidades do universo MySQL

Maio 2014

Airton Lastori [email protected]

Page 2: Novidades do Universo MySQL Maio 2014

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.

Page 4: Novidades do Universo MySQL Maio 2014

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 4

Elevando o nível Novamente, um melhor MySQL para vocês

Page 5: Novidades do Universo MySQL Maio 2014

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

Page 6: Novidades do Universo MySQL Maio 2014

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 6

s

Page 7: Novidades do Universo MySQL Maio 2014

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

Page 8: Novidades do Universo MySQL Maio 2014

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 completa Instrumentação

•Segurança

•Facilidade de uso

•Flexibilidade

• ...E MAIS...

Outras melhorias

dev.mysql.com/tech-resources/articles/mysql-5.6-rc.html

Page 9: Novidades do Universo MySQL Maio 2014

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

Page 10: Novidades do Universo MySQL Maio 2014

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 10

@MySQLBR

meetup.com/MySQL-BR

facebook.com/MySQLBR

MySQLBR

Page 11: Novidades do Universo MySQL Maio 2014

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!

Page 12: Novidades do Universo MySQL Maio 2014

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

Page 13: Novidades do Universo MySQL Maio 2014

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

Page 14: Novidades do Universo MySQL Maio 2014

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

Page 15: Novidades do Universo MySQL Maio 2014

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

Page 16: Novidades do Universo MySQL Maio 2014

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

Qu

eri

es p

er

Seco

nd

Concurrent User Sessions

5.7.3

5.6

Page 17: Novidades do Universo MySQL Maio 2014

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

Page 18: Novidades do Universo MySQL Maio 2014

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

Page 19: Novidades do Universo MySQL Maio 2014

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

Page 20: Novidades do Universo MySQL Maio 2014

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

Page 21: Novidades do Universo MySQL Maio 2014

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

Page 22: Novidades do Universo MySQL Maio 2014

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

Page 23: Novidades do Universo MySQL Maio 2014

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

Page 24: Novidades do Universo MySQL Maio 2014

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;

Page 25: Novidades do Universo MySQL Maio 2014

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

Page 26: Novidades do Universo MySQL Maio 2014

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

Page 27: Novidades do Universo MySQL Maio 2014

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

Page 28: Novidades do Universo MySQL Maio 2014

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

Page 29: Novidades do Universo MySQL Maio 2014

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

Page 30: Novidades do Universo MySQL Maio 2014

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

Page 31: Novidades do Universo MySQL Maio 2014

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

Page 32: Novidades do Universo MySQL Maio 2014

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

Page 33: Novidades do Universo MySQL Maio 2014

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

Page 34: Novidades do Universo MySQL Maio 2014

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

Page 35: Novidades do Universo MySQL Maio 2014

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

SlaveWorkerThreads

SlaveThroughput

LargerBGCbucket

NoMasterImpact

Baseline

Page 36: Novidades do Universo MySQL Maio 2014

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

Page 37: Novidades do Universo MySQL Maio 2014

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

Page 38: Novidades do Universo MySQL Maio 2014

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

Page 39: Novidades do Universo MySQL Maio 2014

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

Page 40: Novidades do Universo MySQL Maio 2014

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

Page 41: Novidades do Universo MySQL Maio 2014

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!

Page 42: Novidades do Universo MySQL Maio 2014

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 42