37
Airton Lastori [email protected] nov-2011 MySQL sobreviverá à nuvem?

MySQL sobreviverá à nuvem?

Embed Size (px)

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.

Citation preview

Page 1: MySQL sobreviverá à nuvem?

<Insert Picture Here>

Airton Lastori [email protected]

nov-2011

MySQL sobreviverá

à nuvem?

Page 2: MySQL sobreviverá à nuvem?

agenda

MySQL na Oracle

Evolução do MySQL

MySQL e Cloud Computing

Page 3: MySQL sobreviverá à nuvem?

agenda

MySQL na Oracle

Evolução do MySQL

MySQL e Cloud Computing

Page 4: MySQL sobreviverá à nuvem?

Alguns usuários

Page 5: MySQL sobreviverá à nuvem?

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

Top websites

Page 6: MySQL sobreviverá à nuvem?

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

Page 7: MySQL sobreviverá à nuvem?

Foco MySQL – Áreas

Page 8: MySQL sobreviverá à nuvem?

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

Page 9: MySQL sobreviverá à nuvem?

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

Page 11: MySQL sobreviverá à nuvem?

dúvida:

Por que o MySQL é a escolha

para aplicações Web destas e

de milhares de outras

empresas?

Page 12: MySQL sobreviverá à nuvem?

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

Page 13: MySQL sobreviverá à nuvem?

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

Page 14: MySQL sobreviverá à nuvem?

agenda

MySQL na Oracle

Evolução do MySQL

MySQL e Cloud Computing

Page 15: MySQL sobreviverá à nuvem?

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

Page 16: MySQL sobreviverá à nuvem?

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

Page 17: MySQL sobreviverá à nuvem?

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

Page 18: MySQL sobreviverá à nuvem?

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

Page 19: MySQL sobreviverá à nuvem?

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

Page 20: MySQL sobreviverá à nuvem?

agenda

MySQL na Oracle

Evolução do MySQL

MySQL e Cloud Computing

Page 21: MySQL sobreviverá à nuvem?

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)

Page 22: MySQL sobreviverá à nuvem?

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.

Page 23: MySQL sobreviverá à nuvem?

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

Page 24: MySQL sobreviverá à nuvem?

Oracle Public Cloud

PaaS, IaaS

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

Novo nov-2011

Page 25: MySQL sobreviverá à nuvem?

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

Page 26: MySQL sobreviverá à nuvem?

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

Page 27: MySQL sobreviverá à nuvem?

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

Page 28: MySQL sobreviverá à nuvem?

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

Page 29: MySQL sobreviverá à nuvem?

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)

Page 30: MySQL sobreviverá à nuvem?

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!

Page 31: MySQL sobreviverá à nuvem?

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

Page 32: MySQL sobreviverá à nuvem?

• 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

Page 33: MySQL sobreviverá à nuvem?

Performance I Flexibilidade I Simplificação

Page 34: MySQL sobreviverá à nuvem?

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.

Page 35: MySQL sobreviverá à nuvem?

Obrigado!

Time MySQL Brasil

[email protected] [email protected] [email protected] [email protected]

@MySQLBR meetup.com/MySQL-BR

Page 36: MySQL sobreviverá à nuvem?

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

Page 37: MySQL sobreviverá à nuvem?

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