Mais conteúdo relacionado
Semelhante a Alta-disponibilidade e alta performance com o MySQL Cluster 7.3 (20)
Mais de MySQL Brasil (16)
Alta-disponibilidade e alta performance com o MySQL Cluster 7.3
- 1. 10 de Agosto de 2013 no Hotel Blue Tree Morumbi, São Paulo - SP
Alta-disponibilidade e alta performance com o MySQL Cluster 7.3
Airton Lastori
- 2. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 123
@MySQLBR
meetup.com/MySQL-BR
facebook.com/MySQLBR
MySQLBR
- 3. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 124
Agenda
O que é o MySQL Cluster?
Como começar?
Alta performance e disponibilidade
Perguntas?
- 4. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 125
O que é o MySQL Cluster?
- 5. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 126
MySQL Cluster
• Escalabilidade linear de Escritas e Leituras
• Elasticidade, crescimento incremental, distrib. simétricaEscalabilidade
• 99,999% de disponibilidade, 5min / ano
• Self-healing, failover menor que 1s, geo-replicaçãoAlta Disponibilidade
• Performance em tempo real, in-memory e em disco
• Latência baixa e preditiva, acessos paralelosAlta Performance
• Modelo relacional ACID, SQL e Foreign Keys
• APIs NoSQL (C++, Java, Memcached, Node.js)Flexibilidade
• Open Source, suporte e ferramentas comerciais opcionais
• Hardware commodityBaixo TCO
- 6. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 127
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.
Ferramentas
Enterprise.
Sun
Microsystems é
adquirida pela
Oracle.
Versões 5.5,
5.6 e Cluster
7.1, 7.2 e 7.3.
’85…
…’94
’95…
…’96
’97…
…’00
’01…
…’02
’03…
…’04
’05…
…’09
’10…
…’13
Histórico do MySQL
- 7. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 129
Enterprise Management
Services and Utilities
Backup & Recovery
Monitor
Workbench
Utilities
Connection Pool, SQL Interface, Parser, Optimizer, Caches
Clients & Connectors
Native C API, JDBC, ODBC, .Net, PHP, Ruby, Python, VB, Perl mysqld
Clients and Apps
Arquitetura MySQL Server
Storage Engines
InnoDB, MyISAM, Memory, Archive, Cluster (NDB API), etc…
Filesystems, Files & Logs
Data, Index, Logs…
- 8. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1210
Cluster Data Nodes
NDB NDB
Connection Pool, SQL Interface, Parser, Optimizer, Caches
Enterprise Management
Services and Utilities
Backup & Recovery
Monitor
Workbench
Utilities
Clients & Connectors
Native C API, JDBC, ODBC, .Net, PHP, Ruby, Python, VB, Perl
Arquitetura MySQL Cluster
Storage Engines
InnoDB, MyISAM, Memory, Archive, Cluster (NDB API), etc…
Filesystems, Files & Logs
Data, Index, Logs…
mysqld
Clients and Apps
ndbd
mgm_ndbd
Management
- 9. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1211
Clients
Application Layer
Management
Arquitetura do MySQL Cluster
Management
Data Layer
ndbd ndbd ndbd ndbd
- 10. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1212
O que NÃO é o MySQL Cluster
1. SGBD de uso geral, “bala de prata”
• Tabelas NDB ainda não são recomendadas para todos tipos de aplicações / workloads
• NDB ainda não é 100% compatível com InnoDB, mas podem ser usados em conjunto
• MySQL Cluster requer relativamente mais memória RAM
2. Cluster do tipo Shared-All que requer Shared Storage
• Como, por exemplo, Oracle RAC
• Cada Data Node tem sua unidade de armazenamento independente
3. Replicação tradicional do MySQL Server
• MySQL Cluster possui seu próprio mecanismo interno de replicação síncrona
• Também pode ser usado opcionalmente em conjunto com replicação externa tradicional do MySQL
4. “Apenas” o MySQL Server (mysqld)
• MySQL Cluster possui outros componentes: ndbd, ndb_mgmd
5. Produto de código fechado
• Possui edição community (GPL) e carrier-grade edition (suporte e ferramentas comerciais)
- 11. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1213
Storage Engines
MyISAM InnoDB NDB Cluster
Transações ✖ ✔ ✔
Nível de Lock Tabela Linha Linha
Replicação
Assíncrona ou
Semi-síncrona
Assíncrona ou
Semi-síncrona, crash-safe
Síncrona, Multi-master,
crash-safe sem SPOF
Foreign Keys ✖ ✔ ✔
Full-text indexes ✔ ✔ ✖
Compressão de dados somente Leitura ✔ ✖
Caches somente Índices Dados e Índices Dados e Índices
Suporte Geoespacial Tipos de Dados e Índices somente Tipos de Dados somente Tipos de Dados
Limite de armazenamento 256TB 64TB 384EB (~3TB em RAM)
dev.mysql.com/doc/refman/5.5/en/storage-engines.html
- 12. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1214
Tabelas InnoDB vs NDB Cluster
dev.mysql.com/doc/refman/5.6/en/mysql-cluster-compared.html
Preferível InnoDB
• Datasets ou linhas muito grandes, muitos
BLOBs, tabelas histórico, fulltext search
• Memória RAM mais limitada
• Transações muito longas ou com isolamento
diferente de READ COMMITTED
• Foreign keys sob uso intensivo
• Muitos full table scans, queries analíticas
Preferível NDB Cluster
• Escalabilidade de escrita, multi-master, auto-
sharding
• 99,999% uptime com operações online: adição de
nós, upgrade, manutenção do esquema
• Baixa latência para transações mais curtas,
performance tempo-real, paralelismo
• APIs NoSQL schemaless: Java, node.js, REST,
C++, memcached
• Uso limitado de colunas BLOB
• Foreign keys são suportadas, porém podem
causar impacto na performance em condições
extremas
- 13. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1215
NDB + InnoDB
Replicação
Síncrona
Replicação
Assíncrona
NDB API
NDB Cluster Data Nodes
MySQL Cluster
InnoDB
local
InnoDB
externo
- 14. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1216
Replicação
síncrona
Replicação
assíncrona
InnoDB + NDB Cluster
Opções com Geo-Replicação
Replicação síncrona
entre os grupos de nós para HA
Geo-Replicação
assíncrona ou síncrona entre
nós remotos NDB para
redundância geográfica
Replicação assíncrona
entre Storage Engines
diferentes para aplicações
especializadas como geração
de relatórios
Cluster 1
InnoDB InnoDB InnoDB
Cluster 2
- 15. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1218
Alguns Clientes MySQL Cluster
- 16. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1219
sistema de recomendações de
games casuais que identifica o
visitante e exibe conteúdo
direcionado ao seu perfil
já nos testes, com 2 data nodes,
capacidade de 87k INSERTs por
segundo e 3k SELECTs por
segundo
latência extremamente baixa (sub-
milisegundos) e alta-disponibilidade
NoSQL ClusterJ API (Java)
Caso de Sucesso
MySQL Cluster
“As a strategic project, we couldn’t afford to take
any chances. MySQL Cluster provided us with a
proven and trusted solution to meet the
demands of both our business and our users.”
Sean Chighizola
Database Director, Big Fish
mysql.com/why-mysql/case-studies/mysql-cs-bigfish.html
- 17. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1220
- 18. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1221
sistema global de detecção de
fraudes que monitora transações
financeiras, sessões dos usuários e
histórico em tempo real
Trabalha com mais de 100TB e
100m de usuários, transações
ACID, R/W <1 segundo em
qualquer parte do mundo com geo-
replicação
Escalabilidade linear com 99,999%
de disponibilidade, na nuvem AWS
Caso de Sucesso
ACID em tempo real
“Technologies such as MySQL Cluster enables
users to get the best of both world’s: the agility of
NoSQL systems with the trust, maturity and
reliability of the SQL model.”
Daniel Austin
Chief Architect, Paypal
mysql.com/customers/view/?id=1223
- 19. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1222
PayPal
- 20. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1223
Social game para Facebook
2 milhões usuários, com +30k
novos usuários por dia
10K usuários concorrentes,
~10K TPS
99.999% uptime
Caso de Sucesso
Online Games
“The MySQL support service has been essential
in helping us for troubleshooting and giving
recommendations for the production cluster.”
Carlos Morales
DBA, playfulplay.com
blogs.oracle.com/MySQL/entry/mysql_cluster_powers_el_chavo
- 21. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1224
Playful Play
- 22. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1225
MySQL Cluster
Customers
mysql.com/customers/cluster
- 23. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1226
Como começar a usar
o MySQL Cluster?
- 24. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1227
MySQL Cluster Auto-Install
downloads.mysql.com/tutorials/cluster/mysql_wp_cluster_quickstart.pdf
- 25. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1228
1. Download MCM/Cluster edelivery.oracle.com:
2. Unzip e execute o comando com usuário diferente de root:
MySQL Cluster Manager
Para testes em uma única máquina
C:MySQLmcmbin> mcmd --bootstrap
MySQL Cluster Manager 1.1.2 started
Connect to MySQL Cluster Manager by running “C:MySQLmcmbinmcm" -a NOVA:1862
Configuring default cluster 'mycluster'...
Starting default cluster 'mycluster'...
Cluster 'mycluster' started successfully
ndb_mgmd NOVA:1186
ndbd NOVA
ndbd NOVA
mysqld NOVA:3306
mysqld NOVA:3307
ndbapi *
Connect to the database by running “C:MySQLmcmclusterbinmysql" -h NOVA -P 3306 -u root
- 26. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1229
Teste via MySQL Workbench
- 27. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1230
Teste via MySQL Workbench 2/2
- 28. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1231
Flexibilidade na interação com os dados
• Escalabilidade linear de Escritas e Leituras
• Elasticidade, crescimento incremental, distrib. simétricaEscalabilidade
• 99.999% de disponibilidade, 5min / ano
• Self-healing, failover menor que 1s, geo-replicaçãoAlta Disponibilidade
• Performance em tempo real, in-memory e em disco
• Latência baixa e preditiva, acessos paralelosAlta Performance
• Modelo relacional ACID, SQL e Foreign Keys
• APIs NoSQL (C++, Java, Memcached, Node.js)Flexibilidade
• Open Source, suporte e ferramentas comerciais opcionais
• Hardware commodityBaixo TCO
- 29. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1232
Clients
Application Layer
Management
APIs NoSQL
Management
Data Layer
ndbd ndbd ndbd ndbd
- 30. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1233
Os mesmos dados
acessados
simultaneamente
através de interfaces
SQL e NoSQL
APIs de Acesso aos Dados
- 31. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1234
Qual API devo usar?
SQL
• Padrão da
indústria
• Joins e
Queries
complexas
• Modelo
relacional
ClusterJ /
OpenJPA
• ORM Java
• Simplicidade
• Acesso nativo
e rápido ao
Cluster
• Ex: Web e
Telco
memcached
• chave/valor
• Simples de
usar
• Driver para
diversas
linguagens
• Ex: PHP
Proxy
node.js
• Javascript
• Mesma
tecnologia do
browser no
lado do
servidor
• Ex: Mobile
Apps
mod_ndb
• REST/JSON
• HTML
• Uso do
Apache httpd
C++
• Performance
extrema
• Tempo real
• Desenvolved
or experiente
• Mais baixo
nível
- 32. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1235
<estado:SP,Campinas>
prefix key value
<estado:SP,Campinas>
key value
Prefix Table Key-col Val-col policy
estado: mapa.cidades sigla_estado cidade cluster
Config tables
sigla_estado ... cidade ...
SP ... Campinas ...
Tabela cidades do DB mapa
visão da Aplicação
visão MySQL Cluster
Cluster & Memcached
Schema configurável
SELECT * FROM mapa.cidades
WHERE cidade LIKE ’C%’;
- 33. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1236
Exemplos Memcached API
Blog:
Scalable, persistent, HA NoSQL Memcache storage using MySQL
Cluster
15 February 2012
clusterdb.com/mysql-cluster/scalabale-persistent-ha-nosql-memcache-
storage-using-mysql-cluster
- 34. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1237
var nosql = require('mysql-js');
var annotations = new
nosql.TableMapping('cidade').apply
ToClass(Cidade);
var dbProperties =
nosql.ConnectionProperties('ndb');
nosql.openSession(dbProperties,
Cidade, annotations, onSession);
Connector modular para
vários back-ends:
• direta com NDB
• via MySQL Server
Novo: Node.js connector 1/4
- 35. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1238
var onSession = function(err, session) {
if (err) {console.log(err);
process.exit(0);} else {
var data = new Cidade('Guarulhos',
'SP');
session.persist(data, onInsert, data,
session);
}
};
Novo: Node.js connector 2/4
- 36. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1239
var onInsert = function(err, object, session) {
if (err) {console.log(err);} else {
console.log('Inserido: ' +
JSON.stringify(object));
session.find(Cidade,'Guarulhos',
onFind);
}
};
Novo: Node.js connector 3/4
- 37. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1240
var onFind = function(err, result) {
if (err) {console.log(err);} else {
console.log('Encontrado: ' +
JSON.stringify(result));
}
process.exit(0);
};
Novo: Node.js connector 4/4
- 38. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1241
Exemplos JavaScript / Node.js API
Blog:
MySQL Cluster Tutorial: NoSQL JavaScript Connector for Node.js
17 April 2013
blogs.oracle.com/MySQL/entry/mysql_cluster_tutorial_nosql_api
- 39. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1242
Performance e
Alta-disponibilidade
- 40. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1243
Data Layer
Application Layer
Management
mgm_ndbd
MySQL Cluster: arquitetura simplificada
mysqld
Clients
MySQL Cluster Data Nodes
ndbd ndbd ndbd ndbd
- 41. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1244
Como escalar leituras e escritas?
• Escalabilidade linear de Escritas e Leituras
• Elasticidade, crescimento incremental, distrib. simétricaEscalabilidade
• 99.999% de disponibilidade, 5min / ano
• Self-healing, failover menor que 1s, geo-replicaçãoAlta Disponibilidade
• Performance em tempo real, in-memory e em disco
• Latência baixa e preditiva, acessos paralelosAlta Performance
• Modelo relacional ACID, SQL e Foreign Keys
• APIs NoSQL (C++, Java, Memcached, Node.js)Flexibilidade
• Open Source, suporte e ferramentas comerciais opcionais
• Hardware commodityBaixo TCO
- 42. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1245
Data Node 1
Data Node 2
Data Node 3
Data Node 4
Table T1
P2
P3
P4
P1
Data Sharding: escalando ESCRITAS
- 43. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1246
Data Node 1
Data Node 2
F1
Data Node 3
Data Node 4
Table T1
P2
P3
P4
P1
Data Sharding: escalando ESCRITAS
- 44. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1247
Data Node 1
Data Node 2
F1
F3
Data Node 3
Data Node 4
Table T1
P2
P3
P4
P1
Data Sharding: escalando ESCRITAS
- 45. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1248
Data Node 1
Data Node 2
F1
F3
Data Node 3
Data Node 4
F2
Table T1
P2
P3
P4
P1
Data Sharding: escalando ESCRITAS
- 46. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1249
Data Node 1
Data Node 2
F1
F3
Data Node 3
Data Node 4
F2
F4
Table T1
P2
P3
P4
P1
Data Sharding: escalando ESCRITAS
- 47. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1250
Data Layer
Application Layer
MySQL Cluster: auto-sharding
Table T1
P2
P3
P4
P1F1 F3 F2 F4
ndbd ndbd ndbd ndbd
Clients
mysqld
Table T1
visão da Aplicação
visão MySQL Cluster
SQL
NDB API
- 48. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1251
In-Memory, parallel, AQL, Pushdown Joins
1. Memória RAM mais barata e redes mais rápidas
• Escrever em memória RAM remota é mais rápido que em disco local
2. Múltiplas threads trabalhando em paralelo em diversas máquinas
• Uso de arquiteturas multi-core
3. Adaptative Query Localization
• Queries mais complexas, envolvendo apenas Data Nodes necessários
4. Pushdown Joins
• JOINs resolvidos nos Data Nodes, em paralelo
- 49. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1252
NoSQL C++ API, flexaSynch benchmark
30 x Intel E5-2600 Intel Servers, 2 socket, 64GB
ACID Transactions, Synchronous Replication
0
5
10
15
20
25
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
MillionsofUPDATEsper
Second
MySQL Cluster Data Nodes
20 Milhões de UPDATEs / seg
- 50. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1255
Como garantir a alta-disponibilidade?
• Escalabilidade linear de Escritas e Leituras
• Elasticidade, crescimento incremental, distrib. simétricaEscalabilidade
• 99.999% de disponibilidade, 5min / ano
• Self-healing, failover menor que 1s, geo-replicaçãoAlta Disponibilidade
• Performance em tempo real, in-memory e em disco
• Latência baixa e preditiva, acessos paralelosAlta Performance
• Modelo relacional ACID, SQL e Foreign Keys
• APIs NoSQL (C++, Java, Memcached, Node.js)Flexibilidade
• Open Source, suporte e ferramentas comerciais opcionais
• Hardware commodityBaixo TCO
- 51. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1256
Data Node 1
Data Node 2
F1
F1
Data Node 3
Data Node 4
Table T1
P2
P3
P4
P1
Data Sharding + Replicação
- 52. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1257
Data Node 1
Data Node 2
F1 F3
F1
Data Node 3
Data Node 4
Table T1
P2
P3
P4
P1
F3
Data Sharding + Replicação
- 53. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1258
Data Node 1
Data Node 2
F1 F3
F3 F1
Data Node 3
Data Node 4
F2
F2
Table T1
P2
P3
P4
P1
Data Sharding + Replicação
- 54. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1259
Data Node 1
Data Node 2
F1 F3
F3 F1
Data Node 3
Data Node 4
F2 F4
F4 F2
Table T1
P2
P3
P4
P1
Data Sharding + Replicação
- 55. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1260
Data Node 1
Data Node 2
F1 F3
F3 F1
Data Node 3
Data Node 4
F2 F4
F4 F2
Group1
Table T1
P2
P3
P4
P1
Data Sharding + Replicação
Group2
- 56. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1261
Data Node 1
Data Node 2
F1 F3
F3 F1
Data Node 3
Data Node 4
F2 F4
F4 F2
Group1
Table T1
P2
P3
P4
P1
Data Sharding + Replicação
Group2
- 57. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1262
visão da Aplicação
MySQL Cluster Data Nodes
Data Layer
Application Layer
Management
mgm_ndbd
MySQL Cluster: alta-disponibilidade
Table T1
F1
F3
F3
F1
F2
F4
F4
F2
Management
mgm_ndbd
mysqldmysqld
ndbd ndbd ndbd ndbd
Clients
- 58. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1263
Qual o custo?
- 59. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1264
Como manter TCO baixo?
• Escalabilidade linear de Escritas e Leituras
• Elasticidade, crescimento incremental, distrib. simétricaEscalabilidade
• 99.999% de disponibilidade, 5min / ano
• Self-healing, failover menor que 1s, geo-replicaçãoAlta Disponibilidade
• Performance em tempo real, in-memory e em disco
• Latência baixa e preditiva, acessos paralelosAlta Performance
• Modelo relacional ACID, SQL e Foreign Keys
• APIs NoSQL (C++, Java, Memcached, Node.js)Flexibilidade
• Open Source, suporte e ferramentas comerciais opcionais
• Hardware commodityBaixo TCO
- 60. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1265
Principais componentes do TCO
1. Custo de aquisição
• Licenciamento do Software (desenvolvimento e produção)
• Hardware necessário
• Conhecimento da equipe
• Produtividade do time de desenvolvimento
2. Custo de manutenção e evolução
• Hospedagem e manutenção do hardware
• Conhecimento da equipe
• Estabilidade e maturidade do software
• Suporte do fabricante
• Produtividade: Ferramentas de gerenciamento, monitoramento e backup
• Produtividade do time de evolução do produto
- 61. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1266
Carrier Grade Edition (CGE) - comercial
MySQL
Cluster
Suporte
Monitor
&
Backup
Plug-ins
Manager
mysql.com/products/cluster/features.html
- 62. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1267
Aprenda mais…
- 63. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1268
Mais sobre como começar com MySQL Cluster
Whitepaper:
MySQL Cluster Evaluation Guide
June 2013
mysql.com/why-mysql/white-papers/mysql-
cluster-evaluation-guide
- 64. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1269
Próximo passo: documentação
Reference Manual
Cap. 17.1, MySQL Cluster Overview
1. MySQL Cluster Core Concepts
2. MySQL Cluster Nodes, Node Groups, Replicas, and Partitions
3. MySQL Cluster Hardware, Software, and Networking
Requirements
4. MySQL Cluster Development History
5. MySQL Server Using InnoDB Compared with MySQL Cluster
6. Known Limitations of MySQL Cluster
dev.mysql.com/doc/refman/5.6/en/mysql-cluster.html
- 65. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1270
Mais sobre como MySQL Cluster para Web
Whitepaper:
Guide to Scaling Web Databases with
MySQL Cluster
June 2013
mysql.com/why-mysql/white-papers/guide-to-
scaling-web-databases-with-mysql-cluster
- 66. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1271
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
mysql.com/training
Certificações
Opcional
Necessário
Treinamentos e certificações
- 67. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1272
Sumário
O MySQL Cluster é um produto derivado do popular MySQL Server que é o
"M" do LAMP stack.
Trata-se de um banco de dados distribuído com arquitetura shared-nothing e
que pode oferecer 99,999% de disponibilidade, performance superior a 1
bilhão de escritas por minuto, escalabilidade linear, conformidade com o
modelo ACID, flexibilidade das interfaces NoSQL e geo-replicação multi-
master.
Instale, migre algumas tabelas e comece a usar!
- 68. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1273
@MySQLBR facebook.com/MySQLBR
Obrigado!
Slides disponíves em…
- 69. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1274
Perguntas?
Alta-disponibilidade e alta performance com o
MySQL Cluster 7.3