mysql e oracle - guob tech day 2012

Post on 24-May-2015

931 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Quando utilizar MySQL e quando utilizar Oracle Database? Nesta apresentação discutimos os tipos de aplicação e mercados onde o MySQL se destaca e vimos alguns casos de uso onde ambos SGBDs são combinados para complementar a camada de banco de dados.

TRANSCRIPT

11 de Agosto de 2012 no Hotel Blue Tree Morumbi, São Paulo - SP

MySQL + Oracle = Complementares Airton Lastori

<Insert Picture Here>

4

Oracle ou MySQL?

Foco MySQL – Áreas

6

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

7

Resumo: onde o MySQL se encaixa

• Novas aplicações e aplicações customizadas Ad-hoc

• principalmente arquitetura Web (ex. LAMP stack)

• arquiteturas inovadoras, NoSQL (versão 5.6 e Cluster 7.2)

• Aplicações híbridas

• expansão de sistemas legados

• MySQL como front-end e Oracle DB como back-end

• Online e SaaS

• E-commerce/OLTP e pagamentos digitais

• Gerenciamento de Conteúdo (CMS)

• Redes Sociais, mensagens e colaboração

• Games Sociais e MMO

• Gerenciamento de Sessão e Autenticação do usuário

• Datamarts e Relatórios Departamentais

• SMS, e-marketing, Infra Telecom, Infra TI

• Embarcadas

9

Várias Indústrias

mysql.com/customers

10

Por que o MySQL é a escolha

destas e de milhares de outras

empresas?

11

Portfolio Open Source (GPL)

• MySQL Database (Community Server) 5.5.27 GA e 5.6.6 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

12

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. Indicado para empresas ou pessoas físicas que pretendem

aumentar produtividade, diminuir riscos e explorar mais a

fundo as capacidades do MySQL.

13

Tipos de aplicação

0%

10%

20%

30%

40%

50%

60%

70%

Enterprise

Community

14

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

15

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

16

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 1o semestre

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

• Migration Tool

• MySQL Enterprise

Backup 3.8

O MySQL é robusto?

19

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?

26

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

27

Escalabilidade horizontal

• Replicação MySQL • método mais simples e mais comum

• indicado para aplicações de LEITURA intensiva

• problemas com cache duplicado em aplicações com datasets grandes

• Particionamento Funcional • dividir a carga em múltiplos nós, com responsabilidades distintas

• os nós podem ter redundância via replicação para alta-disponibilidade

• normalmente não é transparente para a aplicação e também recorre ao

scale up para cada database funcional, o que impõe limites

• Data Sharding • método de maior sucesso para escalar aplicações MySQL de grande

porte hoje

• dados compartilhados em tabelas/caches globais, SOA

• difícil de adaptar aplicações legadas

28

Escalabilidade horizontal

• Replicação MySQL • método mais simples e mais comum

• indicado para aplicações de LEITURA intensiva

• problemas com cache duplicado em aplicações com datasets grandes

• Particionamento Funcional • dividir a carga em múltiplos nós, com responsabilidades distintas

• os nós podem ter redundância via replicação para alta-disponibilidade

• normalmente não é transparente para a aplicação e também recorre ao

scale up para cada database funcional, o que impõe limites

• Data Sharding • método de maior sucesso para escalar aplicações MySQL de grande

porte hoje

• dados compartilhados em tabelas/caches globais, SOA

• difícil de adaptar aplicações legadas

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

Topologias de Replicação

Single

Multiple

Chain Circular

Multi - Circular Multi - Master

• Backup

• diminuir carga servidor

• atraso programado

• Análise

• Data Mart

• Data Warehouse

• Integração e proximidade geográfica

• dataset completo

• dataset parcial

• Alta-disponibilidade

Outros usos da replicação

O MySQL vai estar

online 24x7?

Aplicação

Replicação para alta-disponibilidade 1/2

Master Slave

• Modelo Ativo-passivo

• Master: ativo

• Slave: passivo

Escritas & Leituras

Aplicação

Replicação para alta-disponibilidade 2/2

Master Slave

Escritas & Leituras

• Fail-over

• Master: down

• Slave: ativo

% 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

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?

45

• MySQL 5.6 criado a partir do MySQL 5.5 através

de melhorias:

• Replicação para maior disponibilidade, integridade de dados

• Otimizador para melhor Performance, Escalabilidade

• Performance Schema para melhor instrumentação

• InnoDB para melhor throughput transacional

• Opções “NotOnlySQL” para maior flexibilidade

MySQL 5.6: um MySQL melhor

Teste agora mesmo:

dev.mysql.com/downloads/mysql

Novo!

46

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

- Disponível para diversas plataformas e linguagens

- Funcionalidades

- automatic space expansion

- auto-restart

- dynamic configuration

- Suporte Oracle Premier

- Ferramentas visuais

MySQL Database, Workbench,

Connectors, Exemplos…

MySQL Installer for Windows

dev.mysql.com/downloads

50

51

52

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

53

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

54

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)

55

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.

56

Devo migrar para MySQL?

57

Relembrando: onde o MySQL se encaixa

• Novas aplicações e aplicações customizadas Ad-hoc

• principalmente arquitetura Web (ex. LAMP stack)

• arquiteturas inovadoras, NoSQL (versão 5.6 e Cluster 7.2)

• Aplicações híbridas

• expansão de sistemas legados

• MySQL como front-end e Oracle DB como back-end

• Online e SaaS

• E-commerce/OLTP e pagamentos digitais

• Gerenciamento de Conteúdo (CMS)

• Redes Sociais, mensagens e colaboração

• Games Sociais e MMO

• Gerenciamento de Sessão e Autenticação do usuário

• Datamarts e Relatórios Departamentais

• SMS, e-marketing, Infra Telecom, Infra TI

• Embarcadas

58

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.

59

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

60

• 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

61

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

62

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

63

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

64

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

65

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

66

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

67

68

Onde consigo mais

informação sobre MySQL?

69

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

70

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

71

Time MySQL Brasil

marcos.trujillo@oracle.com airton.lastori@oracle.com ana.guiselini@oracle.com

@MySQLBR meetup.com/MySQL-BR facebook.com/MySQLBR

72

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!

73

@MySQLBR meetup.com/MySQL-BR facebook.com/MySQLBR

Obrigado!

top related