Upload
mysql-brasil
View
1.386
Download
3
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
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
Cloud
Web & Enterprise OEM & ISVs
Alguns clientes 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
[email protected] [email protected] [email protected] [email protected]
@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