MySQL Cluster Product Overview

32
<Insert Picture Here> MySQL Cluster Product Overview Wagner Bianchi – [email protected]

description

This presentation was perfor

Transcript of MySQL Cluster Product Overview

Page 1: MySQL Cluster Product Overview

<Insert Picture Here>

MySQL Cluster Product Overview

Wagner Bianchi – [email protected]

Page 2: MySQL Cluster Product Overview

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.

Page 4: MySQL Cluster Product Overview

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

Page 5: MySQL Cluster Product Overview

5

O que é o MySQL Cluster?

Page 6: MySQL Cluster Product Overview

6

Mapping HA Architectures to Availability

Page 7: MySQL Cluster Product Overview

7

Multi-Data Center ScalabilityGeographic 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

Page 8: MySQL Cluster Product Overview

8

Mapping Applications to HA Technology

Page 9: MySQL Cluster Product Overview

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;

Page 10: MySQL Cluster Product Overview

10

Data Node 1

Data Node 2

Data Node 3

Data Node 4

Table T1

P2

P3

P4

P1

MySQL Cluster - Auto-Partitioning

Page 11: MySQL Cluster Product Overview

11

Data Node 1

Data Node 2

F1

Data Node 3

Data Node 4

Table T1

P2

P3

P4

P1

MySQL Cluster - Auto-Partitioning

Page 12: MySQL Cluster Product Overview

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

Page 13: MySQL Cluster Product Overview

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

Page 14: MySQL Cluster Product Overview

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

Page 15: MySQL Cluster Product Overview

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

Page 16: MySQL Cluster Product Overview

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

Page 17: MySQL Cluster Product Overview

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

Page 18: MySQL Cluster Product Overview

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

Page 19: MySQL Cluster Product Overview

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

Page 20: MySQL Cluster Product Overview

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

Page 21: MySQL Cluster Product Overview

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

Page 22: MySQL Cluster Product Overview

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

Page 23: MySQL Cluster Product Overview

23

Table T1

P2

P3

P4

P1

MySQL Cluster - Auto-Partitioning

Scalability a

Performance

HA a

Ease of use

SQL/Joins a

ACID Transaction

s

a

Page 24: MySQL Cluster Product Overview

24

MySQL Cluster

Page 25: MySQL Cluster Product Overview

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;

Page 26: MySQL Cluster Product Overview

26

Comparison

HA Technology MySQL Replication WSFC* Oracle VM

TemplateSolaris Cluster

MySQL Cluster

Platform SupportAll supported by MySQL Server **

Windows Server 2008

Oracle Linux Oracle Solaris All supported by MySQL Cluster ****

Supported Storage EngineAll (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 ModeAsynchronous / Semi-

SynchronousN/A – Shared

StorageN/A – Shared

StorageN/A – Shared

StorageSynchronous

Shared StorageNo, distributed across

nodesYes Yes Yes No, distributed

across nodes

No. of NodesMaster & Multiple

SlavesActive / 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

Page 27: MySQL Cluster Product Overview

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

Page 28: MySQL Cluster Product Overview

28

MySQL Cluster Manager ™

MySQL Cluster nodes automatically restarted

after configuration change

Page 29: MySQL Cluster Product Overview

29

Benchmarks – Scale-Out

Aumento de servidores faz que haja aumento na escala,

aumentando a capacidade de resolução de requisições!

Page 30: MySQL Cluster Product Overview

30

MySQL Cluster Architecture

Data Nodes

Node Group 1

F1

F3

F3

F1

No

de

1N

od

e 2

Node Group 2

F2

F4

F4

F2

No

de

3N

od

e 4

Application Nodes

Cluster Mgr

Cluster Mgr

LDAPREST Scalability

Performance

HA

Ease of use

SQL/Joins a

ACID Transaction

s

a

Page 31: MySQL Cluster Product Overview

31

MySQL Cluster Architecture

Data Nodes

Node Group 1

F1

F3

F3

F1

No

de

1N

od

e 2

Node Group 2

F2

F4

F4

F2

No

de

3N

od

e 4

Application Nodes

Cluster Mgr

Cluster Mgr

LDAPREST Scalability

Performance

HA a

Ease of use

SQL/Joins a

ACID Transaction

s

a

Page 32: MySQL Cluster Product Overview

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.