mysql no windows: implementação eficiente de novas aplicações
DESCRIPTION
slides do webcast gravado em 24-mai-2012TRANSCRIPT
![Page 1: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/1.jpg)
<Insert Picture Here>
MySQL no Windows
implementação eficiente de
novas aplicações
Marcos Trujillo [email protected]
Airton Lastori [email protected]
mai-2012
![Page 2: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/2.jpg)
2
INVESTIMENTOS INIGUALÁVEIS
CENTENAS DE ESPECIALISTAS
MAIORES TIMES DE ENGENHARIA DO MySQL &
ORGANIZAÇÃO DE SUPORTE
LINUX
WINDOWS
NoSQL
InnoDB
REPLICAÇÃO
MySQL CLUSTER
MySQL ENTERPRISE EDITION
MELHORIAS DE PERFORMANCE
SUPORTE DE PRIMEIRA CLASSE WEB
CLOUD
EMBARCADO
ESTRATÉGICO
![Page 3: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/3.jpg)
3
Mais Lançamentos de Produtos do que Nunca
2010 2011
• MySQL Workbench 5.2
• MySQL Database 5.5
• MySQL Enterprise Backup 3.5
• MySQL Enterprise Monitor 2.3
• MySQL Cluster Manager 1.1
Todos em GA!
Um MySQL Melhor
2012 Q1
• MySQL Enterprise Monitor 2.2
• MySQL Cluster 7.1
• MySQL Cluster Manager 1.0
• MySQL Enterprise Backup 3.7
• Oracle VM Template for
MySQL Enterprise Edition
• MySQL Enterprise Oracle
Certifications
• MySQL Windows Installer
•MySQL Enterprise Commercial
Extensions
*Development Milestone Release
• MySQL Database 5.6 DMR*
• MySQL Cluster 7.2 DMR
e MySQL Labs!
“mais cedo e com mais frequência”
Liderando a
Inovação do MySQL
Todos em GA!
• MySQL Cluster 7.2: GA!
![Page 4: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/4.jpg)
4
Portfolio Open Source (GPL)
• MySQL Database (Community Server) 5.5.24 GA e 5.6.5 DMR
• MySQL Cluster (NDB Community) 7.2.6 GA
• MySQL Workbench Community Edition 5.2.40 GA
• MySQL Utilities (em Python)
• MySQL Connectors
• ODBC, Java, .Net, C, C++, PHP, OpenOffice
• MySQL Proxy 0.8.2 Alpha
• Documentação: livre para uso, não coberto pela GPL
• Forums
dev.mysql.com/downloads
![Page 5: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/5.jpg)
5
Cloud
Web & Enterprise OEM & ISVs
O MySQL está em todo lugar!
![Page 6: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/6.jpg)
6
MySQL no Windows – Você sabia?
• O Windows é a plataforma de desenvolvimento #1 para MySQL
• O Windows é a plataforma #1 de implantação para usuários da MySQL Community Edition
forums.mysql.com
![Page 7: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/7.jpg)
7
• Por que MySQL no Windows?
• MySQL 5.5 = Performance, Confiabilidade, Facilidade de Uso
• Integração com Ambientes Windows Existentes
• Segurança, Escalabilidade, Alta Disponibilidade
• Ferramentas para Desenvolvedores e DBAs
• Suporte Técnico
Agenda
![Page 8: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/8.jpg)
8
Por que MySQL no Windows?
Menor TCO
Facilidade de Uso Multi-Plataforma
Performance
![Page 9: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/9.jpg)
9
Por que MySQL no Windows?
Menor TCO
Facilidade de Uso Multi-Plataforma
Performance
![Page 10: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/10.jpg)
10
Configuração de Hardware:
- Servidores Intel x86_64: 4, CPUs/Servidor: 4, Cores/CPU: 8
$0
$200.000
$400.000
$600.000
$800.000
$1.000.000
$1.200.000
$1.400.000
$1.600.000
MySQL Enterprise Edition Microsoft SQL Server
2008 Enterprise Edition
Microsoft SQL Server 2012 Enterprise
Edition
$60.000
$769.860
$1.539.776
MySQL vs Microsoft SQL Server Até 96% de economia no Custo Total de Propriedade
mysql.com/tcosavings
![Page 11: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/11.jpg)
11
MySQL Database Performance, Confiabilidade, Facilidade de Uso
Suporte às mais
conhecidas
plataformas/linguagens
de desenvolvimento
Gerenciamento
eficiente e multi-
thread de sessões
Parsing completo
DML+DDL,
otimizador,
baseado em custo,
caching de queries
e resultados
Várias opções de
Storage Engine
para necessidades
específicas das
aplicações
Opções flexíveis de
logging e
armazenamento
físico
![Page 12: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/12.jpg)
12
Mecanismo MySQL Microsoft SQL Server
Memory Caches • InnoDB data cache
• InnoDB log cache
• MyISAM key cache
• Dictionary cache
• Query Cache
• User caches
• Buffer cache
• SQL cache
• Misc caches (lock,
connection, workspace,
etc.)
Redo/Undo Logs • InnoDB Undo Space
• InnoDB Logs
• Binary Log
• TempDB (2005+)
• Transaction Logs
Data Storage • Tablespaces
• Table/Index Files
• Format files
• Filegroups
• Files
Optimizer • Cost-based
• Cost-based
Comparação da Arquitetura do MySQL
![Page 13: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/13.jpg)
13
Comparação das funcionalidades “core”
Funcionalidade MySQL Microsoft
Índices padrões Heap Tables e B-Tree
Tabelas/Índices Particionados
Suporte Transações ACID
Row-Level Locking, MVCC (leituras não bloqueiam escritas)
Integridade Referencial Garantidas pelo Servidor
Indexação Avançada (Clustered, Full-Text)
Suporte robusto a vários tipos de dados (BLOB’s, varchar,
datetime, numerics, etc.)
Replicação
Stored Procedures, Triggers, Functions, Cursors, Updateable Views
Banco de dados em Cluster para Alta Disponibilidade
Otimizador baseado em custo
Backup Online com Point-in-Time Recovery
Suporta Datasets com Terabytes em tamanho
Open Source
![Page 14: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/14.jpg)
14
Por que MySQL no Windows?
Menor TCO
Facilidade de Uso Multi-Plataforma
Performance
![Page 15: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/15.jpg)
15
InnoDB é o Storage Engine padrão
• Transações ACID, FKs, Crash Recovery
Performance Melhorada • Melhorias no MySQL Server
• Melhorias no InnoDB
• + 360% sobre 5.1 no Linux
• + 1500% sobre 5.1 no Windows
Mais Disponibilidade • Replicação Semi-síncrona
• Replicação Heartbeat
Melhor Usabilidade • SIGNAL/RESIGNAL
• Mais Opções de Particionamento
• Novo PERFORMANCE_SCHEMA
MySQL 5.5: a melhor release até hoje!
> 95% de todas aplicações MySQL rodam no InnoDB
![Page 16: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/16.jpg)
16
Otimizações específicas no
MySQL 5.5 para Windows
Melhorias de Performance:
• RW-locks substituídos no MySQL Server pelos RW-
locks nativos do Windows (Windows 7, Windows
2008R2 e posteriores).
• Variáveis condicionais no MySQL Server substituídas
por variáveis condicionais do Windows.
• Incrementos estatísticos substituídos com mutexes
para fazer uso dos incrementos atômicos nativos do
Windows.
• Uso de variáveis condicionais nativas do Windows
Vista e posteriores no InnoDB.
![Page 17: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/17.jpg)
17
MySQL 5.1.50
(InnoDB built-in)
MySQL 5.1.50
(InnoDB Plug-in)
MySQL 5.5.6
(Default InnoDB)
Intel x86_64
4 CPU x 2 Cores/CPU
3.166 GHz, 8GB RAM
Windows Server 2008
540% ganho de performance para MySQL 5.5 sobre 5.1.50
MySQL Database SysBench Benchmarks - Windows
![Page 18: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/18.jpg)
18
MySQL 5.1.50
(InnoDB built-in)
MySQL 5.1.50
(InnoDB Plug-in)
MySQL 5.5.6
(Default InnoDB)
Intel x86_64
4 CPU x 2 Cores/CPU
3.166 GHz, 8GB RAM
Windows Server 2008
1560% ganho de performance para MySQL 5.5 sobre 5.1.50
MySQL Database SysBench Benchmarks - Windows
![Page 19: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/19.jpg)
19
• MySQL 5.6 criado a partir do MySQL 5.5 através
de melhorias:
• Otimizador para melhor Performance, Escalabilidade
• Performance Schema para melhor instrumentação
• InnoDB para melhor throughput transacional
• Replicação para maior disponibilidade, integridade de dados
• Opções “NotOnlySQL” para maior flexibilidade
MySQL 5.6: um MySQL melhor
Teste agora mesmo:
dev.mysql.com/downloads/mysql
Novo!
![Page 20: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/20.jpg)
20
Por que MySQL no Windows?
Menor TCO
Facilidade de Uso Multi-Plataforma
Performance
![Page 21: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/21.jpg)
21
MySQL – Flexibilidade Multi-Plataforma
• Suporte para 20+ Plataformas
• Sem lock-in de fornecedor
• Desenvolva/Teste no Windows, implante no LAMP
• OEM/ISVs podem embarcar o MySQL e distribuir em
mais mercados, oferecendo mais flexibilidade aos
usuários finais
![Page 22: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/22.jpg)
22
Versões Windows para MySQL
Arquiteturas
• x86 – 32 bit e 64 bit
Versões
• Windows 2008
• Windows 2008 RC
• Windows 7
• Windows Vista
• Windows 2003 Server
• Windows XP
![Page 23: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/23.jpg)
23
Por que MySQL no Windows?
Menor TCO Performance
Facilidade de Uso Multi-Plataforma
![Page 24: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/24.jpg)
24
MySQL Conectores/Drivers para Windows
Desenvolvido pela Oracle
• Connector/ODBC ODBC
• Connector/Net ADO.NET
• Connector/J JDBC
• Connector/C C API
• Connector/C++ C++ API
Comunidade
• PHP
• Perl
• Python
• Ruby
Amplo suporte a várias linguagens
mysql.com/products/connector
![Page 25: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/25.jpg)
25
mysql.com/windows
• MS-Access pode suportar um BD de apenas 2GB
• MySQL pode lidar com milhares de conexões
simultâneas
• MySQL tira vantagem de sistemas multi-cpu/core
• MySQL possui melhor segurança, proteção aos
dados, backup, replicação e outras funcionalidades de
SGBDs
• Acesse via MySQL Connector/ODBC
• Mesmo para outros produtos Microsoft Office
Whitepapers
• A Guide to Migrating From Microsoft Access to MySQL
• A Visual Guide to Microsoft Access Front-Ends with MySQL
Migre de MS-Access para MySQL Use Connector/ODBC
![Page 26: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/26.jpg)
26
MySQL Connector/ODBC
![Page 27: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/27.jpg)
27
MySQL Connector/Net Desenvolva aplicativos corporativos no Windows
• Crie aplicações .NET facilmente
• C#,
• ASP.NET
• VB.net
• Connector/Net
• Implementa as interfaces ADO.NET
• Integra com ferramentas compatíveis com ADO.NET
• Driver ADO.NET totalmente gerenciado
• Suporta Windows Authentication
• Open Source, escrito 100% em C#
![Page 28: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/28.jpg)
28
• Compatível com Visual Studio 2010
• Suporte ao .Net 4.x (e anteriores desde 2.x)
• Desenvolvimento Model-First usando Entity Framework
• Editor nativo MySQL no Visual Studio
• Compatível com assistentes do Visual Studio
• Novo modo “MySQL Server” – específico para mysql
• Integração com Web site wizard
• Usado para criar websites ASP.NET com MySQL
Server
• Traz vários “providers”. Adiciona botão na barra de
ferramentas para navegar nestes providers
MySQL Connector/Net Desenvolva aplicativos corporativos no Windows
![Page 29: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/29.jpg)
29
• Ddlt4 template macro para configuração de website
• EF4 – desenvolvimento “model first”
• Inicie com um modelo
• Depois crie o esquema de dados usando
MySQL Templates (forward engineer)
• Habilite ou desabilite a coleta/análise de queries em
tempo de execução – integrado com MySQL
Enterprise Monitor Query Analyzer
• Edite/crie Tabelas, colunas, índices, FKs, views,
Stored Procedures, Functions ….
• Escopos de transação aninhados
MySQL Connector/Net Desenvolva aplicativos corporativos no Windows
![Page 30: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/30.jpg)
30
MySQL Connector/Net 6.5
• Suporte a “partial trust”
• Políticas de segurança MySQL agora equivalem às do
SQL Server. Permite aplicações MySQL rodar sem
problemas em ambientes com partial/medium trust
(hosting/cloud, on-premise).
• “SQL auto-complete” no editor Visual Studio
• Suporte à “command injection”
• Permite sobrescrever commands – importante para
testes, debug, etc.
• Suporte à intercepção de “Exceptions”
• Permite desenvolvedores capturar facilmente exceções
de aplicações para tratamento automático ou debug.
Novo!
![Page 31: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/31.jpg)
31
Materiais sobre Connector/Net
• Integração com Visual Studio http://dev.mysql.com/doc/refman/5.5/en/connector-net-visual-studio.html
• Download do Connector/Netat: http://www.mysql.com/downloads/connector/net/
• Explorando MySQL no ambiente Microsoft .NET http://dev.mysql.com/tech-resources/articles/dotnet/index.html
• MySQL com .NET/C#/Visual Basic/Powershell http://dev.mysql.com/usingmysql/dotnet/
![Page 32: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/32.jpg)
32
MySQL Installer for Windows
• Único arquivo para download e
instalação
• Interface amigável para Windows
• Verifica pré-requisitos automaticamente
• Faz atualizações
• Configura produtos incluídos
• Do download ao desenvolvimento em
3 minutos!
![Page 33: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/33.jpg)
33
• Interface gráfica nativa do
Windows
• Todos produtos MySQL para
desenvolvimento em UM único
pacote
• MySQL Database
• MySQL Connectors
• MySQL Workbench e exemplos de
modelos
• Exemplos de bancos de dados
• Documentação
• Alta integração de produtos,
download sob demanda,
funcionalidades de atualização
MySQL Installer for Windows
![Page 34: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/34.jpg)
34
Configure
Selecione
Atualize
mysql.com/downloads
MySQL Installer for Windows
![Page 35: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/35.jpg)
35
…gerenciar bases Oracle e MySQL?
Questões difíceis
… qual versão do MySQL rodar?
… servidores down?
… os sistemas escalarão?
… política de segurança, muda?
… problemas de performance?
… onde, quando, como “tunar”?
… queries lentas, custosas?
… problemas de replicação?
… produtividade de desenv./QA?
… posso recuperar?
![Page 36: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/36.jpg)
36
Oracle Premier Support
Oracle Product Certifications
MySQL Enterprise High Availability
MySQL Enterprise Security
MySQL Enterprise Scalability
MySQL Enterprise Backup
MySQL Enterprise Monitor/Query Analyzer
MySQL Workbench
Resposta: MySQL Enterprise Edition. • Desenvolvimento Visual BD MySQL, Monitoramento,
Backup e serviços Oracle de suporte técnico
• Totalmente suportado nos sistemas Win 32, 64
![Page 37: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/37.jpg)
37
• Windows
• Acesse serviços nativos do Windows
• Autenticação de usuários já logados no Windows (inclusive Windows Active Directory)
• PAM (Pluggable Authentication Modules)
• Acesse métodos de autenticação externos
• Interfaces padronizadas (Unix, LDAP, Kerberos, outros)
• proxy users
• Pluggable Authentication API – para plug-ins
MySQL Enterprise Security MySQL External Authentication
Integra o MySQL com infra-estruturas de segurança existentes e SOPs.
![Page 38: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/38.jpg)
38
Windows Authentication: Exemplo
Connector
Connect as
1. MyDomain\joe faz login
na aplicação com senha
Windows
Connected
Authenticate
CREATE USER win_joe
IDENTIFIED WITH authentication_windows
AS ‘joe';
App
LDAP/AD Windows
Auth
Connect as
2. MyDomain\joe é
autenticado via
LDAP/AD Connect as
4. Tokens são verificados, o
usuário win_joe é autenticado
com Windows login, porém
com privilégios do MySQL.
Connect as
3. A aplicação conecta-se
ao MySQL com usuário
win_joe.
![Page 39: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/39.jpg)
39
• Gestão de threads padrão do MySQL – performance excelente, mas pode limitar a escalabilidade com o incremento de conexões simultâneas
• MySQL Thread Pool plug-in melhora a escalabilidade sustentando a performance mesmo com o aumento de usuários e o inevitável incremento do número de conexões simultâneas
• Thread Pool API
MySQL Enterprise Scalability MySQL Thread Pool
Performance maior e mais sustentável, acompanhando o crescimento da base de usuários.
![Page 40: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/40.jpg)
40
Gestão Padrão do Thread Pool
Clientes Internos
Gestão Padrão
doThread Pool
Conexões /
Statements
atribuídas aos
Threads durante
sua existência
Threads de Execução para Conexões
Clientes Externos
• Conexões são atribuídas a 1 thread durante a existência da Conexão.
• A mesma thread é usada para todos statements (single threaded)
• Sem priorização das threads e execução dos statements
• Muitas conexões concorrentes = consumo excessivo de memória e overhead no
tratamento de contexto, o que limita a escalabilidade
![Page 41: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/41.jpg)
41
Com o Thread Pool Habilitado
Clientes Externos
Thread Pool
Grupo Thread 1
Threads 1 - 4096
Grupo Thread 2
Threads 4097 - 8193
Grupo Thread N
Threads 8194 - N
Grupo Thread 1
Grupo Thread 2
Grupo Thread N
• O pool contém uma quantidade configurável de Grupo de Threads(default = 16), cada um
gerencia até 4096 threads reusáveis
• Cada conexão é atribuída ao grupo de thread via round robin
• As threads são priorizadas, os statements são enfileirados para limitar as execuções
simultâneas e a carga no servidor, melhorando a escalabilidade quando o volume de
conexões cresce.
Execução das Conexões das Threads
Clientes Internos
![Page 42: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/42.jpg)
42
MySQL Enterprise Edition
Com Thread Pool
MySQL Community Server
Sem Thread Pool
MySQL Enterprise Edition
20x Melhor Escalabilidade com Thread Pool
0
1.000
2.000
3.000
4.000
5.000
6.000
7.000
8.000
Tra
ns
ac
tio
ns
Pe
r S
ec
on
d
Simultaneous Database Connections
MySQL 5.5 Sysbench OLTP Read/Write
MySQL 5.5.16
Oracle Linux 6.1, Unbreakable Kernel 2.6.32
2 sockets, 24 cores, 2 X 12-core
Intel(R) Xeon(R) X5670 2.93GHz CPUs
72GB DDR3 RAM
2 X LSI SCSI Disk (MR9261-8i) (597GB)
![Page 43: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/43.jpg)
43
MySQL Enterprise Edition
Com Thread Pool
MySQL Community Server
Sem Thread Pool
MySQL Enterprise Edition
MySQL 5.5.16
Oracle Linux 6.1, Unbreakable Kernel 2.6.32
2 sockets, 24 cores, 2 X 12-core
Intel(R) Xeon(R) X5670 2.93GHz CPUs
72GB DDR3 RAM
2 X LSI SCSI Disk (MR9261-8i) (597GB)
0
2.000
4.000
6.000
8.000
10.000
12.000
Tra
ns
ac
tio
ns
Pe
r S
ec
on
d
Simultaneous Database Connections
MySQL 5.5 Sysbench OLTP Read Only
3x Melhor Escalabilidade com Thread Pool
![Page 44: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/44.jpg)
44
• Windows Server 2008 R2, MySQL 5.5**
• Quorum (3o voto), dados (InnoDB + schema) &
binários (opcional) em armazenamento
compartilhado (teste com iSCSI & FCAL)
• Failover:
• Manutenção planejada
• Falha do serviço MySQL
• Falhas de conectividade ou no host
• Perda de serviço = alguns segundos + tempo de
recovery do InnoDB:
• Aplicação vê temporariamente uma perda de
conexão e reconecta no mesmo IP
• Slave na Replicação recupera-se automaticamente
• Cluster gerenciado pela interface snap-in MS
Failover Cluster Management
• Nenhum novo software ou script é necessário
App
Virtual IP
Data Bin
Slave App App
Vote
MySQL Enterprise High Availability Windows Server Failover Clustering
** Suporte técnico para Windows Server Failover Clustering deve ser adquirido da Microsoft.
![Page 45: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/45.jpg)
45
MySQL Enterprise Backup
• Backup online para InnoDB
• Backups completos, incrementais, parciais
(automatizados via script)
• Compressão
• Opções de Recovery: Point in Time, Completo, Parcial
• Metadados de status, progresso e histórico
• Tamanho ilimitado do BD
• Multi-Plataforma
• Windows, Linux, Unix
• Certificado para Oracle Secure Backup, compatível SBT
MEB Backup Files
MySQL Database Files
mysqlbackup
Backup e Recovery mais rápidos e online.
![Page 46: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/46.jpg)
46
Um assistente virtual dos DBAs
MySQL Enterprise Monitor • Visão centralizada e global do
ambiente MySQL
• Monitoramento e alertas automatizados, baseados em regras (integra via SMTP, SNMP)
• Capturas de Query, análise para tuning correlacionadas com gráficos de monitoramento
• Monitoramento visual de aplicações/servidores mais importantes
• Monitoramento da replicação em tempo real, descoberta automática das topologias
• Integrado com My Oracle Support
![Page 47: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/47.jpg)
47
MEM Deployment DiagramImplantação do MySQL Enterprise Monitor
Suporta Win 7, Vista, 2003, 2008 Server, XP Pro,
x86 32 e 64 bit
![Page 48: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/48.jpg)
48
MySQL Advisors
160+ Regras, 60+ Gráficos do MySQL e do SO
Administration
• Monitors and Advises on
Optimal Configuration
Security
• Monitors and Advises
on Unplanned Security
Changes/Loopholes
Upgrade
• Monitors and Advises on
Bugs/Upgrades that affect
current installation
Replication
• Monitors and Advises on
Master/Slave Latency.
Memory Usage
• Monitors and advises
on optimal
memory/cache settings
Schema
• Monitors and Advises
on Unplanned Schema
Change
Performance
• Monitors and Advises
on Optimal
Performance Variable
Settings
• Built by DBA to
Enforce Organization
specific best practices.
Custom
MySQL Cluster
• Monitors and Advises on
status/ performance of
MySQL Cluster Data
Nodes.
Economize tempo escrevento, implantando, versionando e mantendo scripts customizados. Minimize riscos agindo em potenciais problemas pró-ativamente.
![Page 49: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/49.jpg)
49
MySQL Query Analyzer
• Monitoramento centralizado de
queries lentas
• Dispensa o uso de Slow Query
Log, SHOW PROCESSLIST
• Alimentado via Connectors
• Visão agregada das estatísticas
de queries: counts, time, rows
• Navegação visual através dos
gráficos e histórico
• Rastreabilidade da query até o
código-fonte da aplicação
Economize tempo minerando execuções atômicas dos logs. Minimize riscos de sobrecarga encontrando e eliminando queries lentas.
![Page 50: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/50.jpg)
50
Query Execution Drill Downs Exemplo execução de query com substituição de variável
Rastreamento do ponto de origem da query no código-fonte
EXPLAIN da execução
![Page 51: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/51.jpg)
51
• Auto-detecção das topologias, agrupando Master/Slaves
• Verificação em tempo real e consolidada do status e sincronização
• Notificações no caso de problemas de sincronização
• Pró-ativo vs reativo
Monitoramento Automatizado da Replicação
Economize tempo monitorando e coletando dados de sincronização automaticamente sem a necessidade de usar linha de comando no MySQL.
![Page 52: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/52.jpg)
52
MySQL Workbench SE Database Design
• Modelagem Visual
• Engenharia reversa e geração do banco
a partir do modelo
• Validação e documentação automática
do Schema
SQL Development
• SQL Editor - Color Syntax Highlighting
• Objetos - Import/Export, Browse/Edit
• Connections - Wizard, SSH Tunnel
Database Administration
• Status, Configuração, Start/Stop
• Usuários, Segurança, Sessions
• Import/Export Dump Files
Scripts & Plug-ins
Interface similar ao VS 2010
Economize tempo no desenv. e gestão de aplicações com MySQL
![Page 53: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/53.jpg)
53
Oracle Premier Support
Oracle Product Certifications
MySQL Enterprise High Availability
MySQL Enterprise Security
MySQL Enterprise Scalability
MySQL Enterprise Backup
MySQL Enterprise Monitor/Query Analyzer
MySQL Workbench
MySQL Enterprise Edition
Capacidade de gerenciar BDs Oracle e MySQL com ferramentas/soluções Oracle que você já utiliza.
![Page 54: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/54.jpg)
54
• WebLogic Server
• Database Adapter for Oracle SOA Suite **
• Oracle Business Process Management **
• Oracle Virtual Directory
• Oracle Data Integrator
• Oracle Enterprise Performance Management **
• Oracle Identity Analytics
• Open SSO STS, Open SSO Fedlet
• Todos já incluem MySQL 5.x JDBC driver
• ** MySQL como opção de Metadata Repository (em
progresso)
MySQL Enterprise Oracle Certifications
![Page 55: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/55.jpg)
55
• Oracle Linux
• Oracle VM
• Oracle VM Template for
MySQL EE
• Oracle GoldenGate
• Oracle Secure Backup
• Oracle Database Firewall
• My Oracle Online Support
MySQL Enterprise Oracle Certifications
Capacidade de gerenciar BDs Oracle e MySQL com ferramentas/soluções Oracle que você já utiliza.
![Page 56: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/56.jpg)
56
• Direto da Fonte
• Maior time de especialistas MySQL
• Contato com MySQL Developers
• Hot Fixes
• Realeases de manutenção
• Suporte MySQL em 29 línguas
• Acesso direto aos engenheiros de suporte MySQL
• 24x7x365
• Número ilimitado de tickets
• Knowledge Base
• Suporte Consultivo MySQL
Oracle Premier Support para MySQL Conte com Os Experts, obtenha benefícios singulares
"The eng that assisted me was
simply outstanding. He immediately
recognized the cause of my problem
and provided the resolution."
-- (July 27, 2011)
mysql.com/support/quotes.html
Somente com
a Oracle
![Page 57: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/57.jpg)
57
…gerenciar bases Oracle e MySQL?
Questões difíceis, soluções reais
… qual versão do MySQL rodar?
… servidores down?
… os sistemas escalarão?
… política de segurança, muda?
… problemas de performance?
… onde, quando, como “tunar”?
… queries lentas, custosas?
… problemas de replicação?
… produtividade de desenv./QA?
… posso recuperar?
• MySQL Enterprise Scalability
• MySQL Enterprise Monitor, Advisors, QUAN
• MySQL Consultative Support
• MySQL Enterprise Monitor, Query Analyzer
• MySQL Enterprise Monitor, Advisors, QUAN
• MySQL Consultative Support
• MySQL Enterprise Monitor, Replication Monitor
• Oracle Premier 7x24 Support
• MySQL Enterprise Scalability
• MySQL Enterprise Monitor, Advisors, QUAN
• MySQL Consultative Support
• Oracle Premier 7x24 Support
• MySQL Enterprise Monitor, Advisors
• MySQL Enterprise High Availability
• MySQL External Authentication
• MySQL Enterprise Monitor, Security Advisor
• MySQL Workbench SE
• MySQL Enterprise Monitor, Query Analyzer
• Oracle Premier 7x24 Support
• MySQL Enterprise Backup
• Oracle Product Certifications
![Page 59: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/59.jpg)
59
Mais informação
mysql.com • MySQL Produtos e Edições
• TCO calculator – teste vários cenários!
• Artigos (White Papers)
• Histórias de clientes e casos de sucesso
• mysql.com/why-mysql/windows – PARADA OBRIGATÓRIA! ;)
dev.mysql.com • Downloads
• Documentação
• Fóruns
• Blog PlanetMySQL
edelivery.oracle.com • Trial 30 dias dos produtos comerciais MySQL
![Page 60: MySQL no Windows: implementação eficiente de novas aplicações](https://reader033.vdocuments.net/reader033/viewer/2022042606/545ca8e2b1af9f2d0a8b4864/html5/thumbnails/60.jpg)
60
Obrigado!
Time MySQL Brasil
[email protected] [email protected] [email protected]
@MySQLBR meetup.com/MySQL-BR facebook.com/MySQLBR