mysql cluster product overview - by wagner bianchi jr
DESCRIPTION
Uma visão geral do MySQL Cluster e algumas novidades que vem por aí na versão 7.2TRANSCRIPT
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.
3
Cloud
Web & Enterprise OEM & ISVs
Industry Leaders Rely on MySQL
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
5
O que é o MySQL Cluster?
6
Mapping HA Architectures to Availability
7
Multi-Data Center Scalability
Geographic Replication
• Replicate complete
clusters across data
centers
– DR & data locality
– Fully active/active
– No passive resources
• Split individual clusters
across data centers
– Synchronous replication
& auto-failover between
sites
– Delivered as part of
MySQL Cluster 7.2 DMR
Geographic Replication
8
Mapping Applications to HA Technology
Applica ons DatabaseReplica on
Clustered/Virtualized
Shared-Nothing,Geo-Replicated
Cluster
E-Commerce/Trading (1)
SessionManagement (1)
UserAuthen ca on/Accoun ng (1)
Feeds,Blogs,Wikis
OLTP (1)
DataWarehouse/BI
ContentManagement
CRM
Collabora on
PackagedSo ware
NetworkInfrastructure
CoreTelcoApps(HLR/HSS/SDP…)
1: Replication used in combination with cluster or virtualization – based HA
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;
10
Data Node 1
Data Node 2
Data Node 3
Data Node 4
Table T1
P2
P3
P4
P1
MySQL Cluster - Auto-Partitioning
11
Data Node 1
Data Node 2
F1
Data Node 3
Data Node 4
Table T1
P2
P3
P4
P1
MySQL Cluster - Auto-Partitioning
12
Data Node 1
Data Node 2
F1
F1
Data Node 3
Data Node 4
Table T1
P2
P3
P4
P1
MySQL Cluster - Auto-Partitioning
13
Data Node 1
Data Node 2
F1
F3 F1
Data Node 3
Data Node 4
Table T1
P2
P3
P4
P1
MySQL Cluster - Auto-Partitioning
14
Data Node 1
Data Node 2
F1 F3
F3 F1
Data Node 3
Data Node 4
Table T1
P2
P3
P4
P1
MySQL Cluster - Auto-Partitioning
15
Data Node 1
Data Node 2
F1 F3
F3 F1
Data Node 3
Data Node 4
F2
Table T1
P2
P3
P4
P1
MySQL Cluster - Auto-Partitioning
16
Data Node 1
Data Node 2
F1 F3
F3 F1
Data Node 3
Data Node 4
F2
F2
Table T1
P2
P3
P4
P1
MySQL Cluster - Auto-Partitioning
17
Data Node 1
Data Node 2
F1 F3
F3 F1
Data Node 3
Data Node 4
F2
F4 F2
Table T1
P2
P3
P4
P1
MySQL Cluster - Auto-Partitioning
18
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
MySQL Cluster - Auto-Partitioning
19
Data Node 1
Data Node 2
F3
F1
Data Node 3
Data Node 4
F2 F4
F4 F2
Node Group 1
Table T1
P2
P3
P4
P1
F1
F3
MySQL Cluster - Auto-Partitioning
20
Data Node 1
Data Node 2
F1 F3
F3 F1
Data Node 3
Data Node 4
F2 F4
F4 F2
Node Group 1
Node Group 2
Table T1
P2
P3
P4
P1
MySQL Cluster - Auto-Partitioning
21
Data Node 1
Data Node 2
F1 F3
F3 F1
Data Node 3
Data Node 4
F2 F4
F4 F2
Node Group 1
Node Group 2
Table T1
P2
P3
P4
P1
MySQL Cluster - Auto-Partitioning
22
Data Node 1
Data Node 2
F1 F3
F3 F1
Data Node 3
Data Node 4
F2 F4
F4 F2
Node Group 1
Node Group 2
Table T1
P2
P3
P4
P1
MySQL Cluster - Auto-Partitioning
23
Table T1
P2
P3
P4
P1
MySQL Cluster - Auto-Partitioning
Scalability a
Performanc
e
HA a
Ease of use
SQL/Joins a
ACID
Transaction
s
a
24
MySQL Cluster
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;
26
Comparison
HA Technology MySQL
Replication WSFC*
Oracle VM
Template
Solaris
Cluster
MySQL
Cluster
Platform Support All supported by
MySQL Server **
Windows Server
2008
Oracle Linux Oracle Solaris All supported by
MySQL Cluster ****
Supported Storage Engine All (InnoDB
recommended)
InnoDB InnoDB All (InnoDB
recommended)
NDB (MySQL
Cluster)
Auto IP Failover No Yes Yes Yes Yes
Auto Database Failover No Yes Yes Yes Yes
Auto Data
Resynchronization
No N/A – Shared
Storage
N/A – Shared
Storage
N/A – Shared
Storage
Yes
Failover Time User / Script
Dependent
5 seconds +
InnoDB Recovery
Time***
5 seconds +
InnoDB Recovery
Time***
5 seconds +
InnoDB Recovery
Time***
1 Second or Less
Replication Mode Asynchronous / Semi-
Synchronous
N/A – Shared
Storage
N/A – Shared
Storage
N/A – Shared
Storage
Synchronous
Shared Storage No, distributed across
nodes
Yes Yes Yes No, distributed
across nodes
No. of Nodes Master & Multiple
Slaves
Active / Passive
Master + Multiple
Slaves
Active / Passive
Master + Multiple
Slaves
Active / Passive
Master + Multiple
Slaves
255 + Multiple
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
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
28
MySQL Cluster Manager ™
MySQL Cluster nodes automatically restarted
after configuration change
29
Benchmarks – Scale-Out
Aumento de servidores faz que haja aumento na escala,
aumentando a capacidade de resolução de requisições!
30
MySQL Cluster Architecture
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 Mgr
Cluster Mgr
LDAP REST
Scalability
Performanc
e
HA
Ease of use
SQL/Joins a
ACID
Transaction
s
a
31
MySQL Cluster Architecture
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 Mgr
Cluster Mgr
LDAP REST
Scalability
Performanc
e
HA a
Ease of use
SQL/Joins a
ACID
Transaction
s
a
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.