MySQL - NDB Cluster

RajithBhanukaMahanam 174 views 19 slides Nov 08, 2021
Slide 1
Slide 1 of 19
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19

About This Presentation

Introduction to MySQL NDB cluster and internal mechanisms.


Slide Content

MySQL Cluster
Bhanuka Mahanama (rmaha002)
Yasith Jayawardana (pjaya001)
Gavindya Jayawardena (hjaya001)

Group # 4

CS450/550 DATABASE CONCEPTS
Student Topic Presentation
Topic: MySQL Cluster - Group: 4

Overview
●Introduction
○What is MySQL Cluster?
○History
●Taxonomy & Architecture
○MySQL Cluster Architecture
○Types of MySQL Clusters
○How Data is Stored
●Comparison
○Similarities and Differences
○Advantages and Disadvantages
●Examples and Applications
2 Topic: MySQL Cluster - Group: 4

What is MySQL Cluster?
Is a Distributed, Highly Available, and Scalable version of MySQL
3
Scalability
●Can easily add / remove nodes
●Data partitioning 03
High Availability02
●Remains available even when some nodes fail
●No Single Point of Failure
Distributed ●Runs on more than one node 01
Topic: MySQL Cluster - Group: 4

History
●Developed by Ericsson in the late 90’s
[1,2]

●Initially designed for Telecommunication Applications
Paper: "Design and Modeling of a Parallel Data Server for Telecom Applications"
[3]

○High availability and reliability – downtime less than 30 seconds / year
[2]

○High throughput and linear scalability when adding more servers
[2]

●Later Acquired by MySQL
●Incorporated as a Storage Engine
[1] https://web.archive.org/web/20040202195548/http://www.mysql.com/press/release_2003_30.html
[2] https://downloads.mysql.com/presentations/3_MySQL_Use_Case_for_TELCO_Europe.pdf
[3] Ronström, M., & Ab, E. U. (1998). Design and Modelling of a Parallel Data Server for Telecom Applications. Computer and Information Science, Linköping University.
4
Topic: MySQL Cluster - Group: 4

MySQL Cluster Architecture
●Key Components
○Connection Management
○SQL Parser
○Storage Engine

●Cluster Storage Engines
○InnoDB Cluster
○Network Database (NDB) Cluster

Source: http://books.gigatux.nl
5
MySQL Architecture
Topic: MySQL Cluster - Group: 4

MySQL Cluster Architecture
●Key Components
○Connection Management
○SQL Parser
○Storage Engine

●Cluster Storage Engines
○InnoDB Cluster
○Network Database (NDB) Cluster

Source: http://books.gigatux.nl
6
MySQL Cluster Architecture
Topic: MySQL Cluster - Group: 4

Architecture of NDB Cluster
●Node types
○Access nodes (SQL nodes)
○Data nodes
○Management nodes

●Node groups
○Collection of data nodes
NDB Cluster Components
7
Topic: MySQL Cluster - Group: 4

Architecture of NDB Cluster
●Node types
○Access nodes (SQL nodes)
○Data nodes
○Management nodes

●Node groups
○Collection of data nodes
NDB Cluster Components
8
Topic: MySQL Cluster - Group: 4

Architecture of NDB Cluster
●Node types
○Access nodes (SQL nodes)
○Data nodes
○Management nodes

●Node groups
○Collection of data nodes
NDB Cluster Components
9
Topic: MySQL Cluster - Group: 4

Architecture of NDB Cluster
●Node types
○Access nodes (SQL nodes)
○Data nodes
○Management nodes

●Node groups
○Collection of data nodes
NDB Cluster Components
10
Topic: MySQL Cluster - Group: 4

Architecture of NDB Cluster
●Node types
○Access nodes (SQL nodes)
○Data nodes
○Management nodes

●Node groups
○Collection of data nodes
NDB Cluster Components
11
Topic: MySQL Cluster - Group: 4

Sharding / Data Partitioning
●Uses primary key as shard key

●Generate hash from shard key

●Shard based on hash
12
Source: https://docs.oracle.com
Topic: MySQL Cluster - Group: 4

Scalability
●Adding SQL nodes
○SQL capacity

●Node groups
○Read/ Write throughput
○Total resources
○Geo redundancy

●Scale out online
13Topic: MySQL Cluster - Group: 4
NDB Cluster Scalability

Scalability
●Adding SQL nodes
○SQL capacity

●Node groups
○Read/ Write throughput
○Total resources
○Geo redundancy

●Scale out online
14Topic: MySQL Cluster - Group: 4
NDB Cluster Scalability

Comparison
Similarities and Differences
MySQL NDB MySQL InnoDB MongoDB Cassandra
Query Language SQL MQL CQL
Data Model Relational NoSQL
Architecture Shared-Nothing Master-Slave No Master
Persistence In-Memory Memory + Disk
Consistency Strong Weak Eventual
15Topic: MySQL Cluster - Group: 4

Comparison
Advantages and Disadvantages
MySQL NDB MySQL InnoDB
Sharding ✔ -
Load Balancing ✔ -
CPU-Level Optimization ✔ -
Span across regions ✔ ✔
Scaling Read, Write Read
Consistency Read, Write Write
Configuration complexity High Low
Cost of management High Low
Administrative / Monitoring tools Custom
(Proprietary)
Standard (Free)
16Topic: MySQL Cluster - Group: 4

Examples & Applications
●Telecommunication
○Mobile network operators
○Network equipment providers
●E-commerce applications
●Financial systems
●High volume online transaction
processing systems
○Point of sales processing


17
Topic: MySQL Cluster - Group: 4

Summary
●MySQL Cluster is a Distributed, Highly Available, Scalable version of MySQL
●Key Components of MySQL Cluster Architecture
●Types of MySQL Clusters
○InnoDB Cluster
○Network Database (NDB) Cluster
●Comparison of MySQL Cluster
○Compare with other DBMS
○Compare InnoDB and NDB Types

18Topic: MySQL Cluster - Group: 4

References
https://downloads.mysql.com/presentations/3_MySQL_Use_Case_for_TELCO_Europe.pdf

https://www.mysql.com/why-mysql/case-studies/#en-5-28

https://www.mysql.com/customers/

https://www.itcentralstation.com/products/comparisons/ibm-db2-database_vs_mysql

https://db-engines.com/en/system/Cassandra%3BMongoDB%3BMySQL

https://phoenixnap.com/kb/cassandra-vs-mongodb

https://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-overview.html







19Topic: MySQL Cluster - Group: 4