O documento discute como o MySQL pode ser usado em ambientes Windows para fornecer alta disponibilidade de bancos de dados. Ele descreve como a replicação MySQL permite escalabilidade de leitura e como o MySQL Cluster fornece alta performance, escalabilidade de escrita e disponibilidade de 99,999%.
5. Top websites
fonte: alexa.com/topsites 17-ago-2011
6. Quem usa MySQL – Top 10 Websites
1.Google
2.Facebook
3.Youtube
4.Yahoo!
5.Blogger.com
6.Baidu.com
7.Wikipedia
8.Windows Live
9.Twitter
10.QQ.com
fonte: alexa.com/topsites 17-ago-2011
8. 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
9. 4 motivos para investir MySQL+Windows
Lower TCO Performance
Cross-Platform Ease of Use
10. MySQL vs Microsoft SQL Server
- Term: 3 Years
- Users: Unlimited (web)
- Servers: 4
- Hardware: Intel x86
- CPUs/Server: 4
- Cores/CPU: 4
- MySQL: MySQL Enterprise Edition
- Microsoft: SQL Server Enterprise Edition
11. MySQL 5.5 on Windows
MySQL 5.5.6
(New InnoDB)
MySQL 5.1.50
(InnoDB Plug-in)
MySQL 5.1.50
(InnoDB built-in)
SysBench Benchmark
540% performance gain Intel x86_64
4 CPU x 2 Cores/CPU
3.166 GHz, 8GB RAM
for MySQL 5.5 over 5.1.50; at scale Windows Server 2008
12. MySQL 5.5 on Windows
MySQL 5.5.6
(New InnoDB)
MySQL 5.1.50
(InnoDB Plug-in)
MySQL 5.1.50
(InnoDB built-in)
SysBench Benchmark
1560% performance gain Intel x86_64
4 CPU x 2 Cores/CPU
3.166 GHz, 8GB RAM
for MySQL 5.5 over 5.1.50; at scale Windows Server 2008
13. Flexibilidate Multi-Plataforma MySQL
• Suporte para 20+ plataformas
• Sem lock-in de fornecedores
• Permite uso de LAMP stack em aplicações Web
• OEM/ISVs embarcando MySQL em mais mercados
com mais flexibilidade para o usuário final
http://mysql.com/support/supportedplatforms/database.html
14. Facilidade de Uso & Administração
• Desenhado para ser fácil de usar (ex. regra 15min)
• Mais de 2.000 OEM/ISVs distribuem o MySQL como
“BD Embarcado Zero Admin”
• Integração com ambiente Windows nos RDBMS,
conectores e ferramentas
• Tipicamente não requer time exclusivo de DBAs
• Popularidade do MySQL: conhecimento disseminado
• Suporte e Ferramentas Enterprise:
• MySQL Workbench SE
• MySQL Enterprise Monitor
• MySQL Query Analyzer
• MySQL Enterprise Backup
15. Subscrições MySQL
Cluster
Enterprise
Valor Agregado
Edition
Standard
Enterprise +
Edition
Standard +
• MySQL Database • Plug-Ins
• Premier Support • Enterprise Monitor
• Workbench SE • Enterprise Backup • Cluster Manager
16. Subscrições MySQL
Cluster
Enterprise
Valor Agregado
Edition
Standard
Enterprise +
Edition
Standard +
• MySQL Database • Plug-Ins
• Premier Support • Enterprise Monitor
• Workbench SE • Enterprise Backup • Cluster Manager
17. Oracle Suporte para o MySQL
* MySQL Premier Support – 5 anos, começando pelo GA
21. Subscrições MySQL
Cluster
Enterprise
Valor Agregado
Edition
Standard
Enterprise +
Edition
Standard +
• MySQL Database • Plug-Ins
• Premier Support • Enterprise Monitor
• Workbench SE • Enterprise Backup • Cluster Manager
22. Extensões Comerciais
• Enterprise Security
• Plug-In: MySQL External Authentication
• Enterprise Scalability
• Plug-In: MySQL Thread Pool
23. Windows Authentication: Exemplo
Connect as
1. MyDomainjoe faz login App
na aplicação com senha
Windows
Connector
Connect as Connect as
3. A aplicação conecta-se 2. MyDomainjoe é
ao MySQL com usuário autenticado via
win_joe. LDAP/AD
Connected Connect as
4. Tokens são verificados, o
usuário win_joe é autenticado
com Windows login, porém
Authenticate
Windows com privilégios do MySQL.
LDAP/AD
Auth
CREATE USER win_joe
IDENTIFIED WITH authentication_windows
AS ‘joe';
24. Com Thread Pooling Habilitado
Sysbench OLTP: Read Only
Performance • MySQL 5.5.7
• Oracle Linux 5, Unbreakable Kernel
2.6.32
• 4 sockets, 48 cores, 4 X 12-core
AMD Opteron 6172 “Magny-Cours”
Transactions Per Second
2.1GHz CPUs
16000
14000 • 64 GB DDR2 RAM
12000 • 2 X Intel X25E SSD Drives
10000
8000 Without Thead Pool
6000
4000 With Thead Pool
2000
0
16 32 64 128 256 512 1,0242,0484,096
Simultaneous Database Connections
25. Com Thread Pooling Habilitado
Sysbench OLTP: Read / Write
Performance • MySQL 5.5.7
• Oracle Linux 5, Unbreakable Kernel
2.6.32
• 4 sockets, 48 cores, 4 X 12-core
AMD Opteron 6172 “Magny-Cours”
2.1GHz CPUs
Transactions Per Second
• 64 GB DDR2 RAM
10000
• 2 X Intel X25E SSD Drives
8000
6000
4000 Without Thead Pool
2000 With Thead Pool
0
16 32 64 128 256 512 1,0242,0484,096
Simultaneous Database Connections
26. MySQL Enterprise Monitor
• Visão única e consolidada em
todo o ambiente MySQL
• Auto-descoberta dos servidores
MySQL, topologias de
replicação
• Regras personalizáveis de
monitorização e alertas
• Identificação de problemas
antes que eles ocorram
• Reduz o risco de inatividade
• Facilita “scale out” sem exigir
mais DBAs
Assistente virtual do DBA MySQL!
http://mysql.com/trials/
30. 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
32. Subscrições MySQL
Cluster
Enterprise
Valor Agregado
Edition
Standard
Enterprise +
Edition
Standard +
• MySQL Database • Plug-Ins
• Premier Support • Enterprise Monitor
• Workbench SE • Enterprise Backup • Cluster Manager
33. 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
38. Plataformas Windows para MySQL
Arquitetura x86 32 & 64 bit:
• Windows 2008
• Windows 2008 RC
• Windows 7
• Windows Vista
• Windows 2003 Server
• Windows XP
39. Windows Connectors
Desenvolvidos pela Oracle Comunidade
• Connector/NET ADO.NET • PHP
• Connector/ODBC ODBC • Perl
• Connector/J JDBC • Python
• Connector/C C API • Ruby
• Connector/C++ C++ API
Suporte à diversas linguagens
www.mysql.com/products/connector
40. Windows Connectors
Desenvolvidos pela Oracle Comunidade
• Connector/NET ADO.NET • PHP
• Connector/ODBC ODBC • Perl
• Connector/J JDBC • Python
• Connector/C C API • Ruby
• Connector/C++ C++ API
Suporte Windows
www.mysql.com/products/connector
44. Integração Visual Studio + MySQL
editando objetos do BD
Tables Views
Columns Stored Procs & Functions
Indexes Triggers
Foreign Keys User-Defined Functions
(UDF)
Column & Table Properties Cloning Database Objects
Using ADO.NET Entity MySQL SQL Editor
Framework
DDL T4 Template Macro MySQL Website
Configuration Tool
45. Links Connector/NET
• Visual Studio integration
http://dev.mysql.com/doc/refman/5.5/en/connector-net-visual-studio.html
• Connector/NET download
http://www.mysql.com/downloads/connector/net/
• Exploring MySQL in the Microsoft .NET Environment
http://dev.mysql.com/tech-resources/articles/dotnet/index.html
• Using MySQL With .NET/C#/Visual Basic/Powershell
http://dev.mysql.com/usingmysql/dotnet/
46. MySQL para DBAs SQL Server
MySQL Users, Databases & Schemas são gerenciados
de modo similar ao SQL Server
Particionamento e outros recursos avançados
presentes tanto na edição Community quanto Enterprise
Replicação e alta-disponibilidade em poucos minutos
para implementar e com fácil manutenção
47. MySQL para DBAs SQL Server
Online “Hot” Backup com MySQL Enterprise Backup
Data Types & Stored Procedures
Datatypes
49. 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
%
50. Alta disponibilidade
Custo & Complexidade
Replicação
Replication
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
%
51. Replicação possibilita escalabilidade
Aplicação Load Balancer
Writes & Reads Reads Reads
Replicação MySQL
• Escreva para 1 Master
• Leia de vários Slaves, adicione mais quando necessário
• Perfeito para aplicações de leitura intensiva
52. Alta disponibilidade
Clustering &
Redundância
Geográfica
Custo & Complexidade
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
%
53. 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
54. 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
55. 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
56. MySQL Cluster 7.1 Benchmarks
Performance +4 Milhões
de Queries por Segundo!
• 8 servidores Intel commodity
• CPU 2.93GHz, 6 core Intel
• 24GB RAM cada
• 2 Data Nodes por servidor
Escalabilidade horizontal
em hardware commodity
• Com 16 servidores, chegou-se a
6,82 Milhões QPS
• baixo TCO
Resultados confirmados
• mikaelronstrom.blogspot.com
• Iniciativa independente
• 2 dias de testes
57. Alta disponibilidade
Custo & Complexidade
Clustering &
Virtualizaçã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
%
58. MySQL e Windows Clustering
Slave App App App
Virtual IP
Vote Data Bin
59. Pré-requisitos
• MySQL 5.5 & InnoDB devem
ser usados como BD (MyISAM
não é crash-safe e o failover
pode resultar em um BD
corrompido)
• Windows Server 2008 R2
• Conexões de rede
reduntantes para hosts e
storage
• WSFC cluster validation
deve passar com sucesso
• iSCSI ou FCAL SAN deve
ser usado como storage
compartilhado
63. Passo 4/7
Migre binários MySQL binaries &
dados para shared storage
1. Pare os serviços MySQL
2. Modifique as pastas no arquivo de configuração
3. Copie os dados e binários para o drive compartilhado
De Para
C:Program FilesMySQLMySQL Server 5.5 F:MySQL Server 5.5
C:ProgramDataMySQLMySQL Server 5.5data F:MySQL Data
66. Passo 7/7
Teste o Windows Cluster
192.168.2.
ws2 1. conecte a aplicação
1
pelo Virtual IP Address
slave
VIP
2. durante a migração ou
192.168.2.1
8 192.168.2.
failover, o WSFC vai
1
alternar o Virtual IP
192.168.5.
ws1 192.168.5.
3
1
192.168.5.
2
ws3 entre os servidores
3. a aplicação deve
gerenciar a falha das
192.168.2. 192.168.2.
transações em curso
192.168.2. 192.168.2.
4 4 6 6
67. Links MySQL + Windows Clustering
• MySQL with Windows Server 2008 R2 Failover Clustering
www.clusterdb.com/mysql/mysql-with-windows-server-2008-r2-failover-
clustering
• White-paper Windows Failover Clustering
www.mysql.com/why-mysql/white-
papers/mysql_wp_windows_failover_clustering.php
69. MySQL Treinamento e Certificação
Treinamentos
MySQL DBA MySQLDeveloper Certificações
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
Availability Stored Procedures
MySQL Cluster
Opcional
Necessário
http://education.oracle.com
71. Conclusão
• Windows é uma plataforma estratégica para
Oracle/MySQL.
• MySQL Server 5.5 provê alta-performance, escalabilidade,
flexibilidade, facilidade de uso, baixo custo e é uma ótima
alternativa ao SQL Server ou MS-Access.
• MySQL Cluster 7.1 também é suportado no Windows.
• Linhas de produtos MySQL suportam os desenvolvedores
Windows:
• Windows Installer (Server + Workbench + Connectors & Drivers);
• Monitoramento, Tunning Performance, otimização de Queries;
• Backup & Recovery;
• Cluster Manager.
• Windows Cluster certificado para Win2008 R2.
72. 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