The document discusses Oracle's strategy for MySQL which includes building, testing, managing and maintaining MySQL together as an integrated and open solution. It also highlights some key customers that have successfully used MySQL for their high performance web applications and services. The document promotes MySQL as the leading open source database for web applications.
1. MySQL
<Insert Picture Here>
Alta Performance &
Alta Disponibilidade
Marcos Trujillo
marcos.trujillo@oracle.com
Airton Lastori
airton.lastori@oracle.com
ago-2011
2. 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.
3. Time MySQL Brasil
Marcos Trujillo Marcelo Telles
Ana Guiselini Airton Lastori
4. 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
5. Clientes MySQL com Sucesso
Web OEM / ISV’s
SaaS, Hosting Telecommunications Enterprise 2.0
MySQL está Potencializando a Web
7. Investimento Oracle no MySQL
Inovaçã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
8. MySQL Últimas Notícias
2010 LinuxQuestions.org
Members Choice Award Winners
Database of the
Year MySQL
53% MySQL
28% Ingress
9% EnterpriseDB
16. 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
17. 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
19. 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?
20. Arquitetura MySQL Server
MySQL Server Connectors
Clients and Apps Native C API, JDBC, ODBC, .Net, PHP, Ruby, Python, VB, Perl
Enterprise Management
Services and Utilities Connection Pool
Authentication – Thread Reuse – Connection Limits – Check Memory – Caches
Backup & Recovery
Security
Replication
SQL Interface Parser Optimizer Caches
Cluster
Partitioning DDL, DML, Stored Query Translation, Access Paths, Global and Engine
Instance Manager Procedures, Views, Object Privileges Statistics Specific Caches and
Information_Schema Triggers, Etc.. Buffers
MySQL Workbench
Pluggable Storage Engines
Memory, Index and Storage Management
InnoDB MyISAM Cluster Etc… Partners Community More..
Filesystems, Files and Logs
Redo, Undo, Data, Index, Binary, Error, Query and Slow
21. 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
22. MySQL 5.5 SysBench Benchmarks GA
MySQL 5.5.4
(New InnoDB)
MySQL 5.1.40
(InnoDB Plug-in)
MySQL 5.1.40
(InnoDB built-in)
364% ganho de desempenho Intel Xeon X7460 x86_64
4 CPU x 6 Cores/CPU
2.66 GHz, 32GB RAM
for MySQL 5.5 over 5.1.40; at scale Fedora 10
23. MySQL 5.5 SysBench Benchmarks GA
MySQL 5.5.4
(New InnoDB)
MySQL 5.1.40
(InnoDB Plug-in)
MySQL 5.1.40
(InnoDB built-in)
200% ganho de desempenho Intel Xeon X7460 x86_64
4 CPU x 6 Cores/CPU
for MySQL 5.5 over 5.1.40; at scale 2.66 GHz, 32GB RAM
Fedora 10
24. MySQL Server 5.6 DM
DEVELOPMENT
MILESTONE
NoSQL com Memcached API acessando InnoDB,
otimizador melhorado,
store engines mais inteligentes,
melhor instrumentação...
labs.mysql.com
25. Clients Replicação do MySQL Server
Master
Slaves
WRITES
READS
26. Caso de sucesso
Wikipedia 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
mysql.com/customers
29. 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
31. Caso de sucesso
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
32. 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
35. 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
36. Alta disponibilidade
Clustering &
Redundância
Geográfica
Custo & Complexidade
Clustering &
Virtualização
Replicação
ISPs & On-Line eCommerce
Corporativo Services Telecoms
Militar
9 9
.. 9 9 9
35 dias 4 days
4 dias 8 horas 50 min 5 min
%
37. Alta disponibilidade
Clustering &
Redundância
Geográfica
Custo & Complexidade
Clustering &
Virtualização Oracle Clusterware
Replicação 3rd Party Solutions
Replicação
ISPs & On-Line eCommerce
Corporativo Services Telecoms
Militar
9 9
.. 9 9 9
35 dias 4 days
4 dias 8 horas 50 min 5 min
%
38. MySQL Cluster
Alta Performance
escalabilidade de escrita & baixíssima latência
Disponibilidade
99,999%
Flexibilidade
vários métodos de acesso à dados (SQL+NoSQL)
Baixo TCO
open source + hardware commodity
39. Arquitetura MySQL Cluster
MySQL Cluster
Application Nodes
NDB API REST LDAP
Application Nodes
Node Group 1 Node Group 2
Node 1
Node 3
Cluster F1 F2 Cluster
Mgmt Mgmt
F3 F4
Node 2
Node 4
F3 F4
F1 F2
Data Nodes
40. Arquitetura MySQL Cluster
MySQL Cluster
Application Nodes
NDB API REST LDAP
Application Nodes
Node Group 1 Node Group 2
Node 1
Node 3
Cluster F1 F2 Cluster
Mgmt Mgmt
F3 F4
Node 2
Node 4
F3 F4
F1 F2
Data Nodes
42. Mais Flexibilidade
MySQL Cluster 7.2
Os mesmos dados
podem ser acessados
simultaneamente via
SQL & NoSQL
43. 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 por
iniciativa independente em 2
dias de testes
• mikaelronstrom.blogspot.com
44. MySQL Cluster 7.2 DM
DEVELOPMENT
MILESTONE
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
“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
45. Caso de sucesso
“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
47. Escalabilidade: horizontal vs vertical
Scale Out Scale Up
Commodity Intel / AMD Hardware proprietário (SMP)
Software open source Software proprietário ou open
Liberdade de plataforma source
Adiciona mais servidores para Amarrado à plataforma
aumentar performance “Empilhamento” para
aumentar performance
48. MySQL + Oracle
Frontend
Web Servers DBAs
MySQL Cluster
Customers
Sysadmins
Web Servers
Enterprise Manager
MySQL (InnoDB)
Audit Vault
Distributed Caching Secure Backup
MySQL (MyISAM)
Application Servers
Employees
Application Integration ETL/Data Integration
Backend
ERP CRM Oracle Exadata Oracle MySQL
Suppl.
Intranet Apps Oracle RAC Oracle RAC
49. Caso de sucesso
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
50. 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
51. 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
55. MEB: Backups GA
Backups são até 3.5x mais rápidos do que mysqldump
56. MEB: Restores GA
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
57. MEB: Compressão do Backup GA
O tamanho do Backup é reduzido de 65% até 93%
58. MySQL Cluster Manager
Gerenciamento Operações de
Monitoramento
Automatizado Alta Disponibilidade
• Gestão de • Monitoramento do • Persistência
Todo Cluster Estado & de Disco
Recuperação
• Gerenciamento de • Consistência de
Processos Configuração
• Operações On-line
(Reconfiguração • Agente de
/Upgrade) Operação de Alta
Disponibilidade
59. Como o MySQL Cluster Manager Ajuda?
Examplo: Upgrade do MySQL Cluster 6.3 to 7.1
Sem MySQL Cluster Manager Com MySQL Cluster Manager
• 1 x verificação preliminar do estado do Cluster upgrade cluster --package=7.1 mycluster;
• 8 x comandos ssh por servidor
Total: 1 Comando
• 8 x comandos stop por processo
• 4 x edições dos arquivos de configuaração (2 x Resultados
mgmd & 2 x mysqld) Redução de overhead e simplificação de
• 8 x comandos start por processo administração.
• 8 x verificações do processo start e re-joined Reduz risco de downtime por erro do
• 8 x verificações de processos completos administrador.
• 1 x verificação de todo o cluster.
• Reedição manual de cada arquivo de configuração.
Total: 46 comandos – 2h30min. de interação
60. Arquiteturas de referência
MySQL Web Reference Architectures
Whitepaper
http://www.mysql.com/why-mysql/white-papers/mysql_wp_high-availability_webrefarchs.php
Webinar Replay
http://www.mysql.com/news-and-events/on-demand-webinars/display-od-606.html
62. Treinamentos e Certificações MySQL
Treinamentos Certificações
MySQL DBA MySQLDeveloper
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 High MySQL Advanced
Opcional
Availability Stored Procedures
Necessário
MySQL Cluster
education.oracle.com
63. Como está seu MySQL hoje?
Quando sua aplicação crescer,
seu MySQL vai suportar?
64. Obrigado!
Time MySQL Brasil
marcos.trujillo@oracle.com marcelo.t.souza@oracle.com ana.guiselini@oracle.com airton.lastori@oracle.com
@MySQLBR meetup.com/MySQL-BR