MySQL 5.6 com memcached
-
Upload
mysql-brasil -
Category
Technology
-
view
2.042 -
download
3
description
Transcript of MySQL 5.6 com memcached
Disclaimer
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, 2
release, and timing of any features or functionality
described for Oracle’s products remains at the sole
discretion of Oracle.
agenda
MySQL na Oracle
MySQL Server 5.6 com NoSQL
Roadmap: o que vem por aí
agenda
MySQL na Oracle
MySQL Server 5.6 com NoSQL
Roadmap: o que vem por aí
Cloud
Web & Enterprise OEM & ISVs
Alguns clientes MySQL
Suporte Oracle ao Open Source/Standards
MySQL & InnoDB, Linux, Java, GlassFish, NetBeans, Eclipse, PHP, Apache, Berkeley DB, 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
Set your ambitions high!
MySQL Open Source (GPL)
• MySQL Database (Community Server) 5.5.18 e 5.6.3 DMR
• MySQL Cluster (NDB Community) 7.1.17 e 7.2.1b DMR
• MySQL Workbench Community Edition
• MySQL Utilities (em Python)
• MySQL Connectors
• MySQL Proxy
• Documentação: livre para uso, não coberto pela GPL
• Forums
dev.mysql.com/downloads
Indicado para empresas ou pessoas físicas que pretendem
aumentar produtividade, diminuir riscos e explorar mais a
fundo as capacidades do MySQL.
Oracle Premier Lifetime Support
MySQL Enterprise Edition
Oracle Product Certifications
MySQL Enterprise High Availability
MySQL Enterprise Security
MySQL Enterprise Scalability
MySQL Enterprise Backup
MySQL Enterprise Monitor/Query Analyzer
MySQL Workbench
Abril 2010 Julho 2010 Dezembro 2010 Junho 2011
• Workbench 5.2
• Server 5.5
• Enterprise Backup 3.5
• Enterprise Monitor 2.3
• Cluster Manager 1.1
Outubro 2011
• Enterprise Monitor 2.2
• Cluster 7.1
• Cluster Manager 1.0
• Enterprise Backup 3.6
• Oracle VM Template
for MySQL Enterprise
*Development Milestone Release
Server 5.6
Cluster 7.2
DMR* & MySQL
Labs Early Access
Releases
Inovação acelerada do MySQL
• Plug-Ins Commercial
Extensions
• Certifications: Oracle
Fusion & Win Cluster
Abril 2010 Julho 2010 Dezembro 2010 Junho 2011
• Workbench 5.2
• Server 5.5
• Enterprise Backup 3.5
• Enterprise Monitor 2.3
• Cluster Manager 1.1
Outubro 2011
• Enterprise Monitor 2.2
• Cluster 7.1
• Cluster Manager 1.0
• Enterprise Backup 3.6
• Oracle VM Template
for MySQL Enterprise
*Development Milestone Release
Server 5.6
Cluster 7.2
DMR* & MySQL
Labs Early Access
Releases
Inovação acelerada do MySQL
• Plug-Ins Commercial
Extensions
• Certifications: Oracle
Fusion & Win Cluster
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 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.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
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
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
Abril 2010 Julho 2010 Dezembro 2010 Junho 2011
• Workbench 5.2
• Server 5.5
• Enterprise Backup 3.5
• Enterprise Monitor 2.3
• Cluster Manager 1.1
Outubro 2011
• Enterprise Monitor 2.2
• Cluster 7.1
• Cluster Manager 1.0
• Enterprise Backup 3.6
• Oracle VM Template
for MySQL Enterprise
*Development Milestone Release
Server 5.6
Cluster 7.2
DMR* & MySQL
Labs Early Access
Releases
Inovação acelerada do MySQL
• Plug-Ins Commercial
Extensions
• Certifications: Oracle
Fusion & Win Cluster
Extensões Comerciais
• Enterprise Security • Plug-In: MySQL External Authentication
• Enterprise Scalability • Plug-In: MySQL Thread Pool
Windows Authentication
Connector
Connect as
1. MyDomain\joe faz login
na aplicação com senha
Windows
Connected
Authenticate
CREATE USER win_joe
IDENTIFIED WITH authentication_windows
AS ‘joe';
App
LDAP/AD Windows
Auth
Connect as
2. MyDomain\joe é
autenticado via
LDAP/AD Connect as
4. Tokens são verificados, o
usuário win_joe é autenticado
com Windows login, porém
com privilégios do MySQL.
Connect as
3. A aplicação conecta-se
ao MySQL com usuário
win_joe.
Gestão Padrão do Thread Pool
Clientes Internos
Gestão Padrão
doThread Pool
Conexões /
Declarações
atribuídas aos
Threads durante
sua existência
Execução das Conexões das Threads
Clientes Externos
• Conexões são atribuídas a 1 thread durante a existência da Conexão.
• A mesma thread é usada para todas as declarações de execução (single
threaded)
Com o Thread Pool Habilitado
Clientes Internos
Clientes Externos
Thread Pool
Grupo Thread 1
Threads 1 - 4096
Grupo Thread 2
Threads 4097 - 8193
Grupo Thread N
Threads 8194 - N
Grupo Thread 1
Grupo Thread 2
Grupo Thread N
• Pool contém um número de Grupo de Threads(default = 16), cada um gerencia até 4096
threads reusáveis
• Cada conexão é atribuída ao grupo de thread via round robin
mantém a performance em altas cargas de
usuários/conexões
Execução das Conexões das Threads
MySQL Enterprise Edition
ComThread Pool
MySQL Community Server
SemThread Pool
3x Melhor Escalabilidade com Thread Pool
MySQL 5.5.16
Oracle Linux 6.1, Unbreakable Kernel 2.6.32
2 sockets, 24 cores, 2 X 12-core
Intel(R) Xeon(R) X5670 2.93GHz CPUs
72GB DDR3 RAM
2 X LSI SCSI Disk (MR9261-8i) (597GB)
0
2.000
4.000
6.000
8.000
10.000
12.000
T
Conexões Simultâneas no Banco de Dados
MySQL 5.5 Sysbench OLTP Apenas Leitura
Comparativo com/sem Thread Pool
MySQL Enterprise Edition
ComThread Pool
MySQL Community Server
Sem Thread Pool
Comparativo com/sem Thread Pool
20x Melhor Escalabilidade comThread Pool
0
1.000
2.000
3.000
4.000
5.000
6.000
7.000
8.000
Tra
ns
aç
õe
s p
or
se
gu
nd
o
Conexões Simultâneas no Banco de Dados
MySQL 5.5 Sysbench OLTP Leitura/Escrita
MySQL 5.5.16
Oracle Linux 6.1, Unbreakable Kernel 2.6.32
2 sockets, 24 cores, 2 X 12-core
Intel(R) Xeon(R) X5670 2.93GHz CPUs
72GB DDR3 RAM
2 X LSI SCSI Disk (MR9261-8i) (597GB)
Abril 2010 Julho 2010 Dezembro 2010 Junho 2011
• Workbench 5.2
• Server 5.5
• Enterprise Backup 3.5
• Enterprise Monitor 2.3
• Cluster Manager 1.1
Outubro 2011
• Enterprise Monitor 2.2
• Cluster 7.1
• Cluster Manager 1.0
• Enterprise Backup 3.6
• Oracle VM Template
for MySQL Enterprise
*Development Milestone Release
Server 5.6
Cluster 7.2
DMR* & MySQL
Labs Early Access
Releases
Inovação acelerada do MySQL
• Plug-Ins Commercial
Extensions
• Certifications: Oracle
Fusion & Win Cluster
agenda
MySQL na Oracle
MySQL Server 5.6 com NoSQL
Roadmap: o que vem por aí
1. melhor performance, escalabilidade
2. melhor instrumentação
3. melhor throughput nas transações
4. maior disponibilidade, integridade de dados
5. mais flexibilidade, menor complexidade
MySQL 5.6: um MySQL ainda melhor!
1. melhor performance, escalabilidade
Optmizer
2. melhor instrumentação
Performance Schema
3. melhor throughput nas transações
InnoDB
4. maior disponibilidade, integridade de dados
Replicação
5. mais flexibilidade, menor complexidade de infra-estrutura
opções NotOnlySQL com memcached
MySQL 5.6: um MySQL ainda melhor!
Development Milestone Releases
MySQL Labs: Early Access
labs.mysql.com
1. melhor performance, escalabilidade
Optmizer
2. melhor instrumentação
Performance Schema
3. melhor throughput nas transações
InnoDB
4. maior disponibilidade, integridade de dados
Replicação
5. mais flexibilidade, menor complexidade
opções NotOnlySQL com memcached
MySQL 5.6: um MySQL ainda melhor!
Server 5.6.3 Development
Milestone Release
Labs Early Access
Labs Early Access
1. melhor performance, escalabilidade
Optmizer
2. melhor instrumentação
Performance Schema
3. melhor throughput nas transações
InnoDB
4. maior disponibilidade, integridade de dados
Replicação
5. mais flexibilidade, menor complexidade
opções NotOnlySQL com memcached
MySQL 5.6: um MySQL ainda melhor!
Server 5.6.3 Development
Milestone Release
Labs Early Access
Labs Early Access
1. melhor performance, escalabilidade Optimizer no MySQL 5.6.3
a. Otimizações na ordenação com limites pequenos Ex: ORDER BY...LIMIT 100 (paginação Web App) = 3x mais rápido 20M linhas
b. Index Condition Pushdown Ex: WHERE ... BETWEEN = de 1,40s para 0,09s num Buffer Pool de 1,5GB
c. Batched Key Access & Multi Range Read Ex: Queries com JOIN disk-bound = aproximadamente 120x mais rápido
d. Postponed Materialization Ex: Views/Subqueries no FROM; EXPLAIN = 240x mais rápido
e. EXPLAIN para INSERT, UPDATE & DELETE Funcionalidade muito aguardada, mais recursos para otimização de escritas
f. Estatísticas persistentes do Optimizer Estatísticas mais precisas, estáveis via ANALYZE
g. Optimizer Traces Mostra como o plano foi gerado, pontos de decisão etc.
2. melhor instrumentação PERFORMANCE_SCHEMA no MySQL 5.6.3
Profiling & Tuning aperfeiçoado para BD e Aplicação
• Statements/Stages
• Quais queries mais custosas? Quando elas gastam tempo?
• Table/Index I/O, Table Locks
• Quais tabelas/índices causam maior carga e/ou contenção?
• Network I/O
• Qual o comportamento de carga de rege? Quanto tempo as sessões
ficam ociosas?
• Users/Hosts/Accounts
• Quais usuários/hosts/contas consomem mais recursos?
• Summaries
• Estatísticas agregadas, agrupadas por thread, user, host, account ou
object
3. melhor throughput de transações InnoDB no MySQL 5.6.3
• Novas tabelas no INFORMATION_SCHEMA: Metrics, System, Buffer Pool
• Melhor informação dos internals do InnoDB
• Status da transação
• Locking
• Buffer pool
• Estatísticas de I/O de página
• Dicionário de dados
• Contadores de performance
• Thread scheduling melhorado
• Detecção de deadlock não-recursiva
• Flushing de LRU melhorado
• Checksum rápido
• Tablespace(s) separado para Undo Log
• Dump & Restore de Buffer Pool
• Aumento do tamanho máximo do Redo Log
• Collation Ids de 2-bytes
• Maior limite para index key prefixes (3072 bytes)
• Contenção reduzida durante file extension
4. maior disponibilidade, integridade dos dados Replicação no MySQL 5.6.3
Replicação elevada a outro nível
• Melhor integridade dos dados
• Crash-Safe Slaves, Replication Checksums, Crash-safe binlog
• Melhor performance
• Multi-threaded Slaves, tamanho do binlog reduzido para RBR
• Mais Flexibilidade
• Time-delayed replication
• Detecção de problemas simplificada
• Log da Query original para formato Row-based
• Gerenciamento e Monitoramente melhorado
• Server UUIDs, backup remoto do binlog
1. melhor performance, escalabilidade
Optmizer
2. melhor instrumentação
Performance Schema
3. melhor throughput nas transações
InnoDB
4. maior disponibilidade, integridade
Replicação
5. mais flexibilidade, menor complexidade
opções NotOnlySQL com memcached
MySQL 5.6: um MySQL ainda melhor!
E mais, ainda na 5.6.3
• melhorias IPv6
• suporte Unicode para Windows client
• import/export de tabelas de/para partições
• seleção explícita de partição
• GIS/MyISAM: mais precisão em operações
1. melhor performance, escalabilidade
Optmizer
2. melhor instrumentação
Performance Schema
3. melhor throughput nas transações
InnoDB
4. maior disponibilidade, integridade de dados
Replicação
5. mais flexibilidade, menor complexidade
opções NotOnlySQL com memcached
MySQL 5.6: um MySQL ainda melhor!
Server 5.6.3 Development
Milestone Release
Labs Early Access
Labs Early Access
Early Access
• InnoDB
• InnoDB – menores page
sizes de 4k e 8k
• InnoDB - Full-text Search
• Replicação
• Global Transaction IDs
• Binlog API
• Binlog Group Commit
• Opções “NotOnlySQL”
acessando InnoDB
Em desenvolvimento
• Escalabilidade Multi-core
• Otimizações de Subquery
• Saída EXPLAIN estruturada
• Mais operações Online: add,
rebuild indexes
• Otimizações para SSD, suporte e
orientação para tuning
• Metadata para InnoDB
tablespaces para portabilidade
• TIME, TIMESTAMP, DATETIME:
precisão fracional
Mais (em breve)…
MySQL: Early Access, em desenvolvimento
1. melhor performance, escalabilidade
Optmizer
2. melhor instrumentação
Performance Schema
3. melhor throughput nas transações
InnoDB
4. maior disponibilidade, integridade de dados
Replicação
5. mais flexibilidade, menor complexidade
opções NotOnlySQL com memcached
MySQL 5.6: um MySQL ainda melhor!
Labs Early Access
Server 5.6.3 Development
Milestone Release
Labs Early Access
5. mais flexibilidade, menor complexidade NoSQL com MySQL 5.6
5. mais flexibilidade, menor complexidade NoSQL com MySQL 5.6
Performance for web-based services
for Non-structured data stores and
with horizontal Scalability.
como definido em 2009
por quê???
5. mais flexibilidade, menor complexidade NoSQL com MySQL 5.6
Memcached é...
API popular que “fala” NoSQL chave-valor.
Provê alta performance, especialmente para aplicações
web diminuindo a carga do banco de dados relacional
... usado por Twitter, Facebook, Zynga, Youtube
também suportado por Aplicações Empacotadas
populares como Joomla, Drupal e Wordpress
Memcached também é...
uma Hash Table GIGANTE
pode ser distribuída entre vários servidores
reside somente na RAM disponível
Last Recently Used
5. mais flexibilidade, menor complexidade NoSQL com MySQL 5.6
... realmente muito útil para alta-performance,
mas os dados não são duráveis, depende de lógica de
sincronização com BD e também de infra-estrutura adicional
5. mais flexibilidade, menor complexidade NoSQL com MySQL 5.6
• Memcached daemon plug-in to mysqld
• Memcached protocol mapped to the native InnoDB API
• Shared process space for ultra-low latency
InnoDB Storage Engine
MySQL Server Memcached
plugin
Application
SQL
MySQL Client
NoSQL
Memcached Protocol
mysqld
5. mais flexibilidade, menor complexidade NoSQL com MySQL 5.6
Mais flexibilidade para o Desenvolvedor: • Dados não estruturados, mas também Queries ricas SQL e
fulltext search nos valores
• Baixa latência, alto throughput sem transformações SQL
• Sem necessidade de implementar lógica de persistência
• Transações persistentes, crash-safe & ACID
• Sincronismo garantido pelo BD, consistência acessando via SQL
ou por chave
• Reuso de clientes memcached já existentes
• Compatível com drivers e bibliotecas para diversas plataformas
• Reduz esforço de desenvolvimento
porque...
5. mais flexibilidade, menor complexidade NoSQL com MySQL 5.6
Menor complexidade e risco para o Administrador: • Escalabilidade horizontal e replicação
• Mesma infra-estrutura, recursos NoSQL prontos para uso
• Camada única de dados, sem duplicação
• Ferramentas de monitoramento e administração
• Re-população automática do cache após indisponibilidade
• Reduz esforço de administração
• Tecnologia robusta e confiável
• Reduz risco de perda de dados e indisponibilidade
também porque...
agenda
MySQL na Oracle
MySQL Server 5.6 com NoSQL
Roadmap: o que vem por aí
• Re-factored architecture
• Pluggable feature set
• Deprecate legacy “baggage”
• Real data dictionary (remove .frm files)
• Better Cloud, Hosting, SaaS features
• Auto-sharding, load balancing, automatic failover
• Online operations
• Multi-tenancy, schema/catalogs, resource control, “elastic resources”
• Windows platform
• Continue improvements
Goals Roadmap: MySQL Database
• Ease of Use • Tools for simplified configuration, provisioning & management
• Enhanced API Support • New NoSQL Interfaces
• Richer SQL Functionality
• Performance & Capacity Increases • Optimizations for latest hardware developments
• Wider Deployment Options • Virtualization
• Cloud
Roadmap: MySQL Cluster Goals
• MySQL Enterprise Security
• MySQL Database Auditing extension
• Oracle Product Certifications
• Oracle Database Firewall
• Oracle Audit Vault
• MySQL Enterprise Monitor
• Evolve into management
• Instance, Backup, Replication\HA
• Integration with Oracle Enterprise Manager
Roadmap: MySQL Enterprise Edition 1/2 Goals
• MySQL Enterprise Backup
• Performance – parallel backups, skip empty pages, PK only options
• Efficiency, Ease of use
• Better PIT recovery
• Better master/slave synch on restore
• Cloning of complete prod, test, QA environments
• MySQL Workbench SE
• Schema/data migration from SQL Server
• ER Model Repository
• Code generation – PHP, Python
Roadmap: MySQL Enterprise Edition 2/2 Goals
Mais sobre MySQL
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
Downloads & Trials
dev.mysql.com
labs.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
Sumário
O MySQL 5.6 traz enormes melhorias e destacam-se 5 principais:
melhor performance e escalabilidade;
melhor instrumentação;
melhor throughput nas transações;
maior disponibilidade, integridade;
mais flexibilidade e menor complexidade com NoSQL.
Estas melhorias reforçam o compromisso Oracle com MySQL e
com a estratégia Open Source como modelo de negócio.
O MySQL é o Banco de Dados Open Source mais popular do
mundo e estamos trabalhando para um MySQL ainda melhor!
Obrigado!
Time MySQL Brasil
[email protected] [email protected] [email protected] [email protected]
@MySQLBR meetup.com/MySQL-BR