MySQL sobreviverá à nuvem?

Post on 18-Dec-2014

1.386 views 3 download

description

veremos como o MySQL se tornou o banco de dados Open Source mais popular do mundo e como ele contribuiu para a Web como a conhecemos hoje. Também conheceremos algumas das novidades na evolução do produto em tempos de Cloud Computing.

Transcript of MySQL sobreviverá à nuvem?

<Insert Picture Here>

Airton Lastori airton.lastori@oracle.com

nov-2011

MySQL sobreviverá

à nuvem?

agenda

MySQL na Oracle

Evolução do MySQL

MySQL e Cloud Computing

agenda

MySQL na Oracle

Evolução do MySQL

MySQL e Cloud Computing

Alguns usuários

fonte: alexa.com/topsites 17-ago-2011

Top websites

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

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

...além de manter times de engenharia, suporte,

consultoria, evolução dos produtos open source e

comerciais, certificações...

A Oracle está comprometida com o MySQL

dúvida:

Por que o MySQL é a escolha

para aplicações Web destas e

de milhares de outras

empresas?

Por que MySQL é muito utilizado?

1. MySQL: projetado para a 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

Por que MySQL é muito utilizado?

1. MySQL: projetado para a 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

agenda

MySQL na Oracle

Evolução do MySQL

MySQL e Cloud Computing

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

MySQL 5.5 SysBench Benchmarks

MySQL 5.1.40 (InnoDB built-in)

MySQL 5.1.40 (InnoDB Plug-in)

MySQL 5.5.4 (New InnoDB)

Intel Xeon X7460 x86_64

4 CPU x 6 Cores/CPU

2.66 GHz, 32GB RAM

Fedora 10

364% ganho de desempenho para MySQL 5.5 sobre 5.1.40

MySQL 5.5 SysBench Benchmarks

Intel Xeon X7460 x86_64

4 CPU x 6 Cores/CPU

2.66 GHz, 32GB RAM

Fedora 10

MySQL 5.1.40 (InnoDB built-in)

MySQL 5.1.40 (InnoDB Plug-in)

MySQL 5.5.4 (New InnoDB)

200% ganho de desempenho para MySQL 5.5 sobre 5.1.40

MySQL 5.5 no Windows

MySQL 5.1.50

(InnoDB built-in)

MySQL 5.1.50

(InnoDB Plug-in)

MySQL 5.5.6

(New InnoDB)

SysBench Benchmark

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

MySQL 5.1.50

(InnoDB built-in)

MySQL 5.1.50

(InnoDB Plug-in)

MySQL 5.5.6

(New InnoDB)

SysBench Benchmark

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

MySQL 5.5 no Windows

agenda

MySQL na Oracle

Evolução do MySQL

MySQL e Cloud Computing

Cloud Computing - definições

Não é…

› uma nova tecnologia

› papo de vendedor

› simplesmente “a Internet”

› simplesmente “virtualização”

› só uma nova buzzword

› mais caro no curto prazo do

que adquirir hardware

› mais barato no longo prazo se

os recursos forem usados

intensamente

É…

› computação em grade +

virtualização + APIs

› sob demanda e self-service

› acessível via Internet

› abundância, compartilhamento

e elasticidade de recursos

› serviço cobrado pelo uso

› terceirizar riscos e

complexidade

› muitas coisas diferentes para

muitas pessoas (infelizmente)

Cloud Computing – modelos de serviços

Infrastructure as a Service (IaaS)

• recursos remotos são alocados como instâncias virtuais completas de plataformas de hardware e Sistemas Operacionais.

Platform as a Service (PaaS)

• o fornecedor hospeda o ambiente de desenvolvimento e ferramentas de programação, permitindo aos clientes construirem e executar suas aplicações neste próprio ambiente.

Software as a Service (SaaS)

• o software é fornecido como um recurso na forma de aplicação e acessível via Web.

Cloud Computing – distribuição

Public

• Todos podem ver e compartilhar os recursos

Private

• Apenas proprietários podem ver os recursos

Hybrid

• Parte dos recursos privados, outros visíveis

Community

• Grupos específicos compartilham recursos

Oracle Public Cloud

PaaS, IaaS

http://www.oracle.com/us/technologies/cloud

Novo nov-2011

Estratégia Oracle: Completa. Aberta. Integrada.

• Construído em conjunto

• Testado em conjunto

• Gerido em conjunto

• Manutenção em conjunto

• Baseada em padrões abertos

• Menor custo

• Menor risco

• Mais confiável

Oracle VM Servers

Oracle VM Server Pool

ocfs2

Oracle VM

Manager

SAN / iSCSI

Secure Live

Migration (SSL)

Oracle VM

Automatic Fault

Detection &

Recovery

MySQL e Oracle Virtual Machine

Oracle VM

Eventos

Planejados: • Maintenance or

upgrades

• Secure Live Migration

• Zero interruption

Falhas • Server, VM or

database failure

• HA Auto-restart in

pool

• Automatic failure

detection & recovery

Cloud Computing - trade-offs

Vantagens…

› escalabilidade com recursos

abundantes

› menor risco de falha de

hardware – redundância

› manutenção drasticamente

reduzida

› redução de pessoas

› redução do custo inicial de

desenvolvimento e de entrada

Desvantagens…

› potencial aumento de custos

no longo prazo

› falta de funcionalidades e

menor flexibilidade (ex.

acesso ao disco, SSD)

› riscos de segurança ao usar

recursos compartilhados

› altamente dependente de links

externos de rede

› falta de autonomia no caso de

falhas

Cloud Computing – utilização típica

Serviços web tradicionais

• provedores de conteúdo

Serviços compartilhados

• uma ou mais aplicações compartilhadas por múltiplos usuários/clientes

Aumento da abrangência corporativa

• expanção da TI tradicional para a web

• Amazon Virtual Private Cloud (VPC)

Explosão na nuvem

• permite a expansão rápida para atingir as necessidades de negócio que podem ter picos ao longo do tempo

Pesquisa & Desenvolvimento

• permite conduzir experimentos sem a necessidade de adquirir hardware dedicado e/ou temporário

MySQL e Cloud Computing

• Clouds Privadas

• Oracle Virtual Machine Templates, Ferramentas

• Combinação perfeita com IaaS

• Memória abundante, velocidade e facilidade de scale-out

• Diversos casos de sucesso SaaS

• RightNow, SugarCRM, Omniture, Supply Dynamics,

Workday, Zimbra

• Disponível como PaaS

• Amazon RDS (Relational Database Service)

• Google Cloud SQL (MySQL no AppEngine)

Exemplo: MySQL Replication e EC2

Master na ‘nuvem’, slave local (hardware real)

1. Carregue uma instância LAMP Web Starter image

2. Conecte à instância e configure como master

3. Inicie o MySQL server na instância

4. Inicie um MySQL server local

5. Configure o MySQL server local como slave

6. Conecte o slave ao master na ‘nuvem’

Livro: “MySQL High Availability”, cap. 14

O'Reilly Media, 2010

Ambiente híbrido rápido e sem surpresas!

Dicas para uso do MySQL no EC2

Livro: “MySQL High Availability”, cap. 14

O'Reilly Media, 2010

1. Rode apenas um MySQL Server por instância EC2 e prefira IP estático

2. Use tipos de instâncias maiores para uso pesado, mas privilegie os

tipos de instância existentes

3. Use volumes EBS e crie volumes adicionais para tablespaces

separadas de InnoDB – melhor performance I/O

4. Aqueça partições com comando dd (Linux) e monte com opções

noatime e nodiratime - melhor performance I/O

5. Revise a configuração padrão do MySQL server

6. Monitore com o MySQL Enterprise Monitor e backups com S3

snapshotting e MySQL Enterprise Backup

7. Use Amazon Elastic Load Balancing e replicação nativa do MySQL

para alta-disponibilidade

• Melhorias de performance baseadas no Optimizer

• Particionamento com melhor usabilidade

• PERFORMANCE_SCHEMA mais completo

• InnoDB

• Full Text Search

• Melhorias nos mecanismos REDO e UNDO logs,

Buffer Pool warming, ibd auto-ext, page size...

• Replication

• Binlog API, Backup, Group Commit

• Multi-threaded Slaves, Universal Transaction Ids...

MySQL 5.6 – Um MySQL Melhor

Performance, Escalabilidade, Monitoramento

DM DEVELOPMENT

MILESTONE

http://labs.mysql.com

Performance I Flexibilidade I Simplificação

Sumário

MySQL é o banco de dados Open Source mais

popular do mundo.

A Oracle acelerou a evolução do MySQL e está

adicionando várias funcionalidades para atender

requisitos de Cloud Computing.

Obrigado!

Time MySQL Brasil

marcos.trujillo@oracle.com airton.lastori@oracle.com marcelo.t.souza@oracle.com ana.guiselini@oracle.com

@MySQLBR meetup.com/MySQL-BR

Downloads & Trials

dev.mysql.com

edelivery.oracle.com

Documentação, Blogs & Fóruns

dev.mysql.com/doc

planet.mysql.com

forums.mysql.com

Artigos & Casos de Sucesso

mysql.com/why-mysql/white-papers

mysql.com/customers

Links

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

http://education.oracle.com

Treinamentos

Certificações

Opcional

Necessário