SlideShare una empresa de Scribd logo
1 de 44
MySQL Cluster (NDB) vs Galera for MySQL 
Confidential 
December 11, 2014 
Alex Yu 
alex@severalnines.com
Copyright Severalnines AB 
Webinar Housekeeping 
!This webinar is being recorded 
!A link to the recording & slides will be posted on severalnines.com 
!We welcome questions: enter questions into the chat box and we 
will respond at the end of the presentation 
!Think of something later? 
!Email Severalnines at info@severalnines.com 
2
Copyright Severalnines AB 
Agenda 
!MySQL Cluster (NDB) and Galera Architecture Overview 
!Read and write workloads 
!Deployment scenarios 
!WAN/Geographical replication 
!Data migration & Schema changes 
!Management and performance monitoring 
3
Copyright Severalnines AB 
MySQL Cluster (NDB Storage Engine) 
!Distributed shared nothing realtime database cluster 
!Multi-master, auto sharding, in-memory & disk-data storage 
!Near linear scalability with transparent load balancing 
!SQL and NoSQL interfaces 
!Local and Geographical Replication 
!Synchronous and Asynchronous replication 
!99.999% availability, no single point of failure 
!Telecom “Carrier Grade” legacy 
4
Copyright Severalnines AB 
MySQL Cluster Applications Example 
!Subscriber Databases (Telecom HLR/HSS systems) 
!Massive volume of write traffic (location and updates) 
!Response time < 3ms 
!eCommerce 
!Payment processing and fulfilment 
!High batch and realtime loads 
!Service Delivery Platforms 
!High volume of traffic 
!Mixed read/write loads 
5
Copyright Severalnines AB 
MySQL Cluster Architecture 
6 
MySQL 
[SQL Node] 
MySQL 
[SQL Node] 
Data Node Data Node Data Node Data Node 
Mgmt 
MgmNt ode 
Node 
Web App Clients 
NDB API (C++) 
SQL based clients 
MySQL Client/Server protocol 
MGM C API 
Management 
Client 
SQL Nodes 
Data Nodes 
Management Nodes 
(default arbitrator) 
Synchronous replication 
within a Node group
Copyright Severalnines AB 
Automatic Sharding 
7 
Table T with 8 rows 
4 Data Nodes - 2 Node Groups 
Data Node Data Node Data Node Data Node
Copyright Severalnines AB 
Automatic Sharding (cont.) 
8 
Table T with 8 rows 
4 Data Nodes - 2 Node Groups 
Data Node 1 Data Node 2 Data Node 3 Data Node 4 
• Sharding based on hashing the primary key or a user defined key 
• Each node stores primary fragment for 1 partition and back-up fragment for another 
• # of node groups == # of data nodes / # of replicas
Copyright Severalnines AB 
Automatic Sharding (cont.) 
9 
Table T with 8 rows 
4 Data Nodes - 2 Node Groups 
Data Node 1 Data Node 2 Data Node 3 Data Node 4 
• Sharding based on hashing the primary key or a user defined key 
• Each node stores primary fragment for 1 partition and back-up fragment for another 
• # of node groups == # of data nodes / # of replicas
Copyright Severalnines AB 
Automatic Sharding (cont.) 
10 
Table T with 8 rows 
4 Data Nodes - 2 Node Groups 
Data Node 1 Data Node 2 Data Node 3 Data Node 4 
• Sharding based on hashing the primary key or a user defined key 
• Each node stores primary fragment for 1 partition and back-up fragment for another 
• # of node groups == # of data nodes / # of replicas
Copyright Severalnines AB 
Automatic Sharding (cont.) 
11 
Table T with 8 rows 
4 Data Nodes - 2 Node Groups 
Data Node 1 Data Node 2 Data Node 3 Data Node 4 
• Sharding based on hashing the primary key or a user defined key 
• Each node stores primary fragment for 1 partition and back-up fragment for another 
• # of node groups == # of data nodes / # of replicas
Copyright Severalnines AB 
Automatic Sharding (cont.) 
12 
Table T with 8 rows 
4 Data Nodes - 2 Node Groups 
Data Node Data Node Data Node Data Node 
• Sharding based on hashing the primary key or a user defined key 
• Each node stores primary fragment for 1 partition and back-up fragment for another 
• # of node groups == # of data nodes / # of replicas
Copyright Severalnines AB 
Automatic Sharding (cont.) 
13 
Data Node Data Node Data Node Data Node 
4 partitions 
Secondary Fragments 
4 Data Nodes - 2 Node Groups 
Primary Fragments 
1 
2 
3 
4 
• The cluster is fully operational as long as we have 1 node up in each node group! 
• If all nodes in a single node group is gone then the cluster will gracefully shutdown
Copyright Severalnines AB 
Automatic Sharding (cont.) 
14 
Data Node Data Node Data Node Data Node 
4 partitions 
Secondary Fragments 
4 Data Nodes - 2 Node Groups 
Primary Fragments 
1 
2 
3 
4 
• The cluster is fully operational as long as we have 1 node up in each node group! 
• If all nodes in a single node group is gone then the cluster will gracefully shutdown
Copyright Severalnines AB 
Primary Key Requests 
15 
MySQL 
[SQL Node] 
MySQL 
[SQL Node] 
Data Node Data Node Data Node Data Node 
Mgmt 
MgmNt ode 
Node 
Web Web Web 
• PK lookup goes directly to the node with the primary fragment 
• Parallel operations, Transparent load balancing
Copyright Severalnines AB 
Joins, index and table scans 
16 
MySQL 
[SQL Node] 
MySQL 
[SQL Node] 
Data Node Data Node Data Node Data Node 
Mgmt 
MgmNt ode 
Node 
Web Web Web 
• Table and Index Scans parallel on all nodes 
• Joins executes on data nodes, merged results sent back to SQL node
Copyright Severalnines AB 
Migration to MySQL Cluster 
!Limitations 
!14K row size, 512 attributes (columns + indexes) / table 
!32 attributes / key, only first 3072 bytes of column can be used for index 
!No fulltext or spatial indexes, temporary tables cannot be created using the NDB storage engine 
!Every table must have a Primary Key 
!Hidden PK is automatically created if not defined 
!In-Memory or disk-based tables 
!Dataset exceeds available system memory for the cluster? 
!Network, Local and Global Checkpoint 
!Write intensive, dimension disk subsystem 
!Dedicated >= 1Gb/s networking 
!ALTER TABLE … ENGINE NDB 
!Alt. MySQL Replication, Backup & Restore 
17
Copyright Severalnines AB 
Deployment Scenarios 
18 
MySQL 
[SQL Node] 
MySQL 
[SQL Node] 
… 
Data Node Data Node Data Node Data Node 
… 
• Scale up to 48 Data Nodes 
• Limit of 255 number of nodes (regardless of type)
Copyright Severalnines AB 
Deployment Scenarios (cont.) 
19 
Master Slave/Standby 
MySQL 
[SQL Node] 
MySQL 
[SQL Node] 
Data Node 
Data Node 
Data Node 
Data Node 
MySQL 
[SQL Node] 
MySQL 
[SQL Node] 
Data Node 
Data Node 
Data Node 
Data Node 
MySQL Asynchronous Replication 
Single Point of Failure 
• Multiple replication topologies available 
• Master - Master (Bi-directional) 
West East 
• Conflict detection and resolution 
• Master - Slave(s) 
• Circular 
• etc 
Synchronous replication 
within a Node group
Copyright Severalnines AB 
Deployment Scenarios (cont.) 
20 
Master Slave/Standby 
MySQL 
[SQL Node] 
MySQL 
[SQL Node] 
Data Node 
Data Node 
Data Node 
Data Node 
MySQL 
[SQL Node] 
MySQL 
[SQL Node] 
Data Node 
Data Node 
Data Node 
Data Node 
Primary 
START SLAVE only on Primary! 
Secondary/Standby 
West East 
• Master - Slave(s) 
• Standby replication channel 
• Manual failover
Copyright Severalnines AB 
Deployment Scenarios (cont.) 
21 
Master Master 
MySQL 
[SQL Node] 
MySQL 
[SQL Node] 
Data Node 
Data Node 
Data Node 
Data Node 
MySQL 
[SQL Node] 
MySQL 
[SQL Node] 
Data Node 
Data Node 
Data Node 
Data Node 
Primary 
Secondary/Standby 
• Master - Master (Bi-directional) 
• Conflict detection and resolution 
West East 
• “timestamp based” 
• row by row not transaction based
Copyright Severalnines AB 
Galera Cluster for MySQL 
22 
!Synchronous (Virtually) Multi-Master Replication 
!Read and Write on any Node 
!No Master Failover! No Slave Lag! 
!Guaranteed write consistency 
!Cluster wide conflicts resolution (certification) 
!Automatic Node Provisioning 
!Highly Available and Scalable 
Client Client Client 
R/W R/W R/W 
MySQL 
[WSREP] 
!No SPOF 
!Read and Write (Parallel Applier threads) scalability 
!Geographical Replication (Mix MySQL Async & Galera Sync) 
Galera Replication (Synchronous) 
!Codership, Percona XtraDB Cluster, MariaDB Galera Cluster 
LB 
MySQL 
[WSREP] 
MySQL 
[WSREP]
Copyright Severalnines AB 
Galera Cluster for MySQL (cont.) 
!Recommended minimum 3 nodes 
!Network partition/split-brain 
!Blocking SST (rsync, mysqldump) 
!Higher probability for “deadlocks” 
!Cluster wide optimistic locking 
!Locking conflicts detected at commit 
!First to commit succeeds 
!Replication performance dependent on 
!Network latency 
!Performance of the “slowest” or the farthest Node (RTT) 
!Number of deployed nodes 
23 
Client Client Client 
R/W R/W R/W 
MySQL 
[WSREP] 
LB 
MySQL 
[WSREP] 
MySQL 
[WSREP] 
Galera Replication (Synchronous)
Copyright Severalnines AB 
Galera Concepts 
!Primary Component - PC 
!The whole cluster is a PC during normal operation 
!Node and network failures 
! Splits clusters into several components 
!Only PC can continue to modify state 
!Quorum algorithm invoked to select a PC during cluster 
partitioning 
!Majority rules 
!Minority tries to reconnect with PC 
24 
MySQL 
[WSREP] 
MySQL 
[WSREP] 
MySQL 
[WSREP] 
Primary Component
Copyright Severalnines AB 
Galera Concepts (cont.) 
!State Snapshot Transfer - SST 
!A transfer of a consistent snapshot of a node state corresponding to a certain GTID 
!Initialize the state of a newly joining cluster node from an already initialized node (donor) 
!Incremental State Transfer - IST 
!Catch up with the cluster by replaying missing transactions 
! Known initial node state 
! Enough transactions cached at the donor 
! gcache.size < database size 
25
Copyright Severalnines AB 
High Latency Network 
!Galera 2.x WAN replication (MySQL 5.5) 
!Point to point connection for all nodes! 
!Transaction latency dependent on the slowest link 
26 
MySQL 
[WSREP] 
MySQL 
[WSREP] 
MySQL 
[WSREP] 
DC1 
MySQL 
[WSREP] 
MySQL 
[WSREP] 
MySQL 
[WSREP] 
DC2
Copyright Severalnines AB 
High Latency Network (cont.) 
!Galera 3.x WAN optimization (MySQL 5.6) 
!“Cluster” Segment ID to group nodes by location 
!Replication between segments go over a single connection 
!Replication writesets distributed within each segment peer to peer 
!Segment connection/gateway can change per transaction 
27 
gmcast.segment = 1 gmcast.segment = 2 
MySQL 
[WSREP] 
MySQL 
[WSREP] 
MySQL 
[WSREP] 
MySQL 
[WSREP] 
MySQL 
[WSREP] 
MySQL 
[WSREP] 
segment gateway 
DC1 DC2
Copyright Severalnines AB 
High Latency Network (cont.) 
!Galera 3.x WAN optimization (MySQL 5.6) 
!“Cluster” Segment ID to group nodes by location 
!Replication between segments go over a single connection 
!Replication writesets distributed within each segment peer to peer 
!Segment connection/gateway can change per transaction 
28 
gmcast.segment = 1 segment gateway gmcast.segment = 2 
MySQL 
[WSREP] 
MySQL 
[WSREP] 
MySQL 
[WSREP] 
MySQL 
[WSREP] 
MySQL 
[WSREP] 
MySQL 
[WSREP] 
DC1 DC2
Copyright Severalnines AB 
Network Partition/Split Brain 
!Quorum based system 
!“Majority >50%” partition continues operation 
!“Minority” partition blocks operations 
! Until reconnected with Primary Component 
!Use odd number of nodes 
!Minimum 3 (5, 7, 9 etc) 
!Galera Arbitrator (garbd) 
!Useful if you have even number of nodes 
!Nodes across DCs 
!Replication relay 
29 
Galera 
Arbitrator 
DC3 
MySQL 
[WSREP] 
MySQL 
[WSREP] 
DC1 
MySQL 
[WSREP] 
DC2 
Client Client Client 
Load balancer 
Replication 
Relay
Copyright Severalnines AB 
Migration to Galera Cluster 
!Only InnoDB storage engine 
!Limited MyISAM support - not recommended 
!Every Table should have a Primary Key 
!DELETE operations are unsupported on tables without a primary key 
!Rows in tables without a primary key may appear in a different order on 
different nodes. (for cert. md5sum pseudo key from full row) 
!Transaction size 
! A writeset is processed as a single memory-resident buffer 
! Extremely large transactions e.g. LOAD DATA can affect performance 
! wsrep_load_data_splitting = ON | OFF # 10K inserts/transaction 
! wsrep_max_ws_rows (128K), wsrep_max_ws_size (1GB) 
30
Copyright Severalnines AB 
Migration to Galera Cluster (cont.) 
!Auto Increments 
!Managed automatically 
! Node-1: 1, 4, 7 
! Node-2: 2, 5, 8 
! Node-3: 3, 6, 9 
!Auto increment sequence gaps if inserts hit different nodes randomly 
!Triggers fire only in the Galera node which executes the 
transaction 
!Events fire on all nodes 
31
Copyright Severalnines AB 
Schema Changes 
!DDLs replicated in statement format 
!Two main methods 
!TOI - Total Order Isolation 
!RSU - Rolling Schema Upgrade 
!wsrep_osu_method = TOI | RSU 
!wsrep_desync=ON + wsrep_on=OFF 
!Disconnect from cluster and stop writeset replication (standalone MySQL server) 
!Dropping Node 
!Set global wsrep_cluster_address=gcomm:// 
!Joining must be through IST 
!Percona Toolkit 
!pt-online-schema-change 
32
Copyright Severalnines AB 
Schema Changes (cont.) 
!TOI - Total Order Isolation 
!Default DDL replication method 
!Strict consistency, all nodes get the same change 
!No schema backwards compatibility 
!Strict commit order force every transactions to wait until DDL is completed 
!Cluster performance degradation 
33
Copyright Severalnines AB 
Schema Changes (cont.) 
!RSU - Rolling Schema Upgrade 
!Desynchronize node from replication until DDL completes 
!Incoming replication is buffered, nothing is replicated out of the node 
!After the DDL completes the node will automatically join the cluster and catch up missed transactions from 
the writeset cache (gcache.size) 
!Potential no cluster performance degradation 
!Schema changes need to be backwards compatible 
! Applications should be able to use old and new schemas 
!Only one RSU operation at a time 
!Rolling operation of the cluster is manual 
34
Copyright Severalnines AB 
Deployment Scenarios 
35 
Users Users Users 
HAProxy Load Balancer 
hthtpttp http http 
HAProxy Load Balancer 
R/W R/W R/W 
MySQL 
[WSREP] 
MySQL 
[WSREP] 
MySQL 
[WSREP] 
Galera Replication (Synchronous) 
ClusterControl 
hthtpttp 
Admin 
VIP 
http://support.severalnines.com/entries/23612682-Install-HAProxy-and-Keepalived-Virtual-IP- subnet
Copyright Severalnines AB 
Deployment Scenarios (cont.) 
36 
Galera as MySQL Slave 
MySQL 
[WSREP] 
MySQL 
[WSREP] 
MySQL 
[WSREP] 
Slave 
MySQL 
[Master] 
MySQL Replication 
wsrep_mysql_replication_bundle=N 
• Replication events can be bundled to commit as a single group 
• Less waits for replication synchronization 
• wsrep_mysql_replication_bundle=n 
• Groups n mysql replication transactions in one large transaction
Copyright Severalnines AB 
Deployment Scenarios (cont.) 
37 
Galera as MySQL replication Master 
MySQL 
[WSREP] 
Master 
MySQL 
[WSREP] 
MySQL 
[WSREP] 
Master 
MySQL 
[Slave] 
MySQL Replication 
MySQL 
[Slave] 
DC1 
DC2 
• Backups & Reports 
• Disaster Recovery
Copyright Severalnines AB 
Deployment Scenarios (cont.) 
38 
MySQL 
[WSREP] 
Disaster Recovery 
Master Standby 
MySQL Replication 
MySQL 
[WSREP] 
MySQL 
[WSREP] 
Master 
MySQL 
[WSREP] 
MySQL 
[WSREP] 
MySQL 
[WSREP] 
Master 
DC1 DC2 
• “Manual” replication failover 
• Slave lag
Copyright Severalnines AB 
Deployment Scenarios (cont.) 
39 
MySQL 
[WSREP] 
Master 
MySQL 
[WSREP] 
Slave 
MySQL 
[WSREP] 
Slave 
MySQL 
[Master] 
MySQL Replication 
Multi-Source Sink 
MySQL 
[Master] 
MySQL 
[Slave] 
http://www.severalnines.com/blog/multi-source-replication-galera-cluster-mysql
Copyright Severalnines AB 
Severalnines - ClusterControl 
!Monitor and Manage Heterogeneous Database Cluster 
!MySQL Cluster, Galera Cluster for MySQL, MongoDB 
!Automatic 
!Node and Cluster Recovery 
!Scheduled Backups 
!Add/Remove Nodes 
!Create single DB Node and Cluster 
!Alerts/Email 
!Host and DB Metrics 
40
Copyright Severalnines AB 
41
Copyright Severalnines AB 
42
Copyright Severalnines AB 
43
Copyright Severalnines AB 
Thank You! 
!Severalnines recorded webinars 
!http://www.severalnines.com/resources/webinars 
!Severalnines Blog 
!www.severalnines.com/blog 
!Galera Cluster for MySQL Intro 
!http://www.severalnines.com/clustercontrol-mysql-galera-tutorial 
!MySQL Cluster Training 
!http://www.severalnines.com/mysql-cluster-training 
!More Questions? Contact us at: 
!info@severalnines.com 
44

Más contenido relacionado

La actualidad más candente

MySQL NDB Cluster 101
MySQL NDB Cluster 101MySQL NDB Cluster 101
MySQL NDB Cluster 101Bernd Ocklin
 
MySQL GTID 시작하기
MySQL GTID 시작하기MySQL GTID 시작하기
MySQL GTID 시작하기I Goo Lee
 
M|18 Architectural Overview: MariaDB MaxScale
M|18 Architectural Overview: MariaDB MaxScaleM|18 Architectural Overview: MariaDB MaxScale
M|18 Architectural Overview: MariaDB MaxScaleMariaDB plc
 
MySQL Load Balancers - Maxscale, ProxySQL, HAProxy, MySQL Router & nginx - A ...
MySQL Load Balancers - Maxscale, ProxySQL, HAProxy, MySQL Router & nginx - A ...MySQL Load Balancers - Maxscale, ProxySQL, HAProxy, MySQL Router & nginx - A ...
MySQL Load Balancers - Maxscale, ProxySQL, HAProxy, MySQL Router & nginx - A ...Severalnines
 
MAA Best Practices for Oracle Database 19c
MAA Best Practices for Oracle Database 19cMAA Best Practices for Oracle Database 19c
MAA Best Practices for Oracle Database 19cMarkus Michalewicz
 
The Top 5 Reasons to Deploy Your Applications on Oracle RAC
The Top 5 Reasons to Deploy Your Applications on Oracle RACThe Top 5 Reasons to Deploy Your Applications on Oracle RAC
The Top 5 Reasons to Deploy Your Applications on Oracle RACMarkus Michalewicz
 
The Complete MariaDB Server tutorial
The Complete MariaDB Server tutorialThe Complete MariaDB Server tutorial
The Complete MariaDB Server tutorialColin Charles
 
MySQL Database Architectures - InnoDB ReplicaSet & Cluster
MySQL Database Architectures - InnoDB ReplicaSet & ClusterMySQL Database Architectures - InnoDB ReplicaSet & Cluster
MySQL Database Architectures - InnoDB ReplicaSet & ClusterKenny Gryp
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group ReplicationKenny Gryp
 
Understanding oracle rac internals part 2 - slides
Understanding oracle rac internals   part 2 - slidesUnderstanding oracle rac internals   part 2 - slides
Understanding oracle rac internals part 2 - slidesMohamed Farouk
 
Oracle GoldenGate Performance Tuning
Oracle GoldenGate Performance TuningOracle GoldenGate Performance Tuning
Oracle GoldenGate Performance TuningBobby Curtis
 
MariaDB MaxScale
MariaDB MaxScaleMariaDB MaxScale
MariaDB MaxScaleMariaDB plc
 
Parallel Replication in MySQL and MariaDB
Parallel Replication in MySQL and MariaDBParallel Replication in MySQL and MariaDB
Parallel Replication in MySQL and MariaDBMydbops
 
Your tuning arsenal: AWR, ADDM, ASH, Metrics and Advisors
Your tuning arsenal: AWR, ADDM, ASH, Metrics and AdvisorsYour tuning arsenal: AWR, ADDM, ASH, Metrics and Advisors
Your tuning arsenal: AWR, ADDM, ASH, Metrics and AdvisorsJohn Kanagaraj
 
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11Kenny Gryp
 
Evening out the uneven: dealing with skew in Flink
Evening out the uneven: dealing with skew in FlinkEvening out the uneven: dealing with skew in Flink
Evening out the uneven: dealing with skew in FlinkFlink Forward
 
Demystifying MySQL Replication Crash Safety
Demystifying MySQL Replication Crash SafetyDemystifying MySQL Replication Crash Safety
Demystifying MySQL Replication Crash SafetyJean-François Gagné
 
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScaleThe Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScaleColin Charles
 
MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)
MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)
MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)Jean-François Gagné
 

La actualidad más candente (20)

MySQL NDB Cluster 101
MySQL NDB Cluster 101MySQL NDB Cluster 101
MySQL NDB Cluster 101
 
MySQL GTID 시작하기
MySQL GTID 시작하기MySQL GTID 시작하기
MySQL GTID 시작하기
 
M|18 Architectural Overview: MariaDB MaxScale
M|18 Architectural Overview: MariaDB MaxScaleM|18 Architectural Overview: MariaDB MaxScale
M|18 Architectural Overview: MariaDB MaxScale
 
MySQL Load Balancers - Maxscale, ProxySQL, HAProxy, MySQL Router & nginx - A ...
MySQL Load Balancers - Maxscale, ProxySQL, HAProxy, MySQL Router & nginx - A ...MySQL Load Balancers - Maxscale, ProxySQL, HAProxy, MySQL Router & nginx - A ...
MySQL Load Balancers - Maxscale, ProxySQL, HAProxy, MySQL Router & nginx - A ...
 
MAA Best Practices for Oracle Database 19c
MAA Best Practices for Oracle Database 19cMAA Best Practices for Oracle Database 19c
MAA Best Practices for Oracle Database 19c
 
The Top 5 Reasons to Deploy Your Applications on Oracle RAC
The Top 5 Reasons to Deploy Your Applications on Oracle RACThe Top 5 Reasons to Deploy Your Applications on Oracle RAC
The Top 5 Reasons to Deploy Your Applications on Oracle RAC
 
The Complete MariaDB Server tutorial
The Complete MariaDB Server tutorialThe Complete MariaDB Server tutorial
The Complete MariaDB Server tutorial
 
MySQL Database Architectures - InnoDB ReplicaSet & Cluster
MySQL Database Architectures - InnoDB ReplicaSet & ClusterMySQL Database Architectures - InnoDB ReplicaSet & Cluster
MySQL Database Architectures - InnoDB ReplicaSet & Cluster
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group Replication
 
Understanding oracle rac internals part 2 - slides
Understanding oracle rac internals   part 2 - slidesUnderstanding oracle rac internals   part 2 - slides
Understanding oracle rac internals part 2 - slides
 
Oracle GoldenGate Performance Tuning
Oracle GoldenGate Performance TuningOracle GoldenGate Performance Tuning
Oracle GoldenGate Performance Tuning
 
MariaDB MaxScale
MariaDB MaxScaleMariaDB MaxScale
MariaDB MaxScale
 
Parallel Replication in MySQL and MariaDB
Parallel Replication in MySQL and MariaDBParallel Replication in MySQL and MariaDB
Parallel Replication in MySQL and MariaDB
 
Your tuning arsenal: AWR, ADDM, ASH, Metrics and Advisors
Your tuning arsenal: AWR, ADDM, ASH, Metrics and AdvisorsYour tuning arsenal: AWR, ADDM, ASH, Metrics and Advisors
Your tuning arsenal: AWR, ADDM, ASH, Metrics and Advisors
 
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11
 
Oracle Database 12c : Multitenant
Oracle Database 12c : MultitenantOracle Database 12c : Multitenant
Oracle Database 12c : Multitenant
 
Evening out the uneven: dealing with skew in Flink
Evening out the uneven: dealing with skew in FlinkEvening out the uneven: dealing with skew in Flink
Evening out the uneven: dealing with skew in Flink
 
Demystifying MySQL Replication Crash Safety
Demystifying MySQL Replication Crash SafetyDemystifying MySQL Replication Crash Safety
Demystifying MySQL Replication Crash Safety
 
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScaleThe Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
 
MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)
MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)
MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)
 

Similar a Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison

Scaling with sync_replication using Galera and EC2
Scaling with sync_replication using Galera and EC2Scaling with sync_replication using Galera and EC2
Scaling with sync_replication using Galera and EC2Marco Tusa
 
MySQL NDB Cluster 8.0
MySQL NDB Cluster 8.0MySQL NDB Cluster 8.0
MySQL NDB Cluster 8.0Ted Wennmark
 
MySQL NDB Cluster 8.0 SQL faster than NoSQL
MySQL NDB Cluster 8.0 SQL faster than NoSQL MySQL NDB Cluster 8.0 SQL faster than NoSQL
MySQL NDB Cluster 8.0 SQL faster than NoSQL Bernd Ocklin
 
MySQL Cluster Scaling to a Billion Queries
MySQL Cluster Scaling to a Billion QueriesMySQL Cluster Scaling to a Billion Queries
MySQL Cluster Scaling to a Billion QueriesBernd Ocklin
 
AWS re:Invent 2016: Streaming ETL for RDS and DynamoDB (DAT315)
AWS re:Invent 2016: Streaming ETL for RDS and DynamoDB (DAT315)AWS re:Invent 2016: Streaming ETL for RDS and DynamoDB (DAT315)
AWS re:Invent 2016: Streaming ETL for RDS and DynamoDB (DAT315)Amazon Web Services
 
Mysql high availability and scalability
Mysql high availability and scalabilityMysql high availability and scalability
Mysql high availability and scalabilityyin gong
 
Introduction to ClustrixDB
Introduction to ClustrixDBIntroduction to ClustrixDB
Introduction to ClustrixDBI Goo Lee
 
Repair & Recovery for your MySQL, MariaDB & MongoDB / TokuMX Clusters - Webin...
Repair & Recovery for your MySQL, MariaDB & MongoDB / TokuMX Clusters - Webin...Repair & Recovery for your MySQL, MariaDB & MongoDB / TokuMX Clusters - Webin...
Repair & Recovery for your MySQL, MariaDB & MongoDB / TokuMX Clusters - Webin...Severalnines
 
Severalnines Training: MySQL® Cluster - Part IX
Severalnines Training: MySQL® Cluster - Part IXSeveralnines Training: MySQL® Cluster - Part IX
Severalnines Training: MySQL® Cluster - Part IXSeveralnines
 
The OSSCube MySQL High Availability Tutorial
The OSSCube MySQL High Availability TutorialThe OSSCube MySQL High Availability Tutorial
The OSSCube MySQL High Availability TutorialOSSCube
 
Best practices for Data warehousing with Amazon Redshift - AWS PS Summit Canb...
Best practices for Data warehousing with Amazon Redshift - AWS PS Summit Canb...Best practices for Data warehousing with Amazon Redshift - AWS PS Summit Canb...
Best practices for Data warehousing with Amazon Redshift - AWS PS Summit Canb...Amazon Web Services
 
NewSQL Database Overview
NewSQL Database OverviewNewSQL Database Overview
NewSQL Database OverviewSteve Min
 
No sql solutions - 공개용
No sql solutions - 공개용No sql solutions - 공개용
No sql solutions - 공개용Byeongweon Moon
 
Hadoop 3.0 - Revolution or evolution?
Hadoop 3.0 - Revolution or evolution?Hadoop 3.0 - Revolution or evolution?
Hadoop 3.0 - Revolution or evolution?Uwe Printz
 

Similar a Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison (20)

MYSQL
MYSQLMYSQL
MYSQL
 
Scaling with sync_replication using Galera and EC2
Scaling with sync_replication using Galera and EC2Scaling with sync_replication using Galera and EC2
Scaling with sync_replication using Galera and EC2
 
MySQL NDB Cluster 8.0
MySQL NDB Cluster 8.0MySQL NDB Cluster 8.0
MySQL NDB Cluster 8.0
 
MySQL NDB Cluster 8.0 SQL faster than NoSQL
MySQL NDB Cluster 8.0 SQL faster than NoSQL MySQL NDB Cluster 8.0 SQL faster than NoSQL
MySQL NDB Cluster 8.0 SQL faster than NoSQL
 
MySQL Cluster Scaling to a Billion Queries
MySQL Cluster Scaling to a Billion QueriesMySQL Cluster Scaling to a Billion Queries
MySQL Cluster Scaling to a Billion Queries
 
AWS re:Invent 2016: Streaming ETL for RDS and DynamoDB (DAT315)
AWS re:Invent 2016: Streaming ETL for RDS and DynamoDB (DAT315)AWS re:Invent 2016: Streaming ETL for RDS and DynamoDB (DAT315)
AWS re:Invent 2016: Streaming ETL for RDS and DynamoDB (DAT315)
 
Mysql high availability and scalability
Mysql high availability and scalabilityMysql high availability and scalability
Mysql high availability and scalability
 
Oss4b - pxc introduction
Oss4b   - pxc introductionOss4b   - pxc introduction
Oss4b - pxc introduction
 
Cassandra training
Cassandra trainingCassandra training
Cassandra training
 
Introduction to ClustrixDB
Introduction to ClustrixDBIntroduction to ClustrixDB
Introduction to ClustrixDB
 
Repair & Recovery for your MySQL, MariaDB & MongoDB / TokuMX Clusters - Webin...
Repair & Recovery for your MySQL, MariaDB & MongoDB / TokuMX Clusters - Webin...Repair & Recovery for your MySQL, MariaDB & MongoDB / TokuMX Clusters - Webin...
Repair & Recovery for your MySQL, MariaDB & MongoDB / TokuMX Clusters - Webin...
 
Severalnines Training: MySQL® Cluster - Part IX
Severalnines Training: MySQL® Cluster - Part IXSeveralnines Training: MySQL® Cluster - Part IX
Severalnines Training: MySQL® Cluster - Part IX
 
The OSSCube MySQL High Availability Tutorial
The OSSCube MySQL High Availability TutorialThe OSSCube MySQL High Availability Tutorial
The OSSCube MySQL High Availability Tutorial
 
Best practices for Data warehousing with Amazon Redshift - AWS PS Summit Canb...
Best practices for Data warehousing with Amazon Redshift - AWS PS Summit Canb...Best practices for Data warehousing with Amazon Redshift - AWS PS Summit Canb...
Best practices for Data warehousing with Amazon Redshift - AWS PS Summit Canb...
 
Clustering van IT-componenten
Clustering van IT-componentenClustering van IT-componenten
Clustering van IT-componenten
 
NewSQL Database Overview
NewSQL Database OverviewNewSQL Database Overview
NewSQL Database Overview
 
MySQL HA
MySQL HAMySQL HA
MySQL HA
 
No sql solutions - 공개용
No sql solutions - 공개용No sql solutions - 공개용
No sql solutions - 공개용
 
How and when to use NoSQL
How and when to use NoSQLHow and when to use NoSQL
How and when to use NoSQL
 
Hadoop 3.0 - Revolution or evolution?
Hadoop 3.0 - Revolution or evolution?Hadoop 3.0 - Revolution or evolution?
Hadoop 3.0 - Revolution or evolution?
 

Más de Severalnines

Cloud's future runs through Sovereign DBaaS
Cloud's future runs through Sovereign DBaaSCloud's future runs through Sovereign DBaaS
Cloud's future runs through Sovereign DBaaSSeveralnines
 
Tips to drive maria db cluster performance for nextcloud
Tips to drive maria db cluster performance for nextcloudTips to drive maria db cluster performance for nextcloud
Tips to drive maria db cluster performance for nextcloudSeveralnines
 
Working with the Moodle Database: The Basics
Working with the Moodle Database: The BasicsWorking with the Moodle Database: The Basics
Working with the Moodle Database: The BasicsSeveralnines
 
SysAdmin Working from Home? Tips to Automate MySQL, MariaDB, Postgres & MongoDB
SysAdmin Working from Home? Tips to Automate MySQL, MariaDB, Postgres & MongoDBSysAdmin Working from Home? Tips to Automate MySQL, MariaDB, Postgres & MongoDB
SysAdmin Working from Home? Tips to Automate MySQL, MariaDB, Postgres & MongoDBSeveralnines
 
(slides) Polyglot persistence: utilizing open source databases as a Swiss poc...
(slides) Polyglot persistence: utilizing open source databases as a Swiss poc...(slides) Polyglot persistence: utilizing open source databases as a Swiss poc...
(slides) Polyglot persistence: utilizing open source databases as a Swiss poc...Severalnines
 
Webinar slides: How to Migrate from Oracle DB to MariaDB
Webinar slides: How to Migrate from Oracle DB to MariaDBWebinar slides: How to Migrate from Oracle DB to MariaDB
Webinar slides: How to Migrate from Oracle DB to MariaDBSeveralnines
 
Webinar slides: How to Automate & Manage PostgreSQL with ClusterControl
Webinar slides: How to Automate & Manage PostgreSQL with ClusterControlWebinar slides: How to Automate & Manage PostgreSQL with ClusterControl
Webinar slides: How to Automate & Manage PostgreSQL with ClusterControlSeveralnines
 
Webinar slides: How to Manage Replication Failover Processes for MySQL, Maria...
Webinar slides: How to Manage Replication Failover Processes for MySQL, Maria...Webinar slides: How to Manage Replication Failover Processes for MySQL, Maria...
Webinar slides: How to Manage Replication Failover Processes for MySQL, Maria...Severalnines
 
Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...
Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...
Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...Severalnines
 
Disaster Recovery Planning for MySQL & MariaDB
Disaster Recovery Planning for MySQL & MariaDBDisaster Recovery Planning for MySQL & MariaDB
Disaster Recovery Planning for MySQL & MariaDBSeveralnines
 
MariaDB Performance Tuning Crash Course
MariaDB Performance Tuning Crash CourseMariaDB Performance Tuning Crash Course
MariaDB Performance Tuning Crash CourseSeveralnines
 
Performance Tuning Cheat Sheet for MongoDB
Performance Tuning Cheat Sheet for MongoDBPerformance Tuning Cheat Sheet for MongoDB
Performance Tuning Cheat Sheet for MongoDBSeveralnines
 
Advanced MySql Data-at-Rest Encryption in Percona Server
Advanced MySql Data-at-Rest Encryption in Percona ServerAdvanced MySql Data-at-Rest Encryption in Percona Server
Advanced MySql Data-at-Rest Encryption in Percona ServerSeveralnines
 
Polyglot Persistence Utilizing Open Source Databases as a Swiss Pocket Knife
Polyglot Persistence Utilizing Open Source Databases as a Swiss Pocket KnifePolyglot Persistence Utilizing Open Source Databases as a Swiss Pocket Knife
Polyglot Persistence Utilizing Open Source Databases as a Swiss Pocket KnifeSeveralnines
 
Webinar slides: Free Monitoring (on Steroids) for MySQL, MariaDB, PostgreSQL ...
Webinar slides: Free Monitoring (on Steroids) for MySQL, MariaDB, PostgreSQL ...Webinar slides: Free Monitoring (on Steroids) for MySQL, MariaDB, PostgreSQL ...
Webinar slides: Free Monitoring (on Steroids) for MySQL, MariaDB, PostgreSQL ...Severalnines
 
Webinar slides: An Introduction to Performance Monitoring for PostgreSQL
Webinar slides: An Introduction to Performance Monitoring for PostgreSQLWebinar slides: An Introduction to Performance Monitoring for PostgreSQL
Webinar slides: An Introduction to Performance Monitoring for PostgreSQLSeveralnines
 
Webinar slides: Our Guide to MySQL & MariaDB Performance Tuning
Webinar slides: Our Guide to MySQL & MariaDB Performance TuningWebinar slides: Our Guide to MySQL & MariaDB Performance Tuning
Webinar slides: Our Guide to MySQL & MariaDB Performance TuningSeveralnines
 
Webinar slides: Migrating to Galera Cluster for MySQL and MariaDB
Webinar slides: Migrating to Galera Cluster for MySQL and MariaDBWebinar slides: Migrating to Galera Cluster for MySQL and MariaDB
Webinar slides: Migrating to Galera Cluster for MySQL and MariaDBSeveralnines
 
Webinar slides: How to Measure Database Availability?
Webinar slides: How to Measure Database Availability?Webinar slides: How to Measure Database Availability?
Webinar slides: How to Measure Database Availability?Severalnines
 
Webinar slides: Designing Open Source Databases for High Availability
Webinar slides: Designing Open Source Databases for High AvailabilityWebinar slides: Designing Open Source Databases for High Availability
Webinar slides: Designing Open Source Databases for High AvailabilitySeveralnines
 

Más de Severalnines (20)

Cloud's future runs through Sovereign DBaaS
Cloud's future runs through Sovereign DBaaSCloud's future runs through Sovereign DBaaS
Cloud's future runs through Sovereign DBaaS
 
Tips to drive maria db cluster performance for nextcloud
Tips to drive maria db cluster performance for nextcloudTips to drive maria db cluster performance for nextcloud
Tips to drive maria db cluster performance for nextcloud
 
Working with the Moodle Database: The Basics
Working with the Moodle Database: The BasicsWorking with the Moodle Database: The Basics
Working with the Moodle Database: The Basics
 
SysAdmin Working from Home? Tips to Automate MySQL, MariaDB, Postgres & MongoDB
SysAdmin Working from Home? Tips to Automate MySQL, MariaDB, Postgres & MongoDBSysAdmin Working from Home? Tips to Automate MySQL, MariaDB, Postgres & MongoDB
SysAdmin Working from Home? Tips to Automate MySQL, MariaDB, Postgres & MongoDB
 
(slides) Polyglot persistence: utilizing open source databases as a Swiss poc...
(slides) Polyglot persistence: utilizing open source databases as a Swiss poc...(slides) Polyglot persistence: utilizing open source databases as a Swiss poc...
(slides) Polyglot persistence: utilizing open source databases as a Swiss poc...
 
Webinar slides: How to Migrate from Oracle DB to MariaDB
Webinar slides: How to Migrate from Oracle DB to MariaDBWebinar slides: How to Migrate from Oracle DB to MariaDB
Webinar slides: How to Migrate from Oracle DB to MariaDB
 
Webinar slides: How to Automate & Manage PostgreSQL with ClusterControl
Webinar slides: How to Automate & Manage PostgreSQL with ClusterControlWebinar slides: How to Automate & Manage PostgreSQL with ClusterControl
Webinar slides: How to Automate & Manage PostgreSQL with ClusterControl
 
Webinar slides: How to Manage Replication Failover Processes for MySQL, Maria...
Webinar slides: How to Manage Replication Failover Processes for MySQL, Maria...Webinar slides: How to Manage Replication Failover Processes for MySQL, Maria...
Webinar slides: How to Manage Replication Failover Processes for MySQL, Maria...
 
Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...
Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...
Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...
 
Disaster Recovery Planning for MySQL & MariaDB
Disaster Recovery Planning for MySQL & MariaDBDisaster Recovery Planning for MySQL & MariaDB
Disaster Recovery Planning for MySQL & MariaDB
 
MariaDB Performance Tuning Crash Course
MariaDB Performance Tuning Crash CourseMariaDB Performance Tuning Crash Course
MariaDB Performance Tuning Crash Course
 
Performance Tuning Cheat Sheet for MongoDB
Performance Tuning Cheat Sheet for MongoDBPerformance Tuning Cheat Sheet for MongoDB
Performance Tuning Cheat Sheet for MongoDB
 
Advanced MySql Data-at-Rest Encryption in Percona Server
Advanced MySql Data-at-Rest Encryption in Percona ServerAdvanced MySql Data-at-Rest Encryption in Percona Server
Advanced MySql Data-at-Rest Encryption in Percona Server
 
Polyglot Persistence Utilizing Open Source Databases as a Swiss Pocket Knife
Polyglot Persistence Utilizing Open Source Databases as a Swiss Pocket KnifePolyglot Persistence Utilizing Open Source Databases as a Swiss Pocket Knife
Polyglot Persistence Utilizing Open Source Databases as a Swiss Pocket Knife
 
Webinar slides: Free Monitoring (on Steroids) for MySQL, MariaDB, PostgreSQL ...
Webinar slides: Free Monitoring (on Steroids) for MySQL, MariaDB, PostgreSQL ...Webinar slides: Free Monitoring (on Steroids) for MySQL, MariaDB, PostgreSQL ...
Webinar slides: Free Monitoring (on Steroids) for MySQL, MariaDB, PostgreSQL ...
 
Webinar slides: An Introduction to Performance Monitoring for PostgreSQL
Webinar slides: An Introduction to Performance Monitoring for PostgreSQLWebinar slides: An Introduction to Performance Monitoring for PostgreSQL
Webinar slides: An Introduction to Performance Monitoring for PostgreSQL
 
Webinar slides: Our Guide to MySQL & MariaDB Performance Tuning
Webinar slides: Our Guide to MySQL & MariaDB Performance TuningWebinar slides: Our Guide to MySQL & MariaDB Performance Tuning
Webinar slides: Our Guide to MySQL & MariaDB Performance Tuning
 
Webinar slides: Migrating to Galera Cluster for MySQL and MariaDB
Webinar slides: Migrating to Galera Cluster for MySQL and MariaDBWebinar slides: Migrating to Galera Cluster for MySQL and MariaDB
Webinar slides: Migrating to Galera Cluster for MySQL and MariaDB
 
Webinar slides: How to Measure Database Availability?
Webinar slides: How to Measure Database Availability?Webinar slides: How to Measure Database Availability?
Webinar slides: How to Measure Database Availability?
 
Webinar slides: Designing Open Source Databases for High Availability
Webinar slides: Designing Open Source Databases for High AvailabilityWebinar slides: Designing Open Source Databases for High Availability
Webinar slides: Designing Open Source Databases for High Availability
 

Último

Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 

Último (20)

Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 

Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison

  • 1. MySQL Cluster (NDB) vs Galera for MySQL Confidential December 11, 2014 Alex Yu alex@severalnines.com
  • 2. Copyright Severalnines AB Webinar Housekeeping !This webinar is being recorded !A link to the recording & slides will be posted on severalnines.com !We welcome questions: enter questions into the chat box and we will respond at the end of the presentation !Think of something later? !Email Severalnines at info@severalnines.com 2
  • 3. Copyright Severalnines AB Agenda !MySQL Cluster (NDB) and Galera Architecture Overview !Read and write workloads !Deployment scenarios !WAN/Geographical replication !Data migration & Schema changes !Management and performance monitoring 3
  • 4. Copyright Severalnines AB MySQL Cluster (NDB Storage Engine) !Distributed shared nothing realtime database cluster !Multi-master, auto sharding, in-memory & disk-data storage !Near linear scalability with transparent load balancing !SQL and NoSQL interfaces !Local and Geographical Replication !Synchronous and Asynchronous replication !99.999% availability, no single point of failure !Telecom “Carrier Grade” legacy 4
  • 5. Copyright Severalnines AB MySQL Cluster Applications Example !Subscriber Databases (Telecom HLR/HSS systems) !Massive volume of write traffic (location and updates) !Response time < 3ms !eCommerce !Payment processing and fulfilment !High batch and realtime loads !Service Delivery Platforms !High volume of traffic !Mixed read/write loads 5
  • 6. Copyright Severalnines AB MySQL Cluster Architecture 6 MySQL [SQL Node] MySQL [SQL Node] Data Node Data Node Data Node Data Node Mgmt MgmNt ode Node Web App Clients NDB API (C++) SQL based clients MySQL Client/Server protocol MGM C API Management Client SQL Nodes Data Nodes Management Nodes (default arbitrator) Synchronous replication within a Node group
  • 7. Copyright Severalnines AB Automatic Sharding 7 Table T with 8 rows 4 Data Nodes - 2 Node Groups Data Node Data Node Data Node Data Node
  • 8. Copyright Severalnines AB Automatic Sharding (cont.) 8 Table T with 8 rows 4 Data Nodes - 2 Node Groups Data Node 1 Data Node 2 Data Node 3 Data Node 4 • Sharding based on hashing the primary key or a user defined key • Each node stores primary fragment for 1 partition and back-up fragment for another • # of node groups == # of data nodes / # of replicas
  • 9. Copyright Severalnines AB Automatic Sharding (cont.) 9 Table T with 8 rows 4 Data Nodes - 2 Node Groups Data Node 1 Data Node 2 Data Node 3 Data Node 4 • Sharding based on hashing the primary key or a user defined key • Each node stores primary fragment for 1 partition and back-up fragment for another • # of node groups == # of data nodes / # of replicas
  • 10. Copyright Severalnines AB Automatic Sharding (cont.) 10 Table T with 8 rows 4 Data Nodes - 2 Node Groups Data Node 1 Data Node 2 Data Node 3 Data Node 4 • Sharding based on hashing the primary key or a user defined key • Each node stores primary fragment for 1 partition and back-up fragment for another • # of node groups == # of data nodes / # of replicas
  • 11. Copyright Severalnines AB Automatic Sharding (cont.) 11 Table T with 8 rows 4 Data Nodes - 2 Node Groups Data Node 1 Data Node 2 Data Node 3 Data Node 4 • Sharding based on hashing the primary key or a user defined key • Each node stores primary fragment for 1 partition and back-up fragment for another • # of node groups == # of data nodes / # of replicas
  • 12. Copyright Severalnines AB Automatic Sharding (cont.) 12 Table T with 8 rows 4 Data Nodes - 2 Node Groups Data Node Data Node Data Node Data Node • Sharding based on hashing the primary key or a user defined key • Each node stores primary fragment for 1 partition and back-up fragment for another • # of node groups == # of data nodes / # of replicas
  • 13. Copyright Severalnines AB Automatic Sharding (cont.) 13 Data Node Data Node Data Node Data Node 4 partitions Secondary Fragments 4 Data Nodes - 2 Node Groups Primary Fragments 1 2 3 4 • The cluster is fully operational as long as we have 1 node up in each node group! • If all nodes in a single node group is gone then the cluster will gracefully shutdown
  • 14. Copyright Severalnines AB Automatic Sharding (cont.) 14 Data Node Data Node Data Node Data Node 4 partitions Secondary Fragments 4 Data Nodes - 2 Node Groups Primary Fragments 1 2 3 4 • The cluster is fully operational as long as we have 1 node up in each node group! • If all nodes in a single node group is gone then the cluster will gracefully shutdown
  • 15. Copyright Severalnines AB Primary Key Requests 15 MySQL [SQL Node] MySQL [SQL Node] Data Node Data Node Data Node Data Node Mgmt MgmNt ode Node Web Web Web • PK lookup goes directly to the node with the primary fragment • Parallel operations, Transparent load balancing
  • 16. Copyright Severalnines AB Joins, index and table scans 16 MySQL [SQL Node] MySQL [SQL Node] Data Node Data Node Data Node Data Node Mgmt MgmNt ode Node Web Web Web • Table and Index Scans parallel on all nodes • Joins executes on data nodes, merged results sent back to SQL node
  • 17. Copyright Severalnines AB Migration to MySQL Cluster !Limitations !14K row size, 512 attributes (columns + indexes) / table !32 attributes / key, only first 3072 bytes of column can be used for index !No fulltext or spatial indexes, temporary tables cannot be created using the NDB storage engine !Every table must have a Primary Key !Hidden PK is automatically created if not defined !In-Memory or disk-based tables !Dataset exceeds available system memory for the cluster? !Network, Local and Global Checkpoint !Write intensive, dimension disk subsystem !Dedicated >= 1Gb/s networking !ALTER TABLE … ENGINE NDB !Alt. MySQL Replication, Backup & Restore 17
  • 18. Copyright Severalnines AB Deployment Scenarios 18 MySQL [SQL Node] MySQL [SQL Node] … Data Node Data Node Data Node Data Node … • Scale up to 48 Data Nodes • Limit of 255 number of nodes (regardless of type)
  • 19. Copyright Severalnines AB Deployment Scenarios (cont.) 19 Master Slave/Standby MySQL [SQL Node] MySQL [SQL Node] Data Node Data Node Data Node Data Node MySQL [SQL Node] MySQL [SQL Node] Data Node Data Node Data Node Data Node MySQL Asynchronous Replication Single Point of Failure • Multiple replication topologies available • Master - Master (Bi-directional) West East • Conflict detection and resolution • Master - Slave(s) • Circular • etc Synchronous replication within a Node group
  • 20. Copyright Severalnines AB Deployment Scenarios (cont.) 20 Master Slave/Standby MySQL [SQL Node] MySQL [SQL Node] Data Node Data Node Data Node Data Node MySQL [SQL Node] MySQL [SQL Node] Data Node Data Node Data Node Data Node Primary START SLAVE only on Primary! Secondary/Standby West East • Master - Slave(s) • Standby replication channel • Manual failover
  • 21. Copyright Severalnines AB Deployment Scenarios (cont.) 21 Master Master MySQL [SQL Node] MySQL [SQL Node] Data Node Data Node Data Node Data Node MySQL [SQL Node] MySQL [SQL Node] Data Node Data Node Data Node Data Node Primary Secondary/Standby • Master - Master (Bi-directional) • Conflict detection and resolution West East • “timestamp based” • row by row not transaction based
  • 22. Copyright Severalnines AB Galera Cluster for MySQL 22 !Synchronous (Virtually) Multi-Master Replication !Read and Write on any Node !No Master Failover! No Slave Lag! !Guaranteed write consistency !Cluster wide conflicts resolution (certification) !Automatic Node Provisioning !Highly Available and Scalable Client Client Client R/W R/W R/W MySQL [WSREP] !No SPOF !Read and Write (Parallel Applier threads) scalability !Geographical Replication (Mix MySQL Async & Galera Sync) Galera Replication (Synchronous) !Codership, Percona XtraDB Cluster, MariaDB Galera Cluster LB MySQL [WSREP] MySQL [WSREP]
  • 23. Copyright Severalnines AB Galera Cluster for MySQL (cont.) !Recommended minimum 3 nodes !Network partition/split-brain !Blocking SST (rsync, mysqldump) !Higher probability for “deadlocks” !Cluster wide optimistic locking !Locking conflicts detected at commit !First to commit succeeds !Replication performance dependent on !Network latency !Performance of the “slowest” or the farthest Node (RTT) !Number of deployed nodes 23 Client Client Client R/W R/W R/W MySQL [WSREP] LB MySQL [WSREP] MySQL [WSREP] Galera Replication (Synchronous)
  • 24. Copyright Severalnines AB Galera Concepts !Primary Component - PC !The whole cluster is a PC during normal operation !Node and network failures ! Splits clusters into several components !Only PC can continue to modify state !Quorum algorithm invoked to select a PC during cluster partitioning !Majority rules !Minority tries to reconnect with PC 24 MySQL [WSREP] MySQL [WSREP] MySQL [WSREP] Primary Component
  • 25. Copyright Severalnines AB Galera Concepts (cont.) !State Snapshot Transfer - SST !A transfer of a consistent snapshot of a node state corresponding to a certain GTID !Initialize the state of a newly joining cluster node from an already initialized node (donor) !Incremental State Transfer - IST !Catch up with the cluster by replaying missing transactions ! Known initial node state ! Enough transactions cached at the donor ! gcache.size < database size 25
  • 26. Copyright Severalnines AB High Latency Network !Galera 2.x WAN replication (MySQL 5.5) !Point to point connection for all nodes! !Transaction latency dependent on the slowest link 26 MySQL [WSREP] MySQL [WSREP] MySQL [WSREP] DC1 MySQL [WSREP] MySQL [WSREP] MySQL [WSREP] DC2
  • 27. Copyright Severalnines AB High Latency Network (cont.) !Galera 3.x WAN optimization (MySQL 5.6) !“Cluster” Segment ID to group nodes by location !Replication between segments go over a single connection !Replication writesets distributed within each segment peer to peer !Segment connection/gateway can change per transaction 27 gmcast.segment = 1 gmcast.segment = 2 MySQL [WSREP] MySQL [WSREP] MySQL [WSREP] MySQL [WSREP] MySQL [WSREP] MySQL [WSREP] segment gateway DC1 DC2
  • 28. Copyright Severalnines AB High Latency Network (cont.) !Galera 3.x WAN optimization (MySQL 5.6) !“Cluster” Segment ID to group nodes by location !Replication between segments go over a single connection !Replication writesets distributed within each segment peer to peer !Segment connection/gateway can change per transaction 28 gmcast.segment = 1 segment gateway gmcast.segment = 2 MySQL [WSREP] MySQL [WSREP] MySQL [WSREP] MySQL [WSREP] MySQL [WSREP] MySQL [WSREP] DC1 DC2
  • 29. Copyright Severalnines AB Network Partition/Split Brain !Quorum based system !“Majority >50%” partition continues operation !“Minority” partition blocks operations ! Until reconnected with Primary Component !Use odd number of nodes !Minimum 3 (5, 7, 9 etc) !Galera Arbitrator (garbd) !Useful if you have even number of nodes !Nodes across DCs !Replication relay 29 Galera Arbitrator DC3 MySQL [WSREP] MySQL [WSREP] DC1 MySQL [WSREP] DC2 Client Client Client Load balancer Replication Relay
  • 30. Copyright Severalnines AB Migration to Galera Cluster !Only InnoDB storage engine !Limited MyISAM support - not recommended !Every Table should have a Primary Key !DELETE operations are unsupported on tables without a primary key !Rows in tables without a primary key may appear in a different order on different nodes. (for cert. md5sum pseudo key from full row) !Transaction size ! A writeset is processed as a single memory-resident buffer ! Extremely large transactions e.g. LOAD DATA can affect performance ! wsrep_load_data_splitting = ON | OFF # 10K inserts/transaction ! wsrep_max_ws_rows (128K), wsrep_max_ws_size (1GB) 30
  • 31. Copyright Severalnines AB Migration to Galera Cluster (cont.) !Auto Increments !Managed automatically ! Node-1: 1, 4, 7 ! Node-2: 2, 5, 8 ! Node-3: 3, 6, 9 !Auto increment sequence gaps if inserts hit different nodes randomly !Triggers fire only in the Galera node which executes the transaction !Events fire on all nodes 31
  • 32. Copyright Severalnines AB Schema Changes !DDLs replicated in statement format !Two main methods !TOI - Total Order Isolation !RSU - Rolling Schema Upgrade !wsrep_osu_method = TOI | RSU !wsrep_desync=ON + wsrep_on=OFF !Disconnect from cluster and stop writeset replication (standalone MySQL server) !Dropping Node !Set global wsrep_cluster_address=gcomm:// !Joining must be through IST !Percona Toolkit !pt-online-schema-change 32
  • 33. Copyright Severalnines AB Schema Changes (cont.) !TOI - Total Order Isolation !Default DDL replication method !Strict consistency, all nodes get the same change !No schema backwards compatibility !Strict commit order force every transactions to wait until DDL is completed !Cluster performance degradation 33
  • 34. Copyright Severalnines AB Schema Changes (cont.) !RSU - Rolling Schema Upgrade !Desynchronize node from replication until DDL completes !Incoming replication is buffered, nothing is replicated out of the node !After the DDL completes the node will automatically join the cluster and catch up missed transactions from the writeset cache (gcache.size) !Potential no cluster performance degradation !Schema changes need to be backwards compatible ! Applications should be able to use old and new schemas !Only one RSU operation at a time !Rolling operation of the cluster is manual 34
  • 35. Copyright Severalnines AB Deployment Scenarios 35 Users Users Users HAProxy Load Balancer hthtpttp http http HAProxy Load Balancer R/W R/W R/W MySQL [WSREP] MySQL [WSREP] MySQL [WSREP] Galera Replication (Synchronous) ClusterControl hthtpttp Admin VIP http://support.severalnines.com/entries/23612682-Install-HAProxy-and-Keepalived-Virtual-IP- subnet
  • 36. Copyright Severalnines AB Deployment Scenarios (cont.) 36 Galera as MySQL Slave MySQL [WSREP] MySQL [WSREP] MySQL [WSREP] Slave MySQL [Master] MySQL Replication wsrep_mysql_replication_bundle=N • Replication events can be bundled to commit as a single group • Less waits for replication synchronization • wsrep_mysql_replication_bundle=n • Groups n mysql replication transactions in one large transaction
  • 37. Copyright Severalnines AB Deployment Scenarios (cont.) 37 Galera as MySQL replication Master MySQL [WSREP] Master MySQL [WSREP] MySQL [WSREP] Master MySQL [Slave] MySQL Replication MySQL [Slave] DC1 DC2 • Backups & Reports • Disaster Recovery
  • 38. Copyright Severalnines AB Deployment Scenarios (cont.) 38 MySQL [WSREP] Disaster Recovery Master Standby MySQL Replication MySQL [WSREP] MySQL [WSREP] Master MySQL [WSREP] MySQL [WSREP] MySQL [WSREP] Master DC1 DC2 • “Manual” replication failover • Slave lag
  • 39. Copyright Severalnines AB Deployment Scenarios (cont.) 39 MySQL [WSREP] Master MySQL [WSREP] Slave MySQL [WSREP] Slave MySQL [Master] MySQL Replication Multi-Source Sink MySQL [Master] MySQL [Slave] http://www.severalnines.com/blog/multi-source-replication-galera-cluster-mysql
  • 40. Copyright Severalnines AB Severalnines - ClusterControl !Monitor and Manage Heterogeneous Database Cluster !MySQL Cluster, Galera Cluster for MySQL, MongoDB !Automatic !Node and Cluster Recovery !Scheduled Backups !Add/Remove Nodes !Create single DB Node and Cluster !Alerts/Email !Host and DB Metrics 40
  • 44. Copyright Severalnines AB Thank You! !Severalnines recorded webinars !http://www.severalnines.com/resources/webinars !Severalnines Blog !www.severalnines.com/blog !Galera Cluster for MySQL Intro !http://www.severalnines.com/clustercontrol-mysql-galera-tutorial !MySQL Cluster Training !http://www.severalnines.com/mysql-cluster-training !More Questions? Contact us at: !info@severalnines.com 44