mysql alta performance & alta disponibilidade
DESCRIPTION
Happy hour MySQL - MySQL Alta Performance & Alta DisponibilidadeTRANSCRIPT
<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.
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
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
Agenda
• Por que o MySQL é muito utilizado?
• Alta-performance e Alta-disponibilidade
• Profissionalizando o uso do MySQL
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
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
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
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
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
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
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
+
mysql.com/products
MONITOR
BACKUP
Produtos
MY ORACLE SUPPORT
KNOWLEDGE BASE MySQL
MySQL CONSULTATIVE SUPPORT
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
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
Obrigado!
Time MySQL Brasil
[email protected] [email protected]@oracle.com [email protected]
@MySQLBR meetup.com/MySQL-BR