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
●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