mysql alta performance & alta disponibilidade

64
Marcos Trujillo [email protected] Airton Lastori [email protected] ago-2011 MySQL Alta Performance & Alta Disponibilidade

Upload: mysql-brasil

Post on 18-Dec-2014

4.644 views

Category:

Technology


6 download

DESCRIPTION

Happy hour MySQL - MySQL Alta Performance & Alta Disponibilidade

TRANSCRIPT

<Insert Picture Here>

Marcos [email protected]

Airton [email protected]

ago-2011

MySQLAlta Performance &

Alta Disponibilidade

The preceding 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.

Time MySQL Brasil

Marcos Trujillo

Airton Lastori

Marcelo Telles

Ana Guiselini

Estratégia Oracle: Completa. Aberta. Integrada.

• Construído em conjunto

• Testado em conjunto

• Gerido em conjunto

• Manutenção em conjunto

• Baseada em padrões abertos

• Menor custo

• Menor risco

• Mais confiável

MySQL está Potencializando a Web

SaaS, Hosting

Web OEM / ISV’s

Telecommunications

Clientes MySQL com Sucesso

Enterprise 2.0

Foco MySQL – Áreas

Investimento Oracle no MySQLInovação Acelerada

Fazer o MySQL um Melhor MySQL• #1 BD Open Source para Web Applications

• LAMP Stack mais completo do mercado

• Telecom, Embedded & Windows

Desenvolver, Promover e Suportar o MySQL• Melhorias na Engenharia, Suporte e Consultoria

• Suporte Oracle 24x7 de alto-nível

MySQL Community Edition • Releases do código-fonte e binários

• GPL

MySQL Últimas Notícias

Database of the

Year MySQL

2010 LinuxQuestions.org

Members Choice Award Winners

53% MySQL

28% Ingress

9% EnterpriseDB

alta performance &

alta disponibilidade

dúvida comum:

...e quando minha aplicação

crescer, o MySQL vai suportar?

Alguns clientes

fonte: alexa.com/topsites 17-ago-2011

Top websites

resposta:

SIM!Mas vamos nos preparar para isso.

Agenda

• Por que o MySQL é muito utilizado?

• Alta-performance e Alta-disponibilidade

• Profissionalizando o uso do MySQL

MySQLo banco de dados Open Source

mais popular do mundo

Por que MySQL é muito utilizado?

1. MySQL: projetado para a Web

2. baixo TCO

3. performance & escalabilidade

4. confiabilidade & disponibilidade

5. LAMP stack

6. facilidade de uso & administração

7. a melhor escolha para SaaS & cloud

8. MySQL Cluster para serviços Web de escala

9. MySQL Enterprise Edition da Oracle

10. MySQL & NoSQL

http://www.mysql.com/why-mysql/white-papers/mysql-wp-top10-webbased-apps.php

Por que MySQL é muito utilizado?

1. MySQL: projetado para a Web

2. baixo TCO

3. performance & escalabilidade

4. confiabilidade & disponibilidade

5. LAMP stack

6. facilidade de uso & administração

7. a melhor escolha para SaaS & cloud

8. MySQL Cluster para serviços Web de escala

9. MySQL Enterprise Edition da Oracle

10. MySQL & NoSQL

http://www.mysql.com/why-mysql/white-papers/mysql-wp-top10-webbased-apps.php

alta performance &

escalabilidade

Desafio de manter a performance

- mudanças rápidas exigidas pelo mercado:

- consumidor ou concorrência

- crescimento acelerado: conexões e volume de dados

Como manter a mesma performance tanto para

LEITURAS quanto para ESCRITAS?

Filesystems, Files and Logs

Redo, Undo, Data, Index, Binary, Error, Query and Slow

Connectors

Native C API, JDBC, ODBC, .Net, PHP, Ruby, Python, VB, Perl

Connection Pool

Authentication – Thread Reuse – Connection Limits – Check Memory – Caches

Enterprise Management

Services and Utilities

Backup & Recovery

Security

Replication

Cluster

Partitioning

Instance Manager

Information_Schema

MySQL Workbench

SQL Interface

DDL, DML, Stored

Procedures, Views,

Triggers, Etc..

Parser

Query Translation,

Object Privileges

Optimizer

Access Paths,

Statistics

Caches

Global and Engine

Specific Caches and

Buffers

Pluggable Storage Engines

Memory, Index and Storage Management

InnoDB MyISAM Cluster Etc… Partners Community More..

MySQL ServerClients and Apps

Arquitetura MySQL Server

InnoDB no MySQL

- Storage Engine mais utilizado em:

- aplicações Web 2.0

- aplicações de varejo

- aplicações de entretenimento & mídia

- ACID

- Crash recovery

- Integridade referencial

- Suporta altos níveis de usuários concorrentes

- Na versão MySQL 5.5:

- padrão

- otimizado para hardware multi-core, multi-thread e SOs

MySQL 5.5 SysBench Benchmarks

MySQL 5.1.40(InnoDB built-in)

MySQL 5.1.40 (InnoDB Plug-in)

MySQL 5.5.4 (New InnoDB)

Intel Xeon X7460 x86_64

4 CPU x 6 Cores/CPU

2.66 GHz, 32GB RAM

Fedora 10

364% ganho de desempenhofor MySQL 5.5 over 5.1.40; at scale

GA

MySQL 5.5 SysBench Benchmarks

Intel Xeon X7460 x86_64

4 CPU x 6 Cores/CPU

2.66 GHz, 32GB RAM

Fedora 10

MySQL 5.1.40(InnoDB built-in)

MySQL 5.1.40 (InnoDB Plug-in)

MySQL 5.5.4 (New InnoDB)

200% ganho de desempenhofor MySQL 5.5 over 5.1.40; at scale

GA

NoSQL com Memcached API acessando InnoDB,

otimizador melhorado,

store engines mais inteligentes,

melhor instrumentação...

labs.mysql.com

MySQL Server 5.6 DMDEVELOPMENT

MILESTONE

READS

WRITES

Clie

nts

Master

Slaves

Replicação do MySQL Server

Benefício-chave

• O MySQL permite economias

significativas com custos de

hardware, adicionando novos

servidores commodity de

acordo com o necessário e de

maneira incremental

Por que MySQL?• Capacidade de escalar

conforme necessidade e de

maneira incremental

• Baixos custos e flexibilidade

Wikipedia

mysql.com/customers

Caso de sucesso

Master

Slave

Clie

nts

Slaves

Master

Relay

Reads

Writes

Relays: aplicações de leitura intensiva

Rápido Gerenciamento de Conexões

Connectors

Native C API, JDBC, ODBC, .Net, PHP, Ruby, Python, VB, Perl

Connection Pool

Authentication – Thread Reuse – Connection Limits – Check Memory – Caches

Uso da Memória Disponível

- Sistema de caches padão na indústria:

- dados

- índices

- Main memory tables & standard disk tables

- como parte do Schema (NDB)

- aquecimento (warm up)

- Query cache

- projetado para aplicações Web: queries repetitivas

- armazena query e result set, aliviando o uso de CPU

Sharding: aplicações de escrita intensiva

Master

Slave

Clie

nts

Slaves

Shards

Reads

Writes

Partitioning Logic

1 2 3 4 5

Benefícios-chave

• Flexibilidade para escolher o

hardware

• Implementação incremental

• Simplicidade e facilidade de uso

• Por que MySQL?• Capacidade de escalar para 5

bilhões de page views por mês,

gerando 1 escrita para cada 1,4

leituras

• Flexibilidade para crescer de

maneira incremental e com baixos

custos

mysql.com/customers

Caso de sucesso

Outras funcionalidades de alta performance

- Particionamento de dados

- separação dos dados e índices

- otimizador inteligente

- Suporte para vários tipos de dados: range, hash, lista,

caracter, numérico

- particionamento composto/sub particionamento: várias

colunas

- Utilitários e funcionalidades para ambientes de alta

performance

- Cargas paralelas de dados

- Suporte para vários tipos de indexação: clustered, full-text,

hash, spatial, b-tree

- Locking row-level com baixa contenção

alta disponibilidade &

confiabilidade

Confiabilidade: Robustez

- Oracle QA

- processo

- testes

- Modelo Open Source

- labs.mysql.com

- comunidade numerosa e atuante

Confiabilidade: Segurança

- Autenticação e autorização com altra granularidade

- Capacidade de bloquear usuários por cliente

- Framework de privilégios por objetos do schema

- Suporte SSH e SSL

- Funções de criptografia

- Ferramentas de Backup & Recovery

- mysqldump

- MySQL Enterprise Backup

%9 9 9935 dias 4 days 50 min 5 min8 horas

Replicação

Clustering &

Virtualização

Clustering &

Redundância

Geográfica

ISPs &

Corporativo

On-Line

Services

eCommerce

Telecoms

Militar

.9 .

4 dias

Cu

sto

& C

om

ple

xid

ad

e

Alta disponibilidade

%9 9 9935 dias 4 days 50 min 5 min8 horas

Replicação

Clustering &

Virtualização

Clustering &

Redundância

Geográfica

ISPs &

Corporativo

On-Line

Services

eCommerce

Telecoms

Militar

.

Replicação

9 .4 dias

3rd Party Solutions

Oracle Clusterware

Cu

sto

& C

om

ple

xid

ad

e

Alta disponibilidade

MySQL Cluster

Alta Performance escalabilidade de escrita & baixíssima latência

Disponibilidade 99,999%

Flexibilidadevários métodos de acesso à dados (SQL+NoSQL)

Baixo TCOopen source + hardware commodity

Data Nodes

Node Group 1

F1

F3

F3

F1

No

de

1N

od

e 2

Node Group 2

F2

F4

F4

F2

No

de

3N

od

e 4

Application Nodes

Cluster

Mgmt

Cluster

Mgmt

LDAPREST

MySQL ClusterApplication Nodes

NDB API

Arquitetura MySQL Cluster

Data Nodes

Node Group 1

F1

F3

F3

F1

No

de

1N

od

e 2

Node Group 2

F2

F4

F4

F2

No

de

3N

od

e 4

Application Nodes

Cluster

Mgmt

Cluster

Mgmt

LDAPREST

MySQL ClusterApplication Nodes

NDB API

Arquitetura MySQL Cluster

Flexibilidade

MySQL Cluster 7.2

Os mesmos dados

podem ser acessados

simultaneamente via

SQL & NoSQL

Mais Flexibilidade

MySQL Cluster 7.1 Benchmarks

NDB API Performance 6,82 M Queries por Segundo!• 16 servidores, dual-6-core CPUs

@2,93 GHz

• 2 Data Nodes por servidor

Escalabilidade horizontal em hardware commodity• baixo TCO

Resultados obtidos poriniciativa independente em 2 dias de testes• mikaelronstrom.blogspot.com

MySQL Cluster 7.2

Adaptative Query Localization• Alguns Joins executados nos Data

Nodes

• Ganhos de performance de 50x

Mais flexibilidade• Adição de até 512 colunas e online

• User Tables no Cluster

DMDEVELOPMENT

MILESTONE

“Docudesk relies on MySQL Cluster to support our

DocQ SaaS offering which demands high update

rates, low latency and continuous availability from

the database. Testing of Adaptive Query

Localization has yielded over 20x higher

performance on complex queries within our

application, enabling Docudesk to expand our use

of MySQL Cluster into a broader range of highly

dynamic web services.” --Casey Brown

“MySQL Cluster 7.1 gave us

the perfect combination of

extreme levels of transaction

throughput, low latency &

carrier-grade availability,

while reducing TCO”

Phani Naik, Pyro Group

mysql.com/customers

Caso de sucesso

arquiteturas mistas

Scale Out

Commodity Intel / AMD

Software open source

Liberdade de plataforma

Adiciona mais servidores para

aumentar performance

Scale Up

Hardware proprietário (SMP)

Software proprietário ou open

source

Amarrado à plataforma

“Empilhamento” para

aumentar performance

Escalabilidade: horizontal vs vertical

Enterprise Manager

Audit Vault

Secure Backup

DBAs

Sysadmins

Custo

mers

Web Servers

Application Servers

Distributed Caching

MySQL Cluster

MySQL (InnoDB)

MySQL (MyISAM)

Web Servers

Frontend

ETL/Data IntegrationApplication Integration

ERP CRM

Intranet Apps

Oracle Exadata

Oracle RAC Oracle RAC

Oracle MySQL

Em

plo

yees

Suppl.

Ba

cke

nd

MySQL + Oracle

Benefícios-chave

• Ao migrar do Microsoft SQL Server

para MySQL+Oracle, foi possível

escalar 4 vezes mais e crescer a

base de usuários de 10 milhões para

100 milhões

Por que MySQL+Oracle?

• "At Ticketmaster, we use MySQL and Oracle to complement each other. The end result is a highly-distributed, optimal-performing database environment that powers one of the largest e-commerce and ticketing sites in the world.”

Ed Presz – Sr. Director Database Engineering

Ticketmaster/Live Nation Entertainment, Inc.

mysql.com/customers

Caso de sucesso

Benefícios-chave

• Sistema escalável, de baixo custo e

personalizado para atender

necessidades de gerenciamento de

sessão.

• Gerencia 4 bilhões de request por dia

numa razão 50/50 entre leituras e

escritas.

Por que MySQL+Oracle?

• Custo

• Performance: 13.000 TPS numa Sun

Fire x4100

• Escalabilidade: desenhado para

suportar crescimento futuro de 10x

• Transações realizadas pelo Oracle

Database

mysql.com/customers

Caso de sucesso

Integração de produtos

em progresso

Oracle GoldenGate (GA)

Oracle Enterprise Linux + Oracle VM (GA)

Certificação Oracle Clusterware

Certificação Oracle Fusion Middleware

Oracle Secure Backup (GA)

Oracle Audit Vault

Oracle Enterprise Manager

+

Profissionalizando o MySQL

mysql.com/products

MONITOR

BACKUP

Produtos

MY ORACLE SUPPORT

KNOWLEDGE BASE MySQL

MySQL CONSULTATIVE SUPPORT

MySQL Enterprise Monitor

MEB: Backups

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

GA

MEB: Restores

Restore é até 16x mais rápido do que mysqldump

- mysqldump performance não é linear (mais tables/indexes impacta na performance)

- MySQL Enterprise performance é quase linear

GA

MEB: Compressão do Backup

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

GA

Operações de

Alta Disponibilidade

• Persistência

de Disco

• Consistência de

Configuração

• Agente de

Operação de Alta

Disponibilidade

MySQL Cluster Manager

Gerenciamento

Automatizado

• Gestão de

Todo Cluster

• Gerenciamento de

Processos

• Operações On-line

(Reconfiguração

/Upgrade)

Monitoramento

• Monitoramento do

Estado &

Recuperação

Como o MySQL Cluster Manager Ajuda?

Examplo: Upgrade do MySQL Cluster 6.3 to 7.1

• 1 x verificação preliminar do estado do Cluster

• 8 x comandos ssh por servidor

• 8 x comandos stop por processo

• 4 x edições dos arquivos de configuaração (2 x

mgmd & 2 x mysqld)

• 8 x comandos start por processo

• 8 x verificações do processo start e re-joined

• 8 x verificações de processos completos

• 1 x verificação de todo o cluster.

• Reedição manual de cada arquivo de configuração.

Total: 46 comandos – 2h30min. de interação

Sem MySQL Cluster Manager Com MySQL Cluster Manager

upgrade cluster --package=7.1 mycluster;

Total: 1 Comando

ResultadosRedução de overhead e simplificação de

administração.

Reduz risco de downtime por erro do

administrador.

MySQL Web Reference Architectures

Whitepaperhttp://www.mysql.com/why-mysql/white-papers/mysql_wp_high-availability_webrefarchs.php

Webinar Replayhttp://www.mysql.com/news-and-events/on-demand-webinars/display-od-606.html

Arquiteturas de referência

Downloads & Trials

dev.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

Links

Treinamentos e Certificações MySQL

MySQL Boot Camp

Accelerated

MySQL Performance

Tuning Boot Camp

Accelerated

MySQL for Begginers

MySQL for Database

Administrators

MySQL Performance

Tuning

MySQL High

Availability

MySQL Cluster

MySQL DBA

MySQL Boot Camp

Accelerated

MySQL for Developers

MySQL Performance

Tuning Boot Camp

Accelerated

MySQL for Begginers

MySQL and PHP

Developing Dynamic

Web Applicationg

MySQL Advanced

Stored Procedures

MySQLDeveloper

Treinamentos Certificações

Opcional

Necessário

education.oracle.com

Como está seu MySQL hoje?

Quando sua aplicação crescer,

seu MySQL vai suportar?

Obrigado!

Time MySQL Brasil

[email protected] [email protected]@oracle.com [email protected]

@MySQLBR meetup.com/MySQL-BR