Guia para criar conta no DreamSpark e Azure + Banco de Dados MySQL
MySQL - o banco de dados open source mais popular do mundo
-
Upload
mysql-brasil -
Category
Technology
-
view
3.124 -
download
2
description
Transcript of MySQL - o banco de dados open source mais popular do mundo
<Insert Picture Here>
Airton Lastori [email protected]
set-2011
MySQL O Banco de Dados Open Source
mais popular do mundo
The preceding is intended to outline our
general product direction. It is intended for
information purposes only, and may not be
incorporated into any contract. It is not a
commitment to deliver any material, code, or
functionality, and should not be relied upon in
making purchasing decisions.
The development, release, and timing of any
features or functionality described for
Oracle’s products remains at the sole
discretion of Oracle.
Alguns clientes
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
dúvida:
Por que o MySQL é a escolha
para aplicações Web destas e
de milhares de outras
empresas?
Agenda
• história do MySQL
• razões para utilizar MySQL em web apps
• como alguns clientes implantam o MySQL
• uso profissional e certificado do MySQL
MySQL
uma história de sucesso
Conhecendo melhor o MySQL
MyISAM e mSQL
Nova interface SQL com
arquitetura mais flexível
Nome MySQL dado
pelo co-fundador
Monty Widenius, surge a
MySQL AB
Cresce o ecosistema
MySQL, pautado no
modelo open
source
MySQL Cluster é
adquirido da Ericsson
pela MySQL AB
MySQL AB é adquirida pela
Sun Microsystems
Sun Microsystems é adquirida pela
Oracle
razões para utilizar o MySQL em
web apps
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
Filesystems, Files and Logs
Redo, Undo, Data, Index, Binary, Error, Query and Slow
Connectors
Native C API, JDBC, ODBC, .Net, PHP, Ruby, Python, VB, Perl
Connection Pool
Authentication – Thread Reuse – Connection Limits – Check Memory – Caches
Enterprise Management
Services and Utilities
Backup & Recovery
Security
Replication
Cluster
Partitioning
Instance Manager
Information_Schema
MySQL Workbench
SQL Interface
DDL, DML, Stored
Procedures, Views,
Triggers, Etc..
Parser
Query Translation,
Object Privileges
Optimizer
Access Paths,
Statistics
Caches
Global and Engine
Specific Caches and
Buffers
Pluggable Storage Engines
Memory, Index and Storage Management
InnoDB MyISAM Cluster Etc… Partners Community More..
MySQL Server Clients and Apps
Arquitetura MySQL Server
InnoDB no MySQL
- Storage Engine mais utilizado em:
- aplicações Web 2.0
- aplicações de varejo
- aplicações de entretenimento & mídia
- ACID
- Crash recovery
- Integridade referencial
- Suporta altos níveis de usuários concorrentes
- Na versão MySQL 5.5:
- padrão
- otimizado para hardware multi-core, multi-thread e SOs
Rápido Gerenciamento de Conexões
Connectors
Native C API, JDBC, ODBC, .Net, PHP, Ruby, Python, VB, Perl
Connection Pool
Authentication – Thread Reuse – Connection Limits – Check Memory – Caches
Uso da Memória Disponível
- Sistema de caches padão na indústria:
- dados
- índices
- Main memory tables & standard disk tables
- como parte do Schema (NDB)
- aquecimento (warm up)
- Query cache
- projetado para aplicações Web: queries repetitivas
- armazena query e result set, aliviando o uso de CPU
NoSQL com Memcached API acessando InnoDB,
otimizador melhorado,
store engines mais inteligentes,
melhor instrumentação...
labs.mysql.com
MySQL Server 5.6 DM DEVELOPMENT
MILESTONE
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
Baixo custo total de propriedade
- Modelo Open Source
- Hardware commodity
- Escalabiliade horizontal e incremental
- Fácil manutenção
- Edição Enterprise com excelente TCO
MySQL vs MS-SQL Server
mysql.com/tcosavings
Duração • 3 anos
Configuração e hardware • Web application
(Unlimited Users)
• Windows
• Intel x86
• Servers: 4
• CPUs/Server: 4
• Cores/CPU: 4
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
Desafio de manter a performance
- mudanças rápidas exigidas pelo mercado:
- consumidor ou concorrência
- crescimento acelerado: conexões e volume de dados
Como manter a mesma performance tanto para
LEITURAS quanto para ESCRITAS?
Writes & Reads Reads Reads
• 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
Replicação possibilita escalabilidade
Outras funcionalidades de alta performance
- Particionamento de dados
- separação dos dados e índices
- otimizador inteligente
- Suporte para vários tipos de dados: range, hash, lista,
caracter, numérico
- particionamento composto/sub particionamento: várias
colunas
- Utilitários e funcionalidades para ambientes de alta
performance
- Cargas paralelas de dados
- Suporte para vários tipos de indexação: clustered, full-text,
hash, spatial, b-tree
- Locking row-level com baixa contenção
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 for MySQL 5.5 over 5.1.40; at scale
GA
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 for MySQL 5.5 over 5.1.40; at scale
GA
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
Confiabilidade: Robustez
- Oracle QA
- processo
- testes
- Modelo Open Source
- labs.mysql.com
- comunidade numerosa e atuante
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
% 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
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
App
Virtual IP
Data Bin
Slave App App
Vote
MySQL e Windows Clustering
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
LAMP Stack
Operating
System
Application
Server
Database
Scripting
L
A
M
P
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
Facilidade de uso e administração
- Regra dos 15min
- Ainda mais rápido com Windows Installer
- Funcionalidades
- automatic space expansion
- auto-restart,
- dynamic configuration
- Ferramentas visuais
- Arquitetura flexível
- convite à experimentação
- permite inovação acelerada através de customizações
- Disponível para diversas plataformas e linguagens
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
MySQL, SaaS e Cloud Computing
- Diversos casos de sucesso SaaS
- RightNow, SugarCRM, Omniture, Supply Dynamics,
Workday, Zimbra
- Banco de dados mais popular nos serviços de
hospedagem
- PaaS
- caso Amazon RDS (Relational Database Service)
- Clouds Privadas
- Oracle Virtual Machine Templates
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
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
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
Arquitetura MySQL Cluster
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
Arquitetura MySQL Cluster
Aplicações Web de Grande Porte Visão Detalhada
MySQL Cluster 7.1 Benchmarks
Performance +4 Milhões de Queries por Segundo! • 8 servidores Intel commodity
• CPU 2.93GHz, 6 core Intel
• 24GB RAM cada
• 2 Data Nodes por servidor
Escalabilidade horizontal em hardware commodity • Com 16 servidores, chegou-se a
6,82 Milhões QPS
• baixo TCO
Resultados confirmados • mikaelronstrom.blogspot.com
• Iniciativa independente
• 2 dias de testes
MySQL Cluster 7.2
Adaptative Query Localization • Alguns Joins executados nos Data
Nodes
• Ganhos de performance de 50x
Mais flexibilidade • Adição de até 512 colunas e online
• User Tables no Cluster
DM DEVELOPMENT
MILESTONE
“Docudesk relies on MySQL Cluster to support our
DocQ SaaS offering which demands high update
rates, low latency and continuous availability from
the database. Testing of Adaptive Query
Localization has yielded over 20x higher
performance on complex queries within our
application, enabling Docudesk to expand our use
of MySQL Cluster into a broader range of highly
dynamic web services.” --Casey Brown
“MySQL Cluster 7.1 gave us
the perfect combination of
extreme levels of transaction
throughput, low latency &
carrier-grade availability,
while reducing TCO”
Phani Naik, Pyro Group
mysql.com/customers
Caso de sucesso
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
mysql.com/products
MONITOR
BACKUP
Produtos
MY ORACLE SUPPORT
KNOWLEDGE BASE MySQL
MySQL CONSULTATIVE SUPPORT
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
MySQL 5.6: NotOnlySQL: Memcached API
MySQL Cluster 7.2
Os mesmos dados
podem ser acessados
simultaneamente via
SQL & NoSQL
Mais Flexibilidade
MySQL Cluster 7.2: NotOnlySQL: Memcached API
• Construa serviços de escrita intensiva e de
alta disponibilidade com MySQL Cluster
back-end
• Acessados via memcached API
• Consolide as camadas de caching e
database
• Use clientes memcached existentes evitando
mudanças nas aplicações
• Suporte para cargas altas de updates, elimine
cache invalidation
• High Availability data store escalável e persistente
• Reúso simplificado dos dados ao longo dos
serviços
• Implementação
• NDB plug-in para memcached server
• Acesso direto à API NDB
estudos de casos
READS
WRITES
Clie
nts
Master
Slaves
Replicação do MySQL Server
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
Master
Slave
Clie
nts
Slaves
Master
Relay
Reads
Writes
Relays: aplicações de leitura intensiva
Sharding: aplicações de escrita intensiva
Master
Slave
Clie
nts
Slaves
Shards
Reads
Writes
Partitioning Logic
1 2 3 4 5
Benefícios-chave
• Flexibilidade para escolher o
hardware
• Implementação incremental
• Simplicidade e facilidade de uso
• Por que MySQL? • Capacidade de escalar para 5
bilhões de page views por mês,
gerando 1 escrita para cada 1,4
leituras
• Flexibilidade para crescer de
maneira incremental e com baixos
custos
mysql.com/customers
Caso de sucesso
arquiteturas mistas
Scale Out
Commodity Intel / AMD
Software open source
Liberdade de plataforma
Adiciona mais servidores para
aumentar performance
Scale Up
Hardware proprietário (SMP)
Software proprietário ou open
source
Amarrado à plataforma
“Empilhamento” para
aumentar performance
Escalabilidade: horizontal vs vertical
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
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
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
Ambiente de
desenvolvimento
MySQL em poucos minutos
Profissionalizando o MySQL
MySQL Enterprise Monitor
• 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/
MEB: Backups
Backups são até 3.5x mais rápidos do que mysqldump
GA
MEB: Restores
Restore é até 16x mais rápido do que mysqldump
- mysqldump performance não é linear (mais tables/indexes impacta na performance)
- MySQL Enterprise performance é quase linear
GA
MEB: Compressão do Backup
O tamanho do Backup é reduzido de 65% até 93%
GA
Operações de
Alta Disponibilidade
• Persistência
de Disco
• Consistência de
Configuração
• Agente de
Operação de Alta
Disponibilidade
MySQL Cluster Manager
Gerenciamento
Automatizado
• Gestão de
Todo Cluster
• Gerenciamento de
Processos
• Operações On-line
(Reconfiguração
/Upgrade)
Monitoramento
• Monitoramento do
Estado &
Recuperação
Como o MySQL Cluster Manager Ajuda?
Examplo: Upgrade do MySQL Cluster 6.3 to 7.1
• 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.1 mycluster;
Total: 1 Comando
Resultados Redução de overhead e simplificação de
administração.
Reduz risco de downtime por erro do
administrador.
Integração de produtos
em progresso
Oracle GoldenGate (GA)
Oracle Enterprise Linux + Oracle VM (GA)
Certificação Oracle Clusterware
Certificação Oracle Fusion Middleware
Oracle Secure Backup (GA)
Oracle Audit Vault
Oracle Enterprise Manager
+
Treinamentos e Certificações MySQL
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
Treinamentos Certificações
Opcional
Necessário
education.oracle.com
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
Obrigado!
Time MySQL Brasil
[email protected] [email protected] [email protected] [email protected]
@MySQLBR