MySQL no Windows

  • 2,164 views
Uploaded on

Por que MySQL no Windows? …

Por que MySQL no Windows?

Ambiente de desenvolvimento em 5 minutos

MySQL com alta-disponibilidade no Windows

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,164
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
71
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. <Insert Picture Here> MySQL no Windows Marcos Trujillo marcos.trujillo@oracle.com Airton Lastori airton.lastori@oracle.com nov-2011
  • 2. Agenda• Por que MySQL no Windows?• Ambiente de desenvolvimento em 5 minutos• MySQL com alta-disponibilidade no Windows
  • 3. Por que MySQL no Windows?
  • 4. Alguns clientes
  • 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
  • 7. Foco MySQL – Áreas
  • 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. 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 EnterpriseValor 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 EnterpriseValor 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
  • 18. Suporte Consultivo MySQLDBA eDesenvolvedores
  • 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. Extensões Comerciais• Enterprise Security • Plug-In: MySQL External Authentication• Enterprise Scalability • Plug-In: MySQL Thread Pool
  • 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. 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. 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. 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. MySQL Enterprise Monitor: Query Analyzer
  • 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. BackupsBackups são até 3.5x mais rápidos do que mysqldump
  • 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. Compressão do BackupO tamanho do Backup é reduzido de 65% até 93%
  • 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. 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. Ambiente dedesenvolvimento em 5 minutos
  • 33. MySQL Installer dev.mysql.com/downloads
  • 34. Plataformas Windows para MySQLArquitetura x86 32 & 64 bit:• Windows 2008• Windows 2008 RC• Windows 7• Windows Vista• Windows 2003 Server• Windows XP
  • 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. 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. MySQL Connector/ODBC
  • 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. Integração Visual Studio + MySQL
  • 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. 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. 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. MySQL para DBAs SQL ServerOnline “Hot” Backup com MySQL Enterprise BackupData Types & Stored Procedures Datatypes
  • 44. MySQL comalta-disponibilidade no Windows
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. MySQL e Windows Clustering Slave App App App Virtual IP Vote Data Bin
  • 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. Passo 1/7Configure iSCSI via software (opcional)
  • 57. Passo 2/7Habilite a opção Windows FailoverClustering
  • 58. Passo 3/7Instale o MySQL como serviço emambos servidores
  • 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. Passo 5/7Crie o Windows Failover Cluster
  • 61. Passo 6/7Crie Cluster de MySQL Servers comWindows Cluster
  • 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. 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. Mais sobre MySQL
  • 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. 07-dez-2011Registre-se: http://bit.ly/usLQoD
  • 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. 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