MySQL e Oracle para Desenvolvedores

MySQLBR 958 views 64 slides Jul 30, 2012
Slide 1
Slide 1 of 64
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52
Slide 53
53
Slide 54
54
Slide 55
55
Slide 56
56
Slide 57
57
Slide 58
58
Slide 59
59
Slide 60
60
Slide 61
61
Slide 62
62
Slide 63
63
Slide 64
64

About This Presentation

MySQL e Oracle Database 11g complementam-se mutuamente. São produtos com histórias distintas e concebidos para adequar-se a diferentes casos de uso. Na verdade, muitos clientes da Oracle Database 11g já usam o MySQL. Nesta apresentação vamos explorar algumas das principais diferenças entre os ...


Slide Content

<Insert Picture Here>

MySQL + Oracle = Complementares
visão do desenvolvedor



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

Suporte Oracle ao Open Source/Standards
MySQL & InnoDB, Linux, PHP, Apache, GlassFish,
Eclipse, Berkeley DB, NetBeans, VirtualBox, Xen…
http://www.oracle.com/us/technologies/open-source

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 em:
-aplicações Web 2.0
-aplicações de varejo
-aplicações de entretenimento & mídia
-ACID
-Crash recovery
-Integridade referencial
-Suporta altos níveis de usuários concorrentes
-Na versão MySQL 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

•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

O MySQL é escalável?

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

•Backup
•diminuir carga servidor
•atraso programado
•Análise
•Data Mart
•Data Warehouse
•Integração
•dataset completo
•dataset parcial
•Escalabilidade
•leitura intensiva (mais comum)
•escrita intensiva com particionamento ou outras topologias
Outros usos da replicação

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

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
Custo

&
Complexidade

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
3
rd
Party Solutions
Oracle Clusterware
Custo

&
Complexidade

Alta disponibilidade

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

Node Group 1
F1
F3
Data Node


Node Group 2
F2
F4
Data Node


Cluster
Mgmt
MySQL Cluster: como funciona 1/3
Aplicação
Auto-Sharding
SQL Node

ndb ndb

Data Nodes

Node Group 1
F1
F3
F3
F1
Node 1

Node 2


Node Group 2
F2
F4
F4
F2
Node 3

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

Node 2


Node Group 2
F2
F4
F4
F2
Node 3

Node 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

“MySQL Cluster 7.1 gave us
the perfect combination of
extreme levels of transaction
throughput, low latency &
carrier-grade availability,
while reducing TCO”

Phani Naik, Pyro Group
mysql.com/customers
Caso de sucesso

O MySQL é um SGBD
ultrapassado?

39
•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!

40
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

41
MySQL Cluster 7.2
Os mesmos dados
podem ser acessados
simultaneamente via
SQL & NoSQL

Mais Flexibilidade

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

48
MySQL Workbench
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

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

51
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

52
•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.

53

Devo migrar para MySQL?

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

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

56
•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.

57
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

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

59
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

60
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

61

Onde consigo mais
informação sobre MySQL?

62
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

63
Histórias de Clientes
mysql.com/customers

64
Time MySQL Brasil
[email protected] [email protected] [email protected]
@MySQLBR
meetup.com/MySQL-BR
facebook.com/MySQLBR

65
Obrigado!
Tags