2. 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.
2
4. Agenda
• MySQL Cluster Product Overview
– O que é o MySQL Cluster?
– Componentes do MySQL Cluster
– MySQL Cluster Manager ™
– Casos de Utilização
– Benchmarks
• MySQL Cluster 7.2
4
7. Multi-Data Center Scalability
Geographic Replication
• Replicate complete
clusters across data
centers
– DR & data locality
– Fully active/active
Geographic – No passive resources
Replication
• Split individual clusters
across data centers
– Synchronous replication
& auto-failover between
sites
– Delivered as part of
MySQL Cluster 7.2 DMR
7
8. Mapping Applications to HA Technology
Shared-Nothing,
Database Clustered /
Applica ons Geo-Replicated
Replica on Virtualized
Cluster
E-Commerce / Trading (1)
Session Management (1)
User Authen ca on / Accoun ng (1)
Feeds, Blogs, Wikis
OLTP (1)
Data Warehouse/BI
Content Management
CRM
Collabora on
Packaged So ware
Network Infrastructure
Core Telco Apps (HLR/HSS/SDP…)
1: Replication used in combination with cluster or virtualization – based HA
8
9. MySQL Cluster
• O MySQL Cluster é formado por 3 componentes:
– Management Node: permite a realização de tarefas
administrativas como monitoramento dos nós, backup dos
nós de dados do cluster e outras – seu binário é o ndb_mgmd;
– Data ou Storage Node: responsável por processar e
armazenar dados dos bancos de dados localizados no cluster
– seu binário é o ndbd ou ndbmtd;
– API ou SQL Node: este é o nó que recebe as conexões das
aplicações e enviam e requisitam dados armazenados nos
Data Nodes – seu binário é o mysqld;
9
10. MySQL Cluster - Auto-Partitioning
Table T1 Data Node 1
P1
Data Node 2
P2
P3 Data Node 3
P4
Data Node 4
10
11. MySQL Cluster - Auto-Partitioning
Table T1 Data Node 1
F1
P1
Data Node 2
P2
P3 Data Node 3
P4
Data Node 4
11
12. MySQL Cluster - Auto-Partitioning
Table T1 Data Node 1
F1
P1
Data Node 2
F1
P2
P3 Data Node 3
P4
Data Node 4
12
13. MySQL Cluster - Auto-Partitioning
Table T1 Data Node 1
F1
P1
Data Node 2
F3 F1
P2
P3 Data Node 3
P4
Data Node 4
13
14. MySQL Cluster - Auto-Partitioning
Table T1 Data Node 1
F1 F3
P1
Data Node 2
F3 F1
P2
P3 Data Node 3
P4
Data Node 4
14
15. MySQL Cluster - Auto-Partitioning
Table T1 Data Node 1
F1 F3
P1
Data Node 2
F3 F1
P2
P3 Data Node 3
F2
P4
Data Node 4
15
16. MySQL Cluster - Auto-Partitioning
Table T1 Data Node 1
F1 F3
P1
Data Node 2
F3 F1
P2
P3 Data Node 3
F2
P4
Data Node 4
F2
16
17. MySQL Cluster - Auto-Partitioning
Table T1 Data Node 1
F1 F3
P1
Data Node 2
F3 F1
P2
P3 Data Node 3
F2
P4
Data Node 4
F4 F2
17
18. MySQL Cluster - Auto-Partitioning
Table T1 Data Node 1
F1 F3
P1
Data Node 2
F3 F1
P2
P3 Data Node 3
F2 F4
P4
Data Node 4
F4 F2
18
19. MySQL Cluster - Auto-Partitioning
Table T1 Data Node 1
F1 F3
P1 Node Group 1
Data Node 2
F3 F1
P2
P3 Data Node 3
F2 F4
P4
Data Node 4
F4 F2
19
20. MySQL Cluster - Auto-Partitioning
Table T1 Data Node 1
F1 F3
P1 Node Group 1
Data Node 2
F3 F1
P2
P3 Data Node 3
F2 F4
P4
Node Group 2
Data Node 4
F4 F2
20
21. MySQL Cluster - Auto-Partitioning
Table T1 Data Node 1
F1 F3
P1 Node Group 1
Data Node 2
F3 F1
P2
P3 Data Node 3
F2 F4
P4
Node Group 2
Data Node 4
F4 F2
21
22. MySQL Cluster - Auto-Partitioning
Table T1 Data Node 1
F1 F3
P1 Node Group 1
Data Node 2
F3 F1
P2
P3 Data Node 3
F2 F4
P4
Node Group 2
Data Node 4
F4 F2
22
23. MySQL Cluster - Auto-Partitioning
Table T1
Scalability a
P1 Performanc
e
P2
HA a
P3 Ease of use
P4 SQL/Joins a
ACID a
Transaction
s
23
25. MySQL Cluster
• Recomenda-se que:
– todos os componentes sejam pelo menos duplicados, tendo
uma instalação com no mínimo 6 nodes dentro do cluster;
– o cluster seja colocado em uma sub-rede que possibilite
trafegar dados somente do cluster para que não haja perda
de pacotes;
– todas as máquinas que figuram SQL e Storage node tenham
as mesmas configurações para evitar bottlenecks;
– todos os binários de todos os componentes sejam da mesma
versão e release do produto;
25
26. Comparison
MySQL Oracle VM Solaris MySQL
HA Technology WSFC*
Replication Template Cluster Cluster
All supported by Windows Server Oracle Linux Oracle Solaris All supported by
Platform Support MySQL Server ** 2008 MySQL Cluster ****
All (InnoDB InnoDB InnoDB All (InnoDB NDB (MySQL
Supported Storage Engine recommended) recommended) Cluster)
Auto IP Failover No Yes Yes Yes Yes
Auto Database Failover No Yes Yes Yes Yes
Auto Data No N/A – Shared N/A – Shared N/A – Shared Yes
Storage Storage Storage
Resynchronization
Failover Time User / Script 5 seconds + 5 seconds + 5 seconds + 1 Second or Less
Dependent InnoDB Recovery InnoDB Recovery InnoDB Recovery
Time*** Time*** Time***
Asynchronous / Semi- N/A – Shared N/A – Shared N/A – Shared Synchronous
Replication Mode Synchronous Storage Storage Storage
No, distributed across Yes Yes Yes No, distributed
Shared Storage nodes across nodes
Master & Multiple Active / Passive Active / Passive Active / Passive 255 + Multiple
No. of Nodes Slaves Master + Multiple Master + Multiple Master + Multiple Slaves
Slaves Slaves Slaves
Availability Design Level 99.9% 99.95% 99.99% 99.99% 99.999%
* Windows Server 2008R2 Failover Clustering
** http://www.mysql.com/support/supportedplatforms/database.html
*** InnoDB recovery time dependent on cache and database size, database activity, etc.
**** http://www.mysql.com/support/supportedplatforms/cluster.html
26
27. MySQL Cluster Manager ™
• Funciona através do
MySQL Enterprise
Monitor;
• Permite fazer start,
restart e stop de
Storage Nodes
através de Interface
Gráfica;
• Live Demo:
http://bit.ly/rqjQRp
27
28. MySQL Cluster Manager ™
MySQL Cluster nodes automatically restarted
after configuration change
28
29. Benchmarks – Scale-Out
Aumento de servidores faz que haja aumento na escala,
aumentando a capacidade de resolução de requisições!
29
30. MySQL Cluster Architecture
REST LDAP
Application Nodes Scalability
Performanc
e
Node Group 1 Node Group 2
HA
F1 F2 Ease of use
Node 1
Cluster Node 3 Cluster
Mgr Mgr
F3 F4
SQL/Joins a
F3 F4 ACID a
Node 2
Node 4
F1 F2 Transaction
Data s
Nodes
30
31. MySQL Cluster Architecture
REST LDAP
Application Nodes Scalability
Performanc
e
Node Group 1 Node Group 2
HA a
F1 F2 Ease of use
Node 1
Cluster Node 3 Cluster
Mgr Mgr
F3 F4
SQL/Joins a
F3 F4 ACID a
Node 2
Node 4
F1 F2 Transaction
Data s
Nodes
31
32. Wagner Bianchi
É especialista em MySQL e outros servidores de bancos de dados
relacionais como Oracle e SQL Server. Formado em Gerenciamento de
Bancos de Dados, com MBA em Administração de Empresas pela
Fundação Getúlio Vargas e Pós-Graduando em Bancos de Dados pela
Universidade Gama Filho do Distrito Federal, possui várias
certificações, entre elas a SCMA, SCMDEV, SCMDBA e SCMCDBA.
Atualmente é Consultor Sênior em bancos de dados pela
WAGNERBIANCHI.COM.
32