Download - MySQL e Oracle para DBAs
<Insert Picture Here>
MySQL + Oracle = Complementares
visão do DBA
Airton Lastori [email protected]
jul-2012
<Insert Picture Here>
3
Cloud
Web & Enterprise OEM & ISVs
O MySQL está em todo lugar!
4
Portfolio Open Source (GPL)
• MySQL Database (Community Server) 5.5.25 GA e 5.6.5 DMR
• MySQL Cluster (NDB Community) 7.2.7 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
5
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. • Desenvolvimento Visual BD MySQL, Monitoramento,
Backup e serviços Oracle de suporte técnico
• Totalmente suportado nos sistemas Win 32, 64
6
Tipos de aplicação
0%
10%
20%
30%
40%
50%
60%
70%
Enterprise
Community
7
Por que o MySQL é a escolha
destas e de milhares de outras
empresas?
8
Evolução do MySQL
Monty, David e Allan:
UNIREG,MyISAM e mSQL.
Interface SQL com
Arquitetura Plugável.
Surge a MySQL AB.
Mais performance,
drivers, engines.
GPL, LAMP Stack.
Cresce o ecossistema.
Versão 3.
Logo e website.
InnoDB para
transações ACID.
Vale do Silício.
Versão 4.
MySQL Cluster é
adquirido da Alzato-Ericsson
pela MySQL AB.
Versão 5.
InnoBase OY é adquirida pela
Oracle.
MySQL AB é adquirida pela
Sun Microsystems.
Ferramentas Enterprise.
Sun Microsystems é adquirida pela
Oracle.
Versão 5.5 e Cluster 7.1.
’85…
…’94
’95…
…’96 ’97…
…’00
’01…
…’02
’03…
…’04
’05…
…’09
’10…
…’11
9
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
10
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!
Foco MySQL – Áreas
12
MySQL em Aplicações Enterprise
Corporativo Departamental
Imp
ort
an
cia
/Co
mp
lex
idad
e
Majority of New
DB Applications
Innovation &
Change
Ease of Use &
Low Costs
Paramount
Aplicações Corporativas de Missão Crítica
Aplicações Operacionais
Aplicações Críticas para o Negócio
Finanças Globais, ERP, SCM, CRM, HR
De suporte, Departamentais
Impacto no negócio, Interdepartamentais
Por que MySQL é muito utilizado?
1. MySQL: projetado em tempos de Web
2. baixo TCO
3. performance & escalabilidade
4. confiabilidade & disponibilidade
5. LAMP stack
6. facilidade de uso & administração
7. a melhor escolha para SaaS & cloud
8. MySQL Cluster para serviços Web de escala
9. MySQL Enterprise Edition da Oracle
10. MySQL & NoSQL
http://www.mysql.com/why-mysql/white-papers/mysql-wp-top10-webbased-apps.php
O MySQL é robusto?
15
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
InnoDB no MySQL
- Storage Engine mais utilizado
- aplicações Web 2.0
- aplicações de varejo
- aplicações de entretenimento & mídia
- ACID, transacional
- Crash recovery
- Integridade referencial
- Suporta altos níveis de usuários concorrentes
- No MySQL versão 5.5
- padrão
- otimizado para hardware multi-core, multi-thread e SOs
Confiabilidade: Segurança
- Autenticação e autorização com altra granularidade
- Capacidade de bloquear usuários por cliente
- Framework de privilégios por objetos do schema
- Suporte SSH e SSL
- Funções de criptografia
- Ferramentas de Backup & Recovery
- mysqldump
- MySQL Enterprise Backup
Confiabilidade: Robustez
- Oracle QA
- processo
- testes
- Modelo Open Source
- labs.mysql.com
- comunidade numerosa e atuante
- Oferta Enterprise
- Plug-ins de Escalabilidade e Segurança
- Monitoramento
- Hot Backup
- Workbench SE
- Suporte 24x7 técnico e CONSULTIVO
O MySQL é escalável?
22
Scale Out
• Adicionar mais servidores
para aumentar performance
• MySQL adota esta
abordagem em sistemas
altamente escaláveis em
hardware commodity (Intel /
AMD)
Scale Up
• Trocar por hardware mais
poderoso, adicionar
memória, CPU
• Outras soluções
normalmente usam
hardware proprietário
(SMP)
Escalabilidade: horizontal vs vertical
É possível combinar as duas abordagens
Aplicação
Replicação MySQL: como escalar 1/2
Master Slave
• Divisão de leituras e escritas (R/W Split)
• Modelo assíncrono (padrão)
• Modelo semi-síncrono (a partir da versão 5.5)
Escritas & Leituras Leituras
Replicação MySQL: como escalar 2/2
Leituras Leituras
• Escreva para 1 Master
• Leia de vários Slaves, adicione mais quando necessário
• Perfeito para aplicações de leitura intensiva
Aplicação
Replicação MySQL
Load Balancer
Master Slave Slave
Escritas & Leituras
Benefício-chave
• O MySQL permite economias
significativas com custos de
hardware, adicionando novos
servidores commodity de
acordo com o necessário e de
maneira incremental
Por que MySQL? • Capacidade de escalar
conforme necessidade e de
maneira incremental
• Baixos custos e flexibilidade
Wikipedia
mysql.com/customers
Caso de sucesso
• Backup
• diminuir carga servidor
• atraso programado
• Análise
• Data Mart
• Data Warehouse
• Integração
• dataset completo
• dataset parcial
• Alta-disponibilidade
Outros usos da replicação
O MySQL vai estar
online 24x7?
% 9 9 9 9 35 dias 4 days 50 min 5 min 8 horas
Replicação
Clustering &
Virtualização
Clustering &
Redundância
Geográfica
ISPs &
Corporativo
On-Line
Services
eCommerce
Telecoms
Militar
. 9 .
4 dias
Cu
sto
& C
om
ple
xid
ad
e
Alta disponibilidade
% 9 9 9 9 35 dias 4 days 50 min 5 min 8 horas
Replicação
Clustering &
Virtualização
Clustering &
Redundância
Geográfica
ISPs &
Corporativo
On-Line
Services
eCommerce
Telecoms
Militar
.
Replicação
9 . 4 dias
3rd Party Solutions
Oracle Clusterware
Cu
sto
& C
om
ple
xid
ad
e
Alta disponibilidade
1. Operação de Escrita
Aplicação
2. Mudanças
escritas no binlog
Replicação MySQL: como funciona 1/3
4. SQL Thread
aplica mudanças
do relaylog para o
MySQL
3. I/O Thread copia
mudanças do binlog
para relaylog
Master Slave
• Recurso nativo do MySQL
• Slave adiciona carga mínima ao Master
Aplicação
Replicação MySQL: como funciona 2/3
Master Slave
• Modelo Ativo-passivo
• Master: ativo
• Slave: passivo
Escritas & Leituras
Aplicação
Replicação MySQL: como funciona 3/3
Master Slave
Escritas & Leituras
• Fail-over
• Master: down
• Slave: ativo
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
Data Nodes
F1
F3
Da
ta N
od
e
F2
F4
Da
ta N
od
e
Cluster
Mgmt
MySQL Cluster: como funciona 1/3
Aplicação
Auto-Sharding
SQ
L N
od
e
ndb ndb
Data Nodes
Node Group 1
F1
F3
F3
F1
No
de
1
No
de
2
Node Group 2
F2
F4
F4
F2
No
de
3
No
de
4
Application Nodes
Cluster
Mgmt
Cluster
Mgmt
LDAP REST
MySQL Cluster Application Nodes
NDB API
MySQL Cluster: como funciona 2/3
Replicação
Síncrona
Node Group 1 Node Group 2
Node Group 1
F1
F3
F3
F1
No
de
1
No
de
2
Node Group 2
F2
F4
F4
F2
No
de
3
No
de
4
Application Nodes
Cluster
Mgmt
Cluster
Mgmt
LDAP REST
MySQL Cluster Application Nodes
NDB API
MySQL Cluster: como funciona 3/3
Replicação
Síncrona
Self-Healing Geo-Replicação
Node Group 1 Node Group 2
•2 milhões usuários, com 30.000
novos usuários por dia
•10.000 usuários concorrentes
•10.000 Transações Por Segundo
•99.999% uptime
“The MySQL support service
has been essential in helping us
for troubleshooting and giving
recommendations for the
production cluster.”
Carlos Morales (DBA), Playfulplay.com
blogs.oracle.com/MySQL/entry/mysql_cluster_powers_el_chavo
Caso de sucesso
O MySQL é um SGBD
ultrapassado?
40
• MySQL 5.6 criado a partir do MySQL 5.5 através
de melhorias:
• Opções “NotOnlySQL” para maior flexibilidade
• Replicação para maior disponibilidade, integridade de dados
• Otimizador para melhor Performance, Escalabilidade
• Performance Schema para melhor instrumentação
• InnoDB para melhor throughput transacional
MySQL 5.6: um MySQL melhor
Teste agora mesmo:
dev.mysql.com/downloads/mysql
Novo!
41
Mais flexibilidade, menor complexidade NoSQL com MySQL 5.6
• Memcached daemon plug-in to mysqld
• Memcached protocol mapped to the native InnoDB API
• Shared process space for ultra-low latency
InnoDB Storage Engine
MySQL Server Memcached
plugin
Application
SQL
MySQL Client
NoSQL
Memcached Protocol
mysqld
42
MySQL Cluster 7.2
Os mesmos dados
podem ser acessados
simultaneamente via
SQL & NoSQL
Mais Flexibilidade
43
Benefícios-chave
• Propriedades ACID
• Solução comprovada por muitas
empresas ao longo de anos
• Por que MySQL? • Escalabilidade virtualmente infinita:
hoje com 20 milhões de usuários, 1
bilhão de Notes e 2 bilhões de
arquivos (fotos, documentos etc)
• Flexibilidade para crescer de
maneira incremental e com baixos
custos
Caso de sucesso
Evernote
blog.evernote.com/tech/2012/02/23/whysql
O MySQL é complicado?
Facilidade de uso e administração
- Regra dos 15min
- Ainda mais rápido com Windows Installer
- Funcionalidades
- automatic space expansion
- auto-restart,
- dynamic configuration
- Ferramentas visuais
- Arquitetura flexível
- convite à experimentação
- permite inovação acelerada através de customizações
- Disponível para diversas plataformas e linguagens
MySQL Database, Workbench,
Connectors, Exemplos…
MySQL Installer for Windows
dev.mysql.com/downloads
47
48
49
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
50
• 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!
MySQL Enterprise Monitor
http://mysql.com/trials/
51
MySQL Advisors
150+ regras
50+ gráficos MySQL e 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.
52
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.
53
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
54
• 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.
55
• Coleta diagnósticos MySQL e compartilha com MySQL Support
• Acompanhamento de Service Requests a partir do Dashboard
Integração com My Oracle Support
56
MySQL Enterprise Backup
• Anteriormente “InnoDB Hot Backup”
• Online, non-locking backup & recovery • Tabelas, Índices
• Níveis: servidor, database ou objeto
• Backups Lógico e Físico
• Backups Completos, Incrementais ou Parciais
• Point-in-time recovery
• Backups Comprimidos
• Também oferece backup e recuperação para MyISAM
• Multi-plataforma (Windows, Linux, Unix)
• Certificado para Oracle Secure Backup (SBT 2.0)
57
Como o MySQL Cluster Manager Ajuda?
Examplo: Upgrade do MySQL Cluster 6.3 to 7.2
• 1 x verificação preliminar do estado do Cluster
• 8 x comandos ssh por servidor
• 8 x comandos stop por processo
• 4 x edições dos arquivos de configuaração (2 x
mgmd & 2 x mysqld)
• 8 x comandos start por processo
• 8 x verificações do processo start e re-joined
• 8 x verificações de processos completos
• 1 x verificação de todo o cluster.
• Reedição manual de cada arquivo de configuração.
Total: 46 comandos – 2h30min. de interação
Sem MySQL Cluster Manager Com MySQL Cluster Manager
upgrade cluster --package=7.2 mycluster;
Total: 1 Comando
Resultados Redução de overhead e simplificação de
administração.
Reduz risco de downtime por erro do
administrador.
58
Devo migrar para MySQL?
59
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.
60
• 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.
61
• 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
62
Enterprise Manager
Audit Vault
Secure Backup
DBAs
Sysadmins
Custo
mers
Web Servers
Application Servers
Distributed Caching
MySQL Cluster
MySQL (InnoDB)
MySQL (MyISAM)
Web Servers
Frontend
ETL/Data Integration Application Integration
ERP CRM
Intranet Apps
Oracle Exadata
Oracle RAC Oracle RAC
Oracle MySQL
Em
plo
yees
Suppl.
Ba
cke
nd
MySQL + Oracle
63
Benefícios-chave
• Sistema escalável, de baixo custo e
personalizado para atender
necessidades de gerenciamento de
sessão.
• Gerencia 4 bilhões de request por dia
numa razão 50/50 entre leituras e
escritas.
Por que MySQL+Oracle?
• Custo
• Performance: 13.000 TPS numa Sun
Fire x4100
• Escalabilidade: desenhado para
suportar crescimento futuro de 10x
• Transações realizadas pelo Oracle
Database
mysql.com/customers
Caso de sucesso
64
Benefícios-chave
• Ao migrar do Microsoft SQL Server
para MySQL+Oracle, foi possível
escalar 4 vezes mais e crescer a
base de usuários de 10 milhões para
100 milhões
Por que MySQL+Oracle?
• "At Ticketmaster, we use MySQL and Oracle to complement each other. The end result is a highly-distributed, optimal-performing database environment that powers one of the largest e-commerce and ticketing sites in the world.”
Ed Presz – Sr. Director Database Engineering
Ticketmaster/Live Nation Entertainment, Inc.
mysql.com/customers
Caso de sucesso
65
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
66
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
67
• Wizard para migração de tabelas e dados:
• MS-SQL Server 2000, 2005, 2008 e 2012.
• SGBDs em geral via ODBC
• Mapeamento personalizado (opcional)
• Integrado ao Workbench open source e gratuito
MySQL Migration Tool
Download:
mysql.com/downloads
Documentação:
dev.mysql.com/doc/workbench/en/wb-migration.html
Novo!
68
69
Onde consigo mais
informação sobre MySQL?
70
MySQL Treinamento e Certificação
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
MySQL DBA
MySQL Boot Camp
Accelerated
MySQL for Developers
MySQL Performance
Tuning Boot Camp
Accelerated
MySQL for Begginers
MySQL and PHP
Developing Dynamic
Web Applicationg
MySQL Advanced
Stored Procedures
MySQLDeveloper
education.oracle.com
Treinamentos
Certificações
Opcional
Necessário
71
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
dev.mysql.com • Downloads
• Documentação
• Fóruns
• Blog PlanetMySQL
edelivery.oracle.com • Trial 30 dias dos produtos comerciais MySQL
72
Time MySQL Brasil
[email protected] [email protected] [email protected]
@MySQLBR meetup.com/MySQL-BR facebook.com/MySQLBR
73
sumário
O portfólio MySQL evolui de maneira acelerada, com diversas
melhorias tanto em produtos Community quanto Enterprise.
Estas melhorias reforçam o compromisso Oracle com MySQL e
com a estratégia Open Source como modelo de negócio.
Combinar MySQL com Oracle Database está cada vez mais fácil
para você aproveitar o que há de melhor nos dois SGBDs.
O MySQL é o Banco de Dados Open Source mais popular do
mundo e a Oracle está trabalhando para um MySQL ainda
melhor. Explore todas suas vantagens!
74
@MySQLBR meetup.com/MySQL-BR facebook.com/MySQLBR
Obrigado!