O documento discute o futuro do MySQL e sua capacidade de sobreviver na nuvem. Em três frases:
1) O MySQL é atualmente o banco de dados mais popular para aplicações web e é amplamente utilizado pelos principais sites;
2) A Oracle vem investindo no desenvolvimento do MySQL para melhorar seu desempenho, segurança e capacidade de suportar cargas de trabalho na nuvem;
3) O MySQL oferece recursos que o tornam uma opção adequada para aplicações na nuvem, como alta disponibilidade, escalabilidade e integração com
5. Top websites
fonte: alexa.com/topsites 17-ago-2011
6. 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
8. 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
9. A Oracle está comprometida com o MySQL
...além de manter times de engenharia, suporte,
consultoria, evolução dos produtos open source e
comerciais, certificações...
11. dúvida:
Por que o MySQL é a escolha
para aplicações Web destas e
de milhares de outras
empresas?
12. 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
13. 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
14. agenda
MySQL na Oracle
Evolução do MySQL
MySQL e Cloud Computing
15. Evolução do MySQL
Mais Versão 4.
performance,
drivers, MySQL
Monty, Cluster é Sun
engines. Microsystems é
David e adquirido da
Allan: GPL, LAMP Alzato- adquirida pela
UNIREG, Stack. Ericsson Oracle.
MyISAM Cresce o pela MySQL Versão 5.5 e
e mSQL. ecossistema. AB. Cluster 7.1.
’85… ’95… ’97… ’01… ’03… ’05… ’10…
…’94 …’96 …’00 …’02 …’04 …’09 …’11
Interface SQL Versão 3. Versão 5.
com Logo e InnoBase OY é
Arquitetura website. adquirida pela
Plugável. Oracle.
InnoDB
Surge a para MySQL AB é
MySQL AB. transações adquirida pela
ACID. Sun
Vale do Microsystems.
Silício. Ferramentas
Enterprise.
16. MySQL 5.5 SysBench Benchmarks
MySQL 5.5.4
(New InnoDB)
MySQL 5.1.40
(InnoDB Plug-in)
MySQL 5.1.40
(InnoDB built-in)
364% ganho de desempenho Intel Xeon X7460 x86_64
4 CPU x 6 Cores/CPU
2.66 GHz, 32GB RAM
para MySQL 5.5 sobre 5.1.40 Fedora 10
17. MySQL 5.5 SysBench Benchmarks
MySQL 5.5.4
(New InnoDB)
MySQL 5.1.40
(InnoDB Plug-in)
MySQL 5.1.40
(InnoDB built-in)
200% ganho de desempenho Intel Xeon X7460 x86_64
4 CPU x 6 Cores/CPU
para MySQL 5.5 sobre 5.1.40 2.66 GHz, 32GB RAM
Fedora 10
18. MySQL 5.5 no Windows
MySQL 5.5.6
(New InnoDB)
MySQL 5.1.50
(InnoDB Plug-in)
MySQL 5.1.50
(InnoDB built-in)
SysBench Benchmark
1560% ganho de performance Intel x86_64
4 CPU x 2 Cores/CPU
3.166 GHz, 8GB RAM
para MySQL 5.5 sobre 5.1.40 Windows Server 2008
19. MySQL 5.5 no Windows
MySQL 5.5.6
(New InnoDB)
MySQL 5.1.50
(InnoDB Plug-in)
MySQL 5.1.50
(InnoDB built-in)
SysBench Benchmark
540% ganho de performance Intel x86_64
4 CPU x 2 Cores/CPU
3.166 GHz, 8GB RAM
para MySQL 5.5 sobre 5.1.40 Windows Server 2008
20. agenda
MySQL na Oracle
Evolução do MySQL
MySQL e Cloud Computing
21. Cloud Computing - definições
Não é… É…
› uma nova tecnologia › computação em grade +
› papo de vendedor virtualização + APIs
› simplesmente “a Internet” › sob demanda e self-service
› simplesmente “virtualização” › acessível via Internet
› só uma nova buzzword › abundância, compartilhamento
e elasticidade de recursos
› mais caro no curto prazo do
que adquirir hardware › serviço cobrado pelo uso
› mais barato no longo prazo se › terceirizar riscos e
os recursos forem usados complexidade
intensamente › muitas coisas diferentes para
muitas pessoas (infelizmente)
22. 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.
23. 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
24. Oracle Public Cloud
Novo
nov-2011
PaaS, IaaS
http://www.oracle.com/us/technologies/cloud
25. 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
26. MySQL e Oracle Virtual Machine
Oracle VM Oracle VM
Automatic Fault
Detection &
Recovery
Secure Live
Migration (SSL)
Oracle VM Server Pool
Oracle VM
Manager
Oracle VM Servers
ocfs2 Falhas
Eventos
Planejados: SAN / iSCSI • Server, VM or
database failure
• Maintenance or
• HA Auto-restart in
upgrades
pool
• Secure Live Migration
• Automatic failure
• Zero interruption
detection & recovery
27. Cloud Computing - trade-offs
Vantagens… Desvantagens…
› escalabilidade com recursos › potencial aumento de custos
abundantes no longo prazo
› menor risco de falha de › falta de funcionalidades e
hardware – redundância menor flexibilidade (ex.
› manutenção drasticamente acesso ao disco, SSD)
reduzida › riscos de segurança ao usar
› redução de pessoas recursos compartilhados
› redução do custo inicial de › altamente dependente de links
desenvolvimento e de entrada externos de rede
› falta de autonomia no caso de
falhas
28. 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
29. 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)
30. 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’
Ambiente híbrido rápido e sem surpresas!
Livro: “MySQL High Availability”, cap. 14
O'Reilly Media, 2010
31. Dicas para uso do MySQL no EC2
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
Livro: “MySQL High Availability”, cap. 14
O'Reilly Media, 2010
32. MySQL 5.6 – Um MySQL Melhor DM
DEVELOPMENT
MILESTONE
Performance, Escalabilidade, Monitoramento
• 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...
http://labs.mysql.com
34. 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.
35. Obrigado!
Time MySQL Brasil
marcos.trujillo@oracle.com marcelo.t.souza@oracle.com ana.guiselini@oracle.com airton.lastori@oracle.com
@MySQLBR meetup.com/MySQL-BR
37. MySQL Treinamento e Certificação
Treinamentos
MySQL DBA MySQLDeveloper Certificações
MySQL Boot Camp MySQL Boot Camp
Accelerated Accelerated
MySQL Performance MySQL Performance
Tuning Boot Camp Tuning Boot Camp
Accelerated Accelerated
MySQL for Begginers MySQL for Begginers
MySQL for Database MySQL and PHP
Administrators Developing Dynamic
Web Applicationg
MySQL Performance
Tuning MySQL for Developers
MySQL High MySQL Advanced
Availability Stored Procedures
MySQL Cluster
Opcional
Necessário
http://education.oracle.com