<Insert Picture Here>                        MySQL no Windows                                    Marcos Trujillo          ...
Agenda• Por que MySQL no Windows?• Ambiente de desenvolvimento em 5 minutos• MySQL com alta-disponibilidade no Windows
Por que MySQL no Windows?
Alguns clientes
Top websites        fonte: alexa.com/topsites 17-ago-2011
Quem usa MySQL – Top 10 Websites                1.Google                2.Facebook                3.Youtube               ...
Foco MySQL – Áreas
Investimento Oracle no MySQLInovação AceleradaFazer o MySQL um Melhor MySQL• #1 BD Open Source para Web Applications• LAMP...
4 motivos para investir MySQL+Windows     Lower TCO       Performance   Cross-Platform    Ease of Use
MySQL vs Microsoft SQL Server                          - Term: 3 Years                          - Users: Unlimited (web)  ...
MySQL 5.5 on Windows                                          MySQL 5.5.6                                          (New In...
MySQL 5.5 on Windows                                          MySQL 5.5.6                                          (New In...
Flexibilidate Multi-Plataforma MySQL•   Suporte para 20+ plataformas•   Sem lock-in de fornecedores•   Permite uso de LAMP...
Facilidade de Uso & Administração• Desenhado para ser fácil de usar (ex. regra 15min)• Mais de 2.000 OEM/ISVs distribuem o...
Subscrições MySQL                                                                Cluster                                  ...
Subscrições MySQL                                                                Cluster                                  ...
Oracle Suporte para o MySQL* MySQL Premier Support – 5 anos, começando pelo GA
Suporte Consultivo MySQLDBA eDesenvolvedores
Subscrições MySQL                                                                Cluster                                  ...
Extensões Comerciais• Enterprise Security  • Plug-In: MySQL External Authentication• Enterprise Scalability  • Plug-In: My...
Windows Authentication: Exemplo Connect as  1. MyDomainjoe faz login         App     na aplicação com senha     Windows   ...
Com Thread Pooling Habilitado                                   Sysbench OLTP: Read Only                                  ...
Com Thread Pooling Habilitado                                  Sysbench OLTP: Read / Write                                ...
MySQL Enterprise Monitor• Visão única e consolidada em  todo o ambiente MySQL• Auto-descoberta dos servidores  MySQL, topo...
MySQL Enterprise Monitor: Query Analyzer
MySQL Enterprise Backup• Anteriormente “InnoDB Hot Backup”• Online, non-locking backup & recovery    • Tables, Indexes    ...
BackupsBackups são até 3.5x mais rápidos do que mysqldump
Restores        Restore é até 16x mais rápido do que mysqldump- mysqldump performance não é linear (mais tables/indexes im...
Compressão do BackupO tamanho do Backup é reduzido de 65% até 93%
Subscrições MySQL                                                                Cluster                                  ...
Como o MySQL Cluster Manager Ajuda?        Examplo: Upgrade do MySQL Cluster 6.3 to 7.1   Sem MySQL Cluster Manager       ...
Ambiente dedesenvolvimento em    5 minutos
MySQL Installer        dev.mysql.com/downloads
Plataformas Windows para MySQLArquitetura x86 32 & 64 bit:• Windows 2008• Windows 2008 RC• Windows 7• Windows Vista• Windo...
Windows ConnectorsDesenvolvidos pela Oracle       Comunidade• Connector/NET     ADO.NET     • PHP• Connector/ODBC ODBC    ...
Windows ConnectorsDesenvolvidos pela Oracle       Comunidade• Connector/NET     ADO.NET     • PHP• Connector/ODBC ODBC    ...
MySQL Connector/ODBC
Connector/NET• Crie aplicações .NET facilmente  • C#,  • ASP.NET  • VB.net• Connector/Net  •   Implementa interfaces ADO.N...
Integração Visual Studio + MySQL
Integração Visual Studio + MySQLeditando objetos do BD  Tables                      Views  Columns                     Sto...
Links Connector/NET• Visual Studio integration http://dev.mysql.com/doc/refman/5.5/en/connector-net-visual-studio.html• Co...
MySQL para DBAs SQL Server   MySQL Users, Databases & Schemas são gerenciadosde modo similar ao SQL Server   Particionamen...
MySQL para DBAs SQL ServerOnline “Hot” Backup com MySQL Enterprise BackupData Types & Stored Procedures  Datatypes
MySQL comalta-disponibilidade no        Windows
Alta disponibilidade                                                                   Clustering &                       ...
Alta disponibilidade  Custo & Complexidade                                   Replicação                                   ...
Replicação possibilita escalabilidade                     Aplicação    Load Balancer    Writes & Reads                Read...
Alta disponibilidade                                                          Clustering &                                ...
MySQL ClusterAlta Performanceescalabilidade de escrita & baixíssima latênciaDisponibilidade99,999%Flexibilidadevários méto...
Arquitetura MySQL ClusterMySQL ClusterApplication Nodes                              NDB API            REST       LDAP   ...
Arquitetura MySQL ClusterMySQL ClusterApplication Nodes                              NDB API            REST       LDAP   ...
MySQL Cluster 7.1 Benchmarks                      Performance +4 Milhões                      de Queries por Segundo!     ...
Alta disponibilidade  Custo & Complexidade                                    Clustering &                                ...
MySQL e Windows Clustering         Slave      App      App        App                          Virtual IP                 ...
Pré-requisitos• MySQL 5.5 & InnoDB devemser usados como BD (MyISAMnão é crash-safe e o failoverpode resultar em um BDcorro...
Passo 1/7Configure iSCSI via software (opcional)
Passo 2/7Habilite a opção Windows FailoverClustering
Passo 3/7Instale o MySQL como serviço emambos servidores
Passo 4/7   Migre binários MySQL binaries &   dados para shared storage   1. Pare os serviços MySQL   2. Modifique as past...
Passo 5/7Crie o Windows Failover Cluster
Passo 6/7Crie Cluster de MySQL Servers comWindows Cluster
Passo 7/7  Teste o Windows Cluster    192.168.2.                                ws2                               1. conec...
Links MySQL + Windows Clustering• MySQL with Windows Server 2008 R2 Failover Clustering www.clusterdb.com/mysql/mysql-with...
Mais sobre MySQL
MySQL Treinamento e Certificação       Treinamentos  MySQL DBA           MySQLDeveloper               CertificaçõesMySQL B...
07-dez-2011Registre-se: http://bit.ly/usLQoD
Conclusão• Windows é uma plataforma estratégica para  Oracle/MySQL.• MySQL Server 5.5 provê alta-performance, escalabilida...
Obrigado!                                       Time MySQL Brasilmarcos.trujillo@oracle.com   marcelo.t.souza@oracle.com  ...
MySQL no Windows
MySQL no Windows
MySQL no Windows
MySQL no Windows
Upcoming SlideShare
Loading in …5
×

MySQL no Windows

2,654 views

Published on

Por que MySQL no Windows?

Ambiente de desenvolvimento em 5 minutos

MySQL com alta-disponibilidade no Windows

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,654
On SlideShare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
77
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

MySQL no Windows

  1. 1. <Insert Picture Here> MySQL no Windows Marcos Trujillo marcos.trujillo@oracle.com Airton Lastori airton.lastori@oracle.com nov-2011
  2. 2. Agenda• Por que MySQL no Windows?• Ambiente de desenvolvimento em 5 minutos• MySQL com alta-disponibilidade no Windows
  3. 3. Por que MySQL no Windows?
  4. 4. Alguns clientes
  5. 5. Top websites fonte: alexa.com/topsites 17-ago-2011
  6. 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
  7. 7. Foco MySQL – Áreas
  8. 8. Investimento Oracle no MySQLInovação AceleradaFazer o MySQL um Melhor MySQL• #1 BD Open Source para Web Applications• LAMP Stack mais completo do mercado• Telecom, Embedded & WindowsDesenvolver, Promover e Suportar o MySQL• Melhorias na Engenharia, Suporte e Consultoria• Suporte Oracle 24x7 de alto-nívelMySQL Community Edition• Releases do código-fonte e binários• GPL
  9. 9. 4 motivos para investir MySQL+Windows Lower TCO Performance Cross-Platform Ease of Use
  10. 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. 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. 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. 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. 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. 15. Subscrições MySQL Cluster EnterpriseValor Agregado Edition Standard Enterprise + Edition Standard + • MySQL Database • Plug-Ins • Premier Support • Enterprise Monitor • Workbench SE • Enterprise Backup • Cluster Manager
  16. 16. Subscrições MySQL Cluster EnterpriseValor Agregado Edition Standard Enterprise + Edition Standard + • MySQL Database • Plug-Ins • Premier Support • Enterprise Monitor • Workbench SE • Enterprise Backup • Cluster Manager
  17. 17. Oracle Suporte para o MySQL* MySQL Premier Support – 5 anos, começando pelo GA
  18. 18. Suporte Consultivo MySQLDBA eDesenvolvedores
  19. 19. Subscrições MySQL Cluster EnterpriseValor Agregado Edition Standard Enterprise + Edition Standard + • MySQL Database • Plug-Ins • Premier Support • Enterprise Monitor • Workbench SE • Enterprise Backup • Cluster Manager
  20. 20. Extensões Comerciais• Enterprise Security • Plug-In: MySQL External Authentication• Enterprise Scalability • Plug-In: MySQL Thread Pool
  21. 21. Windows Authentication: Exemplo Connect as 1. MyDomainjoe faz login App na aplicação com senha Windows ConnectorConnect as Connect as 3. A aplicação conecta-se 2. MyDomainjoe é ao MySQL com usuário autenticado via win_joe. LDAP/ADConnected 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;
  22. 22. 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
  23. 23. 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 CPUsTransactions 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
  24. 24. 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/
  25. 25. MySQL Enterprise Monitor: Query Analyzer
  26. 26. MySQL Enterprise Backup• Anteriormente “InnoDB Hot Backup”• Online, non-locking backup & recovery • Tables, Indexes • Server, database, ou object-level• Backups Lógico e Físico• Backups Completos ou Incrementais• Point-in-time recovery• Backups Comprimidos• Também oferece backup e recuperação para MyISAM• Multi-plataforma (Windows, Linux, Unix) http://mysql.com/trials/
  27. 27. BackupsBackups são até 3.5x mais rápidos do que mysqldump
  28. 28. 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
  29. 29. Compressão do BackupO tamanho do Backup é reduzido de 65% até 93%
  30. 30. Subscrições MySQL Cluster EnterpriseValor Agregado Edition Standard Enterprise + Edition Standard + • MySQL Database • Plug-Ins • Premier Support • Enterprise Monitor • Workbench SE • Enterprise Backup • Cluster Manager
  31. 31. 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
  32. 32. Ambiente dedesenvolvimento em 5 minutos
  33. 33. MySQL Installer dev.mysql.com/downloads
  34. 34. Plataformas Windows para MySQLArquitetura x86 32 & 64 bit:• Windows 2008• Windows 2008 RC• Windows 7• Windows Vista• Windows 2003 Server• Windows XP
  35. 35. Windows ConnectorsDesenvolvidos 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
  36. 36. Windows ConnectorsDesenvolvidos 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
  37. 37. MySQL Connector/ODBC
  38. 38. Connector/NET• Crie aplicações .NET facilmente • C#, • ASP.NET • VB.net• Connector/Net • Implementa interfaces ADO.NET • Integra com ferramentas ADO.NET aware • Driver ADO.NET totalmente gerenciado • Open Source, escrito 100% em C#
  39. 39. Integração Visual Studio + MySQL
  40. 40. Integração Visual Studio + MySQLeditando 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
  41. 41. 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/
  42. 42. MySQL para DBAs SQL Server MySQL Users, Databases & Schemas são gerenciadosde modo similar ao SQL Server Particionamento e outros recursos avançadospresentes tanto na edição Community quanto Enterprise Replicação e alta-disponibilidade em poucos minutospara implementar e com fácil manutenção
  43. 43. MySQL para DBAs SQL ServerOnline “Hot” Backup com MySQL Enterprise BackupData Types & Stored Procedures Datatypes
  44. 44. MySQL comalta-disponibilidade no Windows
  45. 45. 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 %
  46. 46. 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 %
  47. 47. 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
  48. 48. 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 %
  49. 49. MySQL ClusterAlta Performanceescalabilidade de escrita & baixíssima latênciaDisponibilidade99,999%Flexibilidadevários métodos de acesso à dados (SQL+NoSQL)Baixo TCOopen source + hardware commodity
  50. 50. Arquitetura MySQL ClusterMySQL ClusterApplication 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
  51. 51. Arquitetura MySQL ClusterMySQL ClusterApplication 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
  52. 52. 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
  53. 53. 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 %
  54. 54. MySQL e Windows Clustering Slave App App App Virtual IP Vote Data Bin
  55. 55. Pré-requisitos• MySQL 5.5 & InnoDB devemser usados como BD (MyISAMnão é crash-safe e o failoverpode resultar em um BDcorrompido)• Windows Server 2008 R2• Conexões de redereduntantes para hosts estorage• WSFC cluster validationdeve passar com sucesso• iSCSI ou FCAL SAN deveser usado como storagecompartilhado
  56. 56. Passo 1/7Configure iSCSI via software (opcional)
  57. 57. Passo 2/7Habilite a opção Windows FailoverClustering
  58. 58. Passo 3/7Instale o MySQL como serviço emambos servidores
  59. 59. 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 ParaC:Program FilesMySQLMySQL Server 5.5 F:MySQL Server 5.5C:ProgramDataMySQLMySQL Server 5.5data F:MySQL Data
  60. 60. Passo 5/7Crie o Windows Failover Cluster
  61. 61. Passo 6/7Crie Cluster de MySQL Servers comWindows Cluster
  62. 62. 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 ou192.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
  63. 63. 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
  64. 64. Mais sobre MySQL
  65. 65. MySQL Treinamento e Certificação Treinamentos MySQL DBA MySQLDeveloper CertificaçõesMySQL Boot Camp MySQL Boot Camp Accelerated AcceleratedMySQL Performance MySQL Performance Tuning Boot Camp Tuning Boot Camp Accelerated AcceleratedMySQL for Begginers MySQL for BegginersMySQL for Database MySQL and PHP Administrators Developing Dynamic Web ApplicationgMySQL Performance Tuning MySQL for Developers MySQL High MySQL Advanced Availability Stored Procedures MySQL Cluster Opcional Necessário http://education.oracle.com
  66. 66. 07-dez-2011Registre-se: http://bit.ly/usLQoD
  67. 67. 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.
  68. 68. Obrigado! Time MySQL Brasilmarcos.trujillo@oracle.com marcelo.t.souza@oracle.com ana.guiselini@oracle.com airton.lastori@oracle.com @MySQLBR meetup.com/MySQL-BR

×