Вы находитесь на странице: 1из 72

<Insert Picture Here>

MySQL no Windows

Marcos Trujillo
marcos.trujillo@oracle.com

Airton Lastori
airton.lastori@oracle.com
nov-2011

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 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

Foco MySQL reas

Investimento Oracle no MySQL


Inovao 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-nvel

MySQL Community Edition


Releases do cdigo-fonte e binrios GPL

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) - Servers: 4 - Hardware: Intel x86 - CPUs/Server: 4 - Cores/CPU: 4 - MySQL: MySQL Enterprise Edition - Microsoft: SQL Server Enterprise Edition

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)

540% performance gain


for MySQL 5.5 over 5.1.50; at scale

SysBench Benchmark
Intel x86_64 4 CPU x 2 Cores/CPU 3.166 GHz, 8GB RAM Windows Server 2008

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)

1560% performance gain


for MySQL 5.5 over 5.1.50; at scale

SysBench Benchmark
Intel x86_64 4 CPU x 2 Cores/CPU 3.166 GHz, 8GB RAM Windows Server 2008

Flexibilidate Multi-Plataforma MySQL


Suporte para 20+ plataformas Sem lock-in de fornecedores Permite uso de LAMP stack em aplicaes Web OEM/ISVs embarcando MySQL em mais mercados com mais flexibilidade para o usurio final

http://mysql.com/support/supportedplatforms/database.html

Facilidade de Uso & Administrao


Desenhado para ser fcil de usar (ex. regra 15min) Mais de 2.000 OEM/ISVs distribuem o MySQL como BD Embarcado Zero Admin Integrao com ambiente Windows nos RDBMS, conectores e ferramentas Tipicamente no 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

Subscries MySQL Cluster


Valor Agregado

Enterprise Edition Standard Edition


Standard + Enterprise +

MySQL Database Premier Support Workbench SE

Plug-Ins Enterprise Monitor Enterprise Backup

Cluster Manager

Subscries MySQL Cluster


Valor Agregado

Enterprise Edition Standard Edition


Standard + Enterprise +

MySQL Database Premier Support Workbench SE

Plug-Ins Enterprise Monitor Enterprise Backup

Cluster Manager

Oracle Suporte para o MySQL

* MySQL Premier Support 5 anos, comeando pelo GA

Suporte Consultivo MySQL

DBA e Desenvolvedores

Subscries MySQL Cluster


Valor Agregado

Enterprise Edition Standard Edition


Standard + Enterprise +

MySQL Database Premier Support Workbench SE

Plug-Ins Enterprise Monitor Enterprise Backup

Cluster Manager

Extenses Comerciais Enterprise Security


Plug-In: MySQL External Authentication

Enterprise Scalability
Plug-In: MySQL Thread Pool

Windows Authentication: Exemplo


Connect as

1. MyDomain\joe faz login na aplicao com senha Windows


Connect as

App Connector
Connect as

Connected

3. A aplicao conecta-se ao MySQL com usurio win_joe.


Connect as

2. MyDomain\joe autenticado via LDAP/AD 4. Tokens so verificados, o usurio win_joe autenticado com Windows login, porm Authenticate com privilgios do MySQL.

Windows Auth

LDAP/AD

CREATE USER win_joe IDENTIFIED WITH authentication_windows AS joe';

Com Thread Pooling Habilitado


Sysbench OLTP: Read Only MySQL 5.5.7 Performance Oracle Linux 5, Unbreakable Kernel
2.6.32 4 sockets, 48 cores, 4 X 12-core AMD Opteron 6172 Magny-Cours 2.1GHz CPUs 64 GB DDR2 RAM 2 X Intel X25E SSD Drives

Transactions Per Second

16000 14000 12000 10000 8000 6000 4000 2000 0 16 32 64 128 256 512 1,0242,0484,096

Without Thead Pool With Thead Pool

Simultaneous Database Connections

Com Thread Pooling Habilitado


Sysbench OLTP: Read / Write MySQL 5.5.7 Performance 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 8000 6000 4000 2000 0 16 32 64 128 256 512 1,0242,0484,096

2 X Intel X25E SSD Drives

Without Thead Pool With Thead Pool

Simultaneous Database Connections

MySQL Enterprise Monitor


Viso nica e consolidada em todo o ambiente MySQL Auto-descoberta dos servidores MySQL, topologias de replicao Regras personalizveis de monitorizao e alertas Identificao 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/

MySQL Enterprise Monitor: Query Analyzer

MySQL Enterprise Backup


Anteriormente InnoDB Hot Backup Online, non-locking backup & recovery
Tables, Indexes Server, database, ou object-level

Backups Lgico e Fsico Backups Completos ou Incrementais Point-in-time recovery Backups Comprimidos Tambm oferece backup e recuperao para MyISAM Multi-plataforma (Windows, Linux, Unix)

http://mysql.com/trials/

Backups

Backups so at 3.5x mais rpidos do que mysqldump

Restores

Restore at 16x mais rpido do que mysqldump


- mysqldump performance no linear (mais tables/indexes impacta na performance) - MySQL Enterprise performance quase linear

Compresso do Backup

O tamanho do Backup reduzido de 65% at 93%

Subscries MySQL Cluster


Valor Agregado

Enterprise Edition Standard Edition


Standard + Enterprise +

MySQL Database Premier Support Workbench SE

Plug-Ins Enterprise Monitor Enterprise Backup

Cluster Manager

Como o MySQL Cluster Manager Ajuda?


Examplo: Upgrade do MySQL Cluster 6.3 to 7.1

Sem MySQL Cluster Manager


1 x verificao preliminar do estado do Cluster 8 x comandos ssh por servidor 8 x comandos stop por processo 4 x edies dos arquivos de configuarao (2 x mgmd & 2 x mysqld) 8 x comandos start por processo 8 x verificaes do processo start e re-joined 8 x verificaes de processos completos 1 x verificao de todo o cluster.

Com MySQL Cluster Manager


upgrade cluster --package=7.1 mycluster;

Total: 1 Comando
Resultados
Reduo de overhead e simplificao de administrao. Reduz risco de downtime por erro do administrador.

Reedio manual de cada arquivo de configurao.

Total: 46 comandos 2h30min. de interao

Ambiente de desenvolvimento em 5 minutos

MySQL Installer

dev.mysql.com/downloads

Plataformas Windows para MySQL


Arquitetura x86 32 & 64 bit: Windows 2008 Windows 2008 RC Windows 7 Windows Vista Windows 2003 Server Windows XP

Windows Connectors
Desenvolvidos pela Oracle Connector/NET ADO.NET Connector/ODBC ODBC Connector/J JDBC Connector/C C API Connector/C++ C++ API Comunidade PHP Perl Python Ruby

Suporte diversas linguagens


www.mysql.com/products/connector

Windows Connectors
Desenvolvidos pela Oracle Connector/NET ADO.NET Connector/ODBC ODBC Connector/J JDBC Connector/C C API Connector/C++ C++ API Comunidade PHP Perl Python Ruby

Suporte Windows
www.mysql.com/products/connector

MySQL Connector/ODBC

Connector/NET
Crie aplicaes .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#

Integrao Visual Studio + MySQL

Integrao Visual Studio + MySQL editando objetos do BD


Tables Columns Views Stored Procs & Functions

Indexes
Foreign Keys Column & Table Properties Using ADO.NET Entity Framework DDL T4 Template Macro

Triggers
User-Defined Functions (UDF) Cloning Database Objects MySQL SQL Editor MySQL Website Configuration Tool

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/

MySQL para DBAs SQL Server


MySQL Users, Databases & Schemas so gerenciados de modo similar ao SQL Server Particionamento e outros recursos avanados presentes tanto na edio Community quanto Enterprise Replicao e alta-disponibilidade em poucos minutos para implementar e com fcil manuteno

MySQL para DBAs SQL Server


Online Hot Backup com MySQL Enterprise Backup Data Types & Stored Procedures
Datatypes

MySQL com alta-disponibilidade no Windows

Alta disponibilidade
Clustering & Redundncia Geogrfica

Custo & Complexidade

Clustering & Virtualizao

Replicao

ISPs & Corporativo

On-Line Services

35 dias

4 days 4 dias

..

eCommerce Telecoms Militar

8 horas

50 min

5 min

Alta disponibilidade

Custo & Complexidade

Replicao Replication

ISPs & Corporativo

On-Line Services

35 dias

4 days 4 dias

..

eCommerce Telecoms Militar

8 horas

50 min

5 min

Replicao possibilita escalabilidade


Aplicao Load Balancer

Writes & Reads

Reads

Reads

Replicao MySQL

Escreva para 1 Master Leia de vrios Slaves, adicione mais quando necessrio Perfeito para aplicaes de leitura intensiva

Alta disponibilidade
Clustering & Redundncia Geogrfica Custo & Complexidade

ISPs & Corporativo

On-Line Services

35 dias

4 days 4 dias

..

eCommerce Telecoms Militar

8 horas

50 min

5 min

MySQL Cluster
Alta Performance
escalabilidade de escrita & baixssima latncia

Disponibilidade
99,999%

Flexibilidade
vrios mtodos de acesso dados (SQL+NoSQL)

Baixo TCO
open source + hardware commodity

Arquitetura MySQL Cluster


MySQL Cluster
Application Nodes

NDB API

REST

LDAP

Application Nodes

Node Group 1
Node 1 Cluster Mgmt F1 F3 F3 F1

Node Group 2
Node 3 F2 F4 F4 F2 Cluster Mgmt

Node 2

Data Nodes

Node 4

Arquitetura MySQL Cluster


MySQL Cluster
Application Nodes

NDB API

REST

LDAP

Application Nodes

Node Group 1
Node 1 Cluster Mgmt F1 F3 F3 F1

Node Group 2
Node 3 F2 F4 F4 F2 Cluster Mgmt

Node 2

Data Nodes

Node 4

MySQL Cluster 7.1 Benchmarks


Performance +4 Milhes 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 Milhes QPS baixo TCO

Resultados confirmados
mikaelronstrom.blogspot.com Iniciativa independente 2 dias de testes

Alta disponibilidade

Custo & Complexidade

Clustering & Virtualizao

ISPs & Corporativo

On-Line Services

35 dias

4 days 4 dias

..

eCommerce Telecoms Militar

8 horas

50 min

5 min

MySQL e Windows Clustering


Slave App App App

Virtual IP

Vote

Data

Bin

Pr-requisitos
MySQL 5.5 & InnoDB devem ser usados como BD (MyISAM no crash-safe e o failover pode resultar em um BD corrompido) Windows Server 2008 R2
Conexes de rede reduntantes para hosts e storage WSFC cluster validation deve passar com sucesso iSCSI ou FCAL SAN deve ser usado como storage compartilhado

Passo 1/7
Configure iSCSI via software (opcional)

Passo 2/7
Habilite a opo Windows Failover Clustering

Passo 3/7
Instale o MySQL como servio em ambos servidores

Passo 4/7
Migre binrios MySQL binaries & dados para shared storage
1. Pare os servios MySQL 2. Modifique as pastas no arquivo de configurao 3. Copie os dados e binrios para o drive compartilhado

De
C:\Program Files\MySQL\MySQL Server 5.5

Para
F:\MySQL Server 5.5

C:\ProgramData\MySQL\MySQL Server 5.5\data

F:\MySQL Data

Passo 5/7
Crie o Windows Failover Cluster

Passo 6/7
Crie Cluster de MySQL Servers com Windows Cluster

Passo 7/7
Teste o Windows Cluster
ws2
192.168.2. 1

1. conecte a aplicao pelo Virtual IP Address 2. durante a migrao ou failover, o WSFC vai alternar o Virtual IP entre os servidores 3. a aplicao deve gerenciar a falha das transaes em curso
192.168.2. 6 192.168.2. 6

slave

VIP 192.168.2.1 8

192.168.2. 1 192.168.5. 1 192.168.5. 2

ws1 192.168.5.
3

ws3

192.168.2. 4

192.168.2. 4

Links MySQL + Windows Clustering


MySQL with Windows Server 2008 R2 Failover Clustering
www.clusterdb.com/mysql/mysql-with-windows-server-2008-r2-failoverclustering

White-paper Windows Failover Clustering


www.mysql.com/why-mysql/whitepapers/mysql_wp_windows_failover_clustering.php

Mais sobre MySQL

MySQL Treinamento e Certificao


Treinamentos
MySQL DBA
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

MySQLDeveloper
MySQL Boot Camp Accelerated
MySQL Performance Tuning Boot Camp Accelerated MySQL for Begginers MySQL and PHP Developing Dynamic Web Applicationg MySQL for Developers MySQL Advanced Stored Procedures

Certificaes

Opcional

http://education.oracle.com

Necessrio

07-dez-2011

Registre-se:
http://bit.ly/usLQoD

Concluso
Windows uma plataforma estratgica 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 tambm suportado no Windows. Linhas de produtos MySQL suportam os desenvolvedores Windows:
Windows Installer (Server + Workbench + Connectors & Drivers); Monitoramento, Tunning Performance, otimizao de Queries; Backup & Recovery; Cluster Manager.

Windows Cluster certificado para Win2008 R2.

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

Вам также может понравиться