SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

Maria db 이중화구성_고민하기
Maria db 이중화구성_고민하기Maria db 이중화구성_고민하기
Maria db 이중화구성_고민하기NeoClova
 
Maxscale_메뉴얼
Maxscale_메뉴얼Maxscale_메뉴얼
Maxscale_메뉴얼NeoClova
 
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQLMySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQLOlivier DASINI
 
Redo log improvements MYSQL 8.0
Redo log improvements MYSQL 8.0Redo log improvements MYSQL 8.0
Redo log improvements MYSQL 8.0Mydbops
 
Almost Perfect Service Discovery and Failover with ProxySQL and Orchestrator
Almost Perfect Service Discovery and Failover with ProxySQL and OrchestratorAlmost Perfect Service Discovery and Failover with ProxySQL and Orchestrator
Almost Perfect Service Discovery and Failover with ProxySQL and OrchestratorJean-François Gagné
 
Load Balancing MySQL with HAProxy - Slides
Load Balancing MySQL with HAProxy - SlidesLoad Balancing MySQL with HAProxy - Slides
Load Balancing MySQL with HAProxy - SlidesSeveralnines
 
Keepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docx
Keepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docxKeepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docx
Keepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docxNeoClova
 
MariaDB Server Performance Tuning & Optimization
MariaDB Server Performance Tuning & OptimizationMariaDB Server Performance Tuning & Optimization
MariaDB Server Performance Tuning & OptimizationMariaDB plc
 
MySQL Administrator 2021 - 네오클로바
MySQL Administrator 2021 - 네오클로바MySQL Administrator 2021 - 네오클로바
MySQL Administrator 2021 - 네오클로바NeoClova
 
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
 
MySQL Performance Schema in Action
MySQL Performance Schema in ActionMySQL Performance Schema in Action
MySQL Performance Schema in ActionSveta Smirnova
 
Best practices for MySQL/MariaDB Server/Percona Server High Availability
Best practices for MySQL/MariaDB Server/Percona Server High AvailabilityBest practices for MySQL/MariaDB Server/Percona Server High Availability
Best practices for MySQL/MariaDB Server/Percona Server High AvailabilityColin Charles
 
InnoDB Performance Optimisation
InnoDB Performance OptimisationInnoDB Performance Optimisation
InnoDB Performance OptimisationMydbops
 
My sql failover test using orchestrator
My sql failover test  using orchestratorMy sql failover test  using orchestrator
My sql failover test using orchestratorYoungHeon (Roy) Kim
 
Evolution of MySQL Parallel Replication
Evolution of MySQL Parallel Replication Evolution of MySQL Parallel Replication
Evolution of MySQL Parallel Replication Mydbops
 
All about Zookeeper and ClickHouse Keeper.pdf
All about Zookeeper and ClickHouse Keeper.pdfAll about Zookeeper and ClickHouse Keeper.pdf
All about Zookeeper and ClickHouse Keeper.pdfAltinity Ltd
 
MariaDB MaxScale
MariaDB MaxScaleMariaDB MaxScale
MariaDB MaxScaleMariaDB plc
 
Optimizing MariaDB for maximum performance
Optimizing MariaDB for maximum performanceOptimizing MariaDB for maximum performance
Optimizing MariaDB for maximum performanceMariaDB plc
 

Was ist angesagt? (20)

Maria db 이중화구성_고민하기
Maria db 이중화구성_고민하기Maria db 이중화구성_고민하기
Maria db 이중화구성_고민하기
 
MySQL 5.5 Guide to InnoDB Status
MySQL 5.5 Guide to InnoDB StatusMySQL 5.5 Guide to InnoDB Status
MySQL 5.5 Guide to InnoDB Status
 
Maxscale_메뉴얼
Maxscale_메뉴얼Maxscale_메뉴얼
Maxscale_메뉴얼
 
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQLMySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
 
Redo log improvements MYSQL 8.0
Redo log improvements MYSQL 8.0Redo log improvements MYSQL 8.0
Redo log improvements MYSQL 8.0
 
Introduction to Galera Cluster
Introduction to Galera ClusterIntroduction to Galera Cluster
Introduction to Galera Cluster
 
Almost Perfect Service Discovery and Failover with ProxySQL and Orchestrator
Almost Perfect Service Discovery and Failover with ProxySQL and OrchestratorAlmost Perfect Service Discovery and Failover with ProxySQL and Orchestrator
Almost Perfect Service Discovery and Failover with ProxySQL and Orchestrator
 
Load Balancing MySQL with HAProxy - Slides
Load Balancing MySQL with HAProxy - SlidesLoad Balancing MySQL with HAProxy - Slides
Load Balancing MySQL with HAProxy - Slides
 
Keepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docx
Keepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docxKeepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docx
Keepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docx
 
MariaDB Server Performance Tuning & Optimization
MariaDB Server Performance Tuning & OptimizationMariaDB Server Performance Tuning & Optimization
MariaDB Server Performance Tuning & Optimization
 
MySQL Administrator 2021 - 네오클로바
MySQL Administrator 2021 - 네오클로바MySQL Administrator 2021 - 네오클로바
MySQL Administrator 2021 - 네오클로바
 
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
 
MySQL Performance Schema in Action
MySQL Performance Schema in ActionMySQL Performance Schema in Action
MySQL Performance Schema in Action
 
Best practices for MySQL/MariaDB Server/Percona Server High Availability
Best practices for MySQL/MariaDB Server/Percona Server High AvailabilityBest practices for MySQL/MariaDB Server/Percona Server High Availability
Best practices for MySQL/MariaDB Server/Percona Server High Availability
 
InnoDB Performance Optimisation
InnoDB Performance OptimisationInnoDB Performance Optimisation
InnoDB Performance Optimisation
 
My sql failover test using orchestrator
My sql failover test  using orchestratorMy sql failover test  using orchestrator
My sql failover test using orchestrator
 
Evolution of MySQL Parallel Replication
Evolution of MySQL Parallel Replication Evolution of MySQL Parallel Replication
Evolution of MySQL Parallel Replication
 
All about Zookeeper and ClickHouse Keeper.pdf
All about Zookeeper and ClickHouse Keeper.pdfAll about Zookeeper and ClickHouse Keeper.pdf
All about Zookeeper and ClickHouse Keeper.pdf
 
MariaDB MaxScale
MariaDB MaxScaleMariaDB MaxScale
MariaDB MaxScale
 
Optimizing MariaDB for maximum performance
Optimizing MariaDB for maximum performanceOptimizing MariaDB for maximum performance
Optimizing MariaDB for maximum performance
 

Ähnlich wie 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
 
MySQL NDB Cluster 101
MySQL NDB Cluster 101MySQL NDB Cluster 101
MySQL NDB Cluster 101Bernd Ocklin
 
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
 

Ähnlich wie 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
 
MySQL NDB Cluster 101
MySQL NDB Cluster 101MySQL NDB Cluster 101
MySQL NDB Cluster 101
 
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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 

Kürzlich hochgeladen (20)

Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 

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