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 Availability
02
● 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
13
Topic: 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
14
Topic: 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
15
Topic: 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)
16
Topic: 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
18
Topic: 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
19
Topic: MySQL Cluster - Group: 4

MySQL - NDB Cluster

  • 1.
    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
  • 2.
    Overview ● Introduction ○ Whatis 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
  • 3.
    What is MySQLCluster? Is a Distributed, Highly Available, and Scalable version of MySQL 3 Scalability ● Can easily add / remove nodes ● Data partitioning 03 High Availability 02 ● 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
  • 4.
    History ● Developed byEricsson 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
  • 5.
    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
  • 6.
    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
  • 7.
    Architecture of NDBCluster ● 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
  • 8.
    Architecture of NDBCluster ● 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
  • 9.
    Architecture of NDBCluster ● 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
  • 10.
    Architecture of NDBCluster ● 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
  • 11.
    Architecture of NDBCluster ● 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
  • 12.
    Sharding / DataPartitioning ● 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
  • 13.
    Scalability ● Adding SQLnodes ○ SQL capacity ● Node groups ○ Read/ Write throughput ○ Total resources ○ Geo redundancy ● Scale out online 13 Topic: MySQL Cluster - Group: 4 NDB Cluster Scalability
  • 14.
    Scalability ● Adding SQLnodes ○ SQL capacity ● Node groups ○ Read/ Write throughput ○ Total resources ○ Geo redundancy ● Scale out online 14 Topic: MySQL Cluster - Group: 4 NDB Cluster Scalability
  • 15.
    Comparison Similarities and Differences MySQLNDB 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 15 Topic: MySQL Cluster - Group: 4
  • 16.
    Comparison Advantages and Disadvantages MySQLNDB 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) 16 Topic: MySQL Cluster - Group: 4
  • 17.
    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
  • 18.
    Summary ● MySQL Clusteris 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 18 Topic: MySQL Cluster - Group: 4
  • 19.