SlideShare a Scribd company logo
Comparing Highly Available Solutions With Percona
XtraDB Cluster and Percona Server with Group
Replication
Marco Tusa, Percona
3
• Open-source enthusiast


• MySQL tech lead


• Principal architect


• Working in the DB/development


world over 34 years (yes, I am that old)


• Open-source developer and community
contributor
About Me
4
What This Presentation Covers
… What is it about?


● An overview of what HA and DR mean


● The most common issues


● How PXC and PS-GR cover the above needs


● Illustrate some differences


… What isn’t it about?


● We are not comparing performance


● We are not going into the deep tech mumbo jumbo (which is unusual for me!)
5
OVH Case
I think this case/picture will be in MANY slides for a long time!
6
● Unplanned downtime can be classified into downtime
caused by system faults, data and media errors, and site
outages.


● System faults can occur in the system itself (CPU, memory,
or power supply), the software (operating system,
database, middleware, or application), peripherals, power,
or the network.


● Data errors include human error by DBAs, system
administrators, users, and operators, as well as sabotage.


● Media errors include disk failure and data corruption.


● Site outages include natural disasters, power failure, and
sabotage.


The more you add to the stack, the more you increase the
chance of failures.
Unplanned Downtime
https://docs.oracle.com/cd/A91202_01/901_doc/rac.901/a89867/pshavdtl.htm#6062
7
What is HA?
Availability % Downtime per year Downtime per month Downtime per week Downtime per day
99% ("two nines") 3.65 days 7.31 hours 1.68 hours 14.40 minutes
99.5% ("two nines five") 1.83 days 3.65 hours 50.40 minutes 7.20 minutes
99.9% ("three nines") 8.77 hours 43.83 minutes 10.08 minutes 1.44 minutes
99.95% ("three nines five") 4.38 hours 21.92 minutes 5.04 minutes 43.20 seconds
99.99% ("four nines") 52.60 minutes 4.38 minutes 1.01 minutes 8.64 seconds
99.995% ("four nines five") 26.30 minutes 2.19 minutes 30.24 seconds 4.32 seconds
99.999% ("five nines") 5.26 minutes 26.30 seconds 6.05 seconds 864.00 milliseconds
High Availability (HA) is a characteristic of a system, which aims to ensure an agreed level of
operational performance, usually uptime, for a higher than normal period.
• Geographic distribution in High
Availability is to cover service
availability in a location


o 10 Gb Ethernet best case scenario


400 metre distance max
What is HA?
• Geographic distribution in
Disaster Recovery is to ensure
you can restore service, in a
geographically distributed location


o Real speed may vary


o Linear distance ~1000Km
What is DR?
10
The Datacentric Approach
Tightly coupled cluster


● Percona PXC


○ MySQL-based with custom Galera (Codership)
implementation


● Percona Server


○ Uses Group Replication


Both solutions use additional elements presented
in the distribution as:


○ HAProxy


○ MySQL Router


○ ProxySQL
1 Data State
11
The distribute approach
Loosely coupled cluster


● In MySQL world is based on
Asynchronous replication


● Supported by PXC and PS with GR


https://www.slideshare.net/marcotusa/best-practicehigh-
availabilitysolutiongeodistributedfinal
12
What Percona Implements (For MySQL)
We use three different solutions, bundled into two different Distributions
13
Single Primary vs Multi Primary
← Scaling reads


← Local conflict resolution


→ Complicate distributed conflict
resolution


→ No write scaling


→ No sharding
14
Cluster setup
● All W/R by default


● Number must be odd for quorum calculation


● Scaling READ only


● More nodes more noise Linear increase
● Primary R/W Secondary R only


● Number cannot over 9 nodes


● Scaling READ only


● No need to be odd number, but I don’t buy it
GR
PXC
15
Birds-Eye View: Failure Detection
○ Node delay


■ Saturation


■ Malfunction


■ Wrong dimensioning


○ Network issue


■ Network latency


■ Network fluctuations


■ And more
15
Birds-Eye View: Failure Detection
○ Node delay


■ Saturation


■ Malfunction


■ Wrong dimensioning


○ Network issue


■ Network latency


■ Network fluctuations


■ And more
15
Birds-Eye View: Failure Detection
○ Node delay


■ Saturation


■ Malfunction


■ Wrong dimensioning


○ Network issue


■ Network latency


■ Network fluctuations


■ And more
15
Birds-Eye View: Failure Detection
○ Node delay


■ Saturation


■ Malfunction


■ Wrong dimensioning


○ Network issue


■ Network latency


■ Network fluctuations


■ And more
16
Split-brain


● PXC


○ Odd number of nodes


○ Use of quorum and views


■ Use of weight


○ Node either in Primary Component or not
able to serve


Dangerous Options:


● pc.ignore_sb (ignore splt-brain)


● pc.ignore_quorum (ignore quorum
calculation)
● GR


○ Group base on number of nodes and views


○ Weight is for Primary election not for quorum
calculation


○ Group quorum is base on majority of nodes


○ In case of expulsion a node can be:


■ ABORT_SERVER


■ OFFLINE_MODE


■ READ_ONLY


(exit_state_action)


○ group_replication_force_members


For both the crucial component is the view and the existing members
Birds-Eye View: Failure Detection
17
Transaction - the Apply flow
PXC
18
Transaction - the Apply flow
Group Replication
19
● Working against writeset pending in the receive queue


○ No flow control


○ Writeset caching (joiner – Donor)


■ gcs.recv_q_hard_limit Maximum write-set cache size (in bytes).


■ gcs.max_throttle Smallest fraction to the normal replication rate the node
can tolerate in the cluster.


■ gcs.recv_q_soft_limit Estimate of the average replication rate for the node.


○ Catching up (Joined) Rate limited to what the joiner can apply


○ Cluster sync


■ gcs.fc_limit Used to determine the point where Flow Control engages.


■ gcs.fc_factor Used to determine the point where Flow Control disengages.
Birds-Eye View: Flow Control
20
Birds-Eye View: Flow Control in Group Replication
Definitely more complicated and
analytical, it analyzes things such as:


● The certifier queue size


● The replication applier queue size


● The total number of transactions certified


● The total number of remote transactions
applied in the member


● The total number of local transactions
Variables


group_replication_flow_control_applier_threshold


group_replication_flow_control_certifier_threshold


group_replication_flow_control_member_quota_percent


group_replication_flow_control_hold_percent


group_replication_flow_control_release_percent


group_replication_flow_control_max_commit_quota


group_replication_flow_control_min_quota


group_replication_flow_control_min_recovery_quota


group_replication_flow_control_mode


group_replication_flow_control_period
21
Bird-Eye View: Message Fragmentation
● PXC:


○ For Load data 10K limit (configurable)


○ Streaming replication (by Session)


■ wsrep_trx_fragment_unit


■ wsrep_trx_fragment_size
● GR:


○ Supported from 8.0.16


○ All nodes must be able to support it


○ Managed at global level


■ group_replication_communication_max_messag
e_size


○ Message delivery is complete when all nodes have
the whole message


○ Node joining can recover message fragments from
before it joins. Or it will be expelled
22
Data Consistency
What am I looking for?


The platform validate the consistency of each tuple that is replicated on each node, preventing any possible local
deviation.


By inheritance data is the same on each node and cannot deviate.


● Two problems


1. None of them provide a 100% data consistency guarantee


2. PXC recently implement Inconsistent voting


3. Both come with Defaults that also allow stale read (inconsistent data in read operations)
PXC:


Set wsrep_on=0;
GR:


Set sql_bin_log=0;
23
Data consistency: error during transactions
PXC use Cluster Error Voting GR is based on the local conflict error
23
Data consistency: error during transactions
PXC use Cluster Error Voting GR is based on the local conflict error
23
Data consistency: error during transactions
PXC use Cluster Error Voting GR is based on the local conflict error
23
Data consistency: error during transactions
PXC use Cluster Error Voting GR is based on the local conflict error
23
Data consistency: error during transactions
PXC use Cluster Error Voting GR is based on the local conflict error
23
Data consistency: error during transactions
PXC use Cluster Error Voting GR is based on the local conflict error
23
Data consistency: error during transactions
PXC use Cluster Error Voting GR is based on the local conflict error
23
Data consistency: error during transactions
PXC use Cluster Error Voting GR is based on the local conflict error
23
Data consistency: error during transactions
PXC use Cluster Error Voting GR is based on the local conflict error
23
Data consistency: error during transactions
PXC use Cluster Error Voting GR is based on the local conflict error
23
Data consistency: error during transactions
PXC use Cluster Error Voting GR is based on the local conflict error
23
Data consistency: error during transactions
PXC use Cluster Error Voting GR is based on the local conflict error
23
Data consistency: error during transactions
PXC use Cluster Error Voting GR is based on the local conflict error
23
Data consistency: error during transactions
PXC use Cluster Error Voting GR is based on the local conflict error
24
Data Consistency: Stale Reads
For full consistency change:


● PXC ! wsrep_sync_wait ≠ 0 (ie:3)


● GR ! group_replication_consistency ≠ EVENTUAL (ie: AFTER)
25
DDL
● PXC


○ TOI


■ Cluster unavailable for writes


○ RSU


■ Node temporary unavailable


■ May end up in different data by node


○ No online DDL


○ Not possible to kill DDL running


○ Significant history of issues due to DDL/locking/rollback


○ Manual RSU (https://www.percona.com/blog/2019/03/25/how-to-perform-compatible-schema-changes-in-percona-
xtradb-cluster-advanced-alternative/)


○ Compatible VS incompatible changes


■ PT-OnlineSchemaChange


https://jira.percona.com/browse/PXC-3645
26
DDL
● GR


○ Standard alter


○ Online DDL


○ Compatible vs incompatible
changes


■ PT-
OnlineSchemaChange
https://bugs.mysql.com/103421
27
HA Setup
PXC GR
28
DR Claims
● Both claim they can work on WAN natively


● Both then remark you need a very good network.


○ A bit of contradiction here


● I add you need to have the DCs too close to be a real DR


○ Check out my previous presentation for Percona Live Europe about this


● Long story short: DR cannot use Synchronous replication
29
DR Case
● The problem:


○ Given Sync replication is not recommended, how we can keep the DR site up to date safely with
Asynchronous replication?
30
DR Solutions
● PXC


○ Basic Asynchronous replication


○ Async using Automatic failover is possible, but has few
problems


■ No primary identification


■ No automatic fancing (like Read Only)


○ Only decent manager is PXC Replication Manager from
Yves Trudeau


■ Deal with failover on Source and Replica


■ Allow to set order with weight


■ Allow multiple DCs
30
DR Solutions
● PXC


○ Basic Asynchronous replication


○ Async using Automatic failover is possible, but has few
problems


■ No primary identification


■ No automatic fancing (like Read Only)


○ Only decent manager is PXC Replication Manager from
Yves Trudeau


■ Deal with failover on Source and Replica


■ Allow to set order with weight


■ Allow multiple DCs
30
DR Solutions
● PXC


○ Basic Asynchronous replication


○ Async using Automatic failover is possible, but has few
problems


■ No primary identification


■ No automatic fancing (like Read Only)


○ Only decent manager is PXC Replication Manager from
Yves Trudeau


■ Deal with failover on Source and Replica


■ Allow to set order with weight


■ Allow multiple DCs
30
DR Solutions
● PXC


○ Basic Asynchronous replication


○ Async using Automatic failover is possible, but has few
problems


■ No primary identification


■ No automatic fancing (like Read Only)


○ Only decent manager is PXC Replication Manager from
Yves Trudeau


■ Deal with failover on Source and Replica


■ Allow to set order with weight


■ Allow multiple DCs
31
DR Solutions
● GR


○ Async using Automatic failover


■ Primary identification by GR


■ All replicas are fenced (Read
Only)


■ Add light weight tools as
grFailOver for full coverage
31
DR Solutions
● GR


○ Async using Automatic failover


■ Primary identification by GR


■ All replicas are fenced (Read
Only)


■ Add light weight tools as
grFailOver for full coverage
31
DR Solutions
● GR


○ Async using Automatic failover


■ Primary identification by GR


■ All replicas are fenced (Read
Only)


■ Add light weight tools as
grFailOver for full coverage
31
DR Solutions
● GR


○ Async using Automatic failover


■ Primary identification by GR


■ All replicas are fenced (Read
Only)


■ Add light weight tools as
grFailOver for full coverage
31
DR Solutions
● GR


○ Async using Automatic failover


■ Primary identification by GR


■ All replicas are fenced (Read
Only)


■ Add light weight tools as
grFailOver for full coverage
32
Adoption
PXC


● is around ~13 years now


○ Pros


■ Widely used as HA solution


■ Significant history of debugging issues


■ Very strong and consolidated knowledge


○ Cons


■ Galera (Codership) development moving to be more bound to MariaDB


● IE: MariaDB GTID ; NBO/Black Box Enterprise only feature


■ Code is shared as tar


■ No visibility on the git repo


● More difficult for others to interact and optimize the code
33
Adoption
GR


● Pros


○ Core function for MySQL/Oracle


○ Use well known elements like GTID and binlog


○ Knowledge is ramping up quickly (Percona training)


○ Code is available in github


● Cons


○ Relatively new


■ “Hello word” in 2014


■ First version really production ready was 8.0.20)


○ Limited adoption (well also PXC was not used until we start to…)


○ We all require more large scale deployments to be able to catch/fix deviations
34
Monitoring - PMM
● PXC


○ Extensive dashboards covering many different aspects of the cluster


● GR


○ New dashboard with a lot of initial information


○ Working on extending it with more advanced insights
35
Conclusions
● In Percona we support both PXC and PS with Group Replication


● As architecture components the two solutions are very similar


● GR is more articulated in DDL execution and Flow Control


● Consistency like avoid stale read has less impact in PXC


● The set of tooling that comes with MySQL Shell is not available with PXC


● In my opinion, in the future we will see the use of GR growing a lot, but we need to
work on packaging it better, especially on automating it and more in-depth monitoring


● The more adoption we will see for GR, the better the product will become due the
feedback


● PXC is still a strong HA solution, and it is still playing a key role in design strong High
Available architectures
36
Any questions?
You can find me at:


● Marco.tusa@percona.com


● @marcotusa

More Related Content

What's hot

The Full MySQL and MariaDB Parallel Replication Tutorial
The Full MySQL and MariaDB Parallel Replication TutorialThe Full MySQL and MariaDB Parallel Replication Tutorial
The Full MySQL and MariaDB Parallel Replication Tutorial
Jean-François Gagné
 
[2018] MySQL 이중화 진화기
[2018] MySQL 이중화 진화기[2018] MySQL 이중화 진화기
[2018] MySQL 이중화 진화기
NHN FORWARD
 
MariaDB MaxScale: an Intelligent Database Proxy
MariaDB MaxScale: an Intelligent Database ProxyMariaDB MaxScale: an Intelligent Database Proxy
MariaDB MaxScale: an Intelligent Database Proxy
Markus Mäkelä
 
MariaDB Optimization
MariaDB OptimizationMariaDB Optimization
MariaDB Optimization
JongJin Lee
 
MySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group ReplicationMySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group Replication
Frederic Descamps
 
Scalability, Availability & Stability Patterns
Scalability, Availability & Stability PatternsScalability, Availability & Stability Patterns
Scalability, Availability & Stability Patterns
Jonas Bonér
 
MySQL InnoDB Cluster - Advanced Configuration & Operations
MySQL InnoDB Cluster - Advanced Configuration & OperationsMySQL InnoDB Cluster - Advanced Configuration & Operations
MySQL InnoDB Cluster - Advanced Configuration & Operations
Frederic Descamps
 
New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)
New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)
New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)
Altinity Ltd
 
Maria db 이중화구성_고민하기
Maria db 이중화구성_고민하기Maria db 이중화구성_고민하기
Maria db 이중화구성_고민하기
NeoClova
 
PostgreSQL replication
PostgreSQL replicationPostgreSQL replication
PostgreSQL replication
NTT DATA OSS Professional Services
 
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group ReplicationPercona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
Kenny Gryp
 
Tuning Speculative Retries to Fight Latency (Michael Figuiere, Minh Do, Netfl...
Tuning Speculative Retries to Fight Latency (Michael Figuiere, Minh Do, Netfl...Tuning Speculative Retries to Fight Latency (Michael Figuiere, Minh Do, Netfl...
Tuning Speculative Retries to Fight Latency (Michael Figuiere, Minh Do, Netfl...
DataStax
 
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é
 
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
Colin Charles
 
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
Flink Forward
 
Developer’s guide to contributing code to Kafka with Mickael Maison and Tom B...
Developer’s guide to contributing code to Kafka with Mickael Maison and Tom B...Developer’s guide to contributing code to Kafka with Mickael Maison and Tom B...
Developer’s guide to contributing code to Kafka with Mickael Maison and Tom B...
HostedbyConfluent
 
My first 90 days with ClickHouse.pdf
My first 90 days with ClickHouse.pdfMy first 90 days with ClickHouse.pdf
My first 90 days with ClickHouse.pdf
Alkin Tezuysal
 
Parallel Replication in MySQL and MariaDB
Parallel Replication in MySQL and MariaDBParallel Replication in MySQL and MariaDB
Parallel Replication in MySQL and MariaDB
Mydbops
 
MariaDB Administrator 교육
MariaDB Administrator 교육 MariaDB Administrator 교육
MariaDB Administrator 교육
Sangmo Kim
 
MySQL/MariaDB Proxy Software Test
MySQL/MariaDB Proxy Software TestMySQL/MariaDB Proxy Software Test
MySQL/MariaDB Proxy Software Test
I Goo Lee
 

What's hot (20)

The Full MySQL and MariaDB Parallel Replication Tutorial
The Full MySQL and MariaDB Parallel Replication TutorialThe Full MySQL and MariaDB Parallel Replication Tutorial
The Full MySQL and MariaDB Parallel Replication Tutorial
 
[2018] MySQL 이중화 진화기
[2018] MySQL 이중화 진화기[2018] MySQL 이중화 진화기
[2018] MySQL 이중화 진화기
 
MariaDB MaxScale: an Intelligent Database Proxy
MariaDB MaxScale: an Intelligent Database ProxyMariaDB MaxScale: an Intelligent Database Proxy
MariaDB MaxScale: an Intelligent Database Proxy
 
MariaDB Optimization
MariaDB OptimizationMariaDB Optimization
MariaDB Optimization
 
MySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group ReplicationMySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group Replication
 
Scalability, Availability & Stability Patterns
Scalability, Availability & Stability PatternsScalability, Availability & Stability Patterns
Scalability, Availability & Stability Patterns
 
MySQL InnoDB Cluster - Advanced Configuration & Operations
MySQL InnoDB Cluster - Advanced Configuration & OperationsMySQL InnoDB Cluster - Advanced Configuration & Operations
MySQL InnoDB Cluster - Advanced Configuration & Operations
 
New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)
New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)
New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)
 
Maria db 이중화구성_고민하기
Maria db 이중화구성_고민하기Maria db 이중화구성_고민하기
Maria db 이중화구성_고민하기
 
PostgreSQL replication
PostgreSQL replicationPostgreSQL replication
PostgreSQL replication
 
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group ReplicationPercona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
 
Tuning Speculative Retries to Fight Latency (Michael Figuiere, Minh Do, Netfl...
Tuning Speculative Retries to Fight Latency (Michael Figuiere, Minh Do, Netfl...Tuning Speculative Retries to Fight Latency (Michael Figuiere, Minh Do, Netfl...
Tuning Speculative Retries to Fight Latency (Michael Figuiere, Minh Do, Netfl...
 
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)
 
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
 
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
 
Developer’s guide to contributing code to Kafka with Mickael Maison and Tom B...
Developer’s guide to contributing code to Kafka with Mickael Maison and Tom B...Developer’s guide to contributing code to Kafka with Mickael Maison and Tom B...
Developer’s guide to contributing code to Kafka with Mickael Maison and Tom B...
 
My first 90 days with ClickHouse.pdf
My first 90 days with ClickHouse.pdfMy first 90 days with ClickHouse.pdf
My first 90 days with ClickHouse.pdf
 
Parallel Replication in MySQL and MariaDB
Parallel Replication in MySQL and MariaDBParallel Replication in MySQL and MariaDB
Parallel Replication in MySQL and MariaDB
 
MariaDB Administrator 교육
MariaDB Administrator 교육 MariaDB Administrator 교육
MariaDB Administrator 교육
 
MySQL/MariaDB Proxy Software Test
MySQL/MariaDB Proxy Software TestMySQL/MariaDB Proxy Software Test
MySQL/MariaDB Proxy Software Test
 

Similar to Comparing high availability solutions with percona xtradb cluster and percona server

Benchmarks, performance, scalability, and capacity what s behind the numbers...
Benchmarks, performance, scalability, and capacity  what s behind the numbers...Benchmarks, performance, scalability, and capacity  what s behind the numbers...
Benchmarks, performance, scalability, and capacity what s behind the numbers...
james tong
 
Benchmarks, performance, scalability, and capacity what's behind the numbers
Benchmarks, performance, scalability, and capacity what's behind the numbersBenchmarks, performance, scalability, and capacity what's behind the numbers
Benchmarks, performance, scalability, and capacity what's behind the numbers
Justin Dorfman
 
Always on high availability best practices for informix
Always on high availability best practices for informixAlways on high availability best practices for informix
Always on high availability best practices for informix
IBM_Info_Management
 
Informix HA Best Practices
Informix HA Best Practices Informix HA Best Practices
Informix HA Best Practices
Scott Lashley
 
Cloud Performance Benchmarking
Cloud Performance BenchmarkingCloud Performance Benchmarking
Cloud Performance Benchmarking
Santanu Dey
 
Memory Bandwidth QoS
Memory Bandwidth QoSMemory Bandwidth QoS
Memory Bandwidth QoS
Rohit Jnagal
 
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
DataStax
 
Cocktail of Environments. How to Mix Test and Development Environments and St...
Cocktail of Environments. How to Mix Test and Development Environments and St...Cocktail of Environments. How to Mix Test and Development Environments and St...
Cocktail of Environments. How to Mix Test and Development Environments and St...
Aleksandr Tarasov
 
Geographically dispersed perconaxtra db cluster deployment
Geographically dispersed perconaxtra db cluster deploymentGeographically dispersed perconaxtra db cluster deployment
Geographically dispersed perconaxtra db cluster deployment
Marco Tusa
 
Our Multi-Year Journey to a 10x Faster Confluent Cloud
Our Multi-Year Journey to a 10x Faster Confluent CloudOur Multi-Year Journey to a 10x Faster Confluent Cloud
Our Multi-Year Journey to a 10x Faster Confluent Cloud
HostedbyConfluent
 
CQRS: Theory
CQRS: Theory CQRS: Theory
CQRS: Theory
Topu Newaj
 
haproxy_Load_Balancer.pptx
haproxy_Load_Balancer.pptxhaproxy_Load_Balancer.pptx
haproxy_Load_Balancer.pptx
crezzcrezz
 
haproxy_Load_Balancer.pdf
haproxy_Load_Balancer.pdfhaproxy_Load_Balancer.pdf
haproxy_Load_Balancer.pdf
crezzcrezz
 
Three Perspectives on Measuring Latency
Three Perspectives on Measuring LatencyThree Perspectives on Measuring Latency
Three Perspectives on Measuring Latency
ScyllaDB
 
Cassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & Python
Cassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & PythonCassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & Python
Cassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & Python
DataStax Academy
 
Kubecon seattle 2018 workshop slides
Kubecon seattle 2018 workshop slidesKubecon seattle 2018 workshop slides
Kubecon seattle 2018 workshop slides
Weaveworks
 
20240515 - Chicago PUG - Clustering in PostgreSQL: Because one database serve...
20240515 - Chicago PUG - Clustering in PostgreSQL: Because one database serve...20240515 - Chicago PUG - Clustering in PostgreSQL: Because one database serve...
20240515 - Chicago PUG - Clustering in PostgreSQL: Because one database serve...
Umair Shahid
 
High Speed Design Closure Techniques-Balachander Krishnamurthy
High Speed Design Closure Techniques-Balachander KrishnamurthyHigh Speed Design Closure Techniques-Balachander Krishnamurthy
High Speed Design Closure Techniques-Balachander Krishnamurthy
Massimo Talia
 
The power of linux advanced tracer [POUG18]
The power of linux advanced tracer [POUG18]The power of linux advanced tracer [POUG18]
The power of linux advanced tracer [POUG18]
Mahmoud Hatem
 

Similar to Comparing high availability solutions with percona xtradb cluster and percona server (20)

Benchmarks, performance, scalability, and capacity what s behind the numbers...
Benchmarks, performance, scalability, and capacity  what s behind the numbers...Benchmarks, performance, scalability, and capacity  what s behind the numbers...
Benchmarks, performance, scalability, and capacity what s behind the numbers...
 
Benchmarks, performance, scalability, and capacity what's behind the numbers
Benchmarks, performance, scalability, and capacity what's behind the numbersBenchmarks, performance, scalability, and capacity what's behind the numbers
Benchmarks, performance, scalability, and capacity what's behind the numbers
 
Always on high availability best practices for informix
Always on high availability best practices for informixAlways on high availability best practices for informix
Always on high availability best practices for informix
 
Informix HA Best Practices
Informix HA Best Practices Informix HA Best Practices
Informix HA Best Practices
 
Cloud Performance Benchmarking
Cloud Performance BenchmarkingCloud Performance Benchmarking
Cloud Performance Benchmarking
 
Memory Bandwidth QoS
Memory Bandwidth QoSMemory Bandwidth QoS
Memory Bandwidth QoS
 
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
 
Cocktail of Environments. How to Mix Test and Development Environments and St...
Cocktail of Environments. How to Mix Test and Development Environments and St...Cocktail of Environments. How to Mix Test and Development Environments and St...
Cocktail of Environments. How to Mix Test and Development Environments and St...
 
Geographically dispersed perconaxtra db cluster deployment
Geographically dispersed perconaxtra db cluster deploymentGeographically dispersed perconaxtra db cluster deployment
Geographically dispersed perconaxtra db cluster deployment
 
Our Multi-Year Journey to a 10x Faster Confluent Cloud
Our Multi-Year Journey to a 10x Faster Confluent CloudOur Multi-Year Journey to a 10x Faster Confluent Cloud
Our Multi-Year Journey to a 10x Faster Confluent Cloud
 
CQRS: Theory
CQRS: Theory CQRS: Theory
CQRS: Theory
 
haproxy_Load_Balancer.pptx
haproxy_Load_Balancer.pptxhaproxy_Load_Balancer.pptx
haproxy_Load_Balancer.pptx
 
haproxy_Load_Balancer.pdf
haproxy_Load_Balancer.pdfhaproxy_Load_Balancer.pdf
haproxy_Load_Balancer.pdf
 
Three Perspectives on Measuring Latency
Three Perspectives on Measuring LatencyThree Perspectives on Measuring Latency
Three Perspectives on Measuring Latency
 
RATIONALIST
RATIONALISTRATIONALIST
RATIONALIST
 
Cassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & Python
Cassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & PythonCassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & Python
Cassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & Python
 
Kubecon seattle 2018 workshop slides
Kubecon seattle 2018 workshop slidesKubecon seattle 2018 workshop slides
Kubecon seattle 2018 workshop slides
 
20240515 - Chicago PUG - Clustering in PostgreSQL: Because one database serve...
20240515 - Chicago PUG - Clustering in PostgreSQL: Because one database serve...20240515 - Chicago PUG - Clustering in PostgreSQL: Because one database serve...
20240515 - Chicago PUG - Clustering in PostgreSQL: Because one database serve...
 
High Speed Design Closure Techniques-Balachander Krishnamurthy
High Speed Design Closure Techniques-Balachander KrishnamurthyHigh Speed Design Closure Techniques-Balachander Krishnamurthy
High Speed Design Closure Techniques-Balachander Krishnamurthy
 
The power of linux advanced tracer [POUG18]
The power of linux advanced tracer [POUG18]The power of linux advanced tracer [POUG18]
The power of linux advanced tracer [POUG18]
 

More from Marco Tusa

Percona xtra db cluster(pxc) non blocking operations, what you need to know t...
Percona xtra db cluster(pxc) non blocking operations, what you need to know t...Percona xtra db cluster(pxc) non blocking operations, what you need to know t...
Percona xtra db cluster(pxc) non blocking operations, what you need to know t...
Marco Tusa
 
My sql on kubernetes demystified
My sql on kubernetes demystifiedMy sql on kubernetes demystified
My sql on kubernetes demystified
Marco Tusa
 
Accessing data through hibernate: what DBAs should tell to developers and vic...
Accessing data through hibernate: what DBAs should tell to developers and vic...Accessing data through hibernate: what DBAs should tell to developers and vic...
Accessing data through hibernate: what DBAs should tell to developers and vic...
Marco Tusa
 
Best practice-high availability-solution-geo-distributed-final
Best practice-high availability-solution-geo-distributed-finalBest practice-high availability-solution-geo-distributed-final
Best practice-high availability-solution-geo-distributed-final
Marco Tusa
 
MySQL innoDB split and merge pages
MySQL innoDB split and merge pagesMySQL innoDB split and merge pages
MySQL innoDB split and merge pages
Marco Tusa
 
Robust ha solutions with proxysql
Robust ha solutions with proxysqlRobust ha solutions with proxysql
Robust ha solutions with proxysql
Marco Tusa
 
Fortify aws aurora_proxy_2019_pleu
Fortify aws aurora_proxy_2019_pleuFortify aws aurora_proxy_2019_pleu
Fortify aws aurora_proxy_2019_pleu
Marco Tusa
 
Accessing Data Through Hibernate; What DBAs Should Tell Developers and Vice V...
Accessing Data Through Hibernate; What DBAs Should Tell Developers and Vice V...Accessing Data Through Hibernate; What DBAs Should Tell Developers and Vice V...
Accessing Data Through Hibernate; What DBAs Should Tell Developers and Vice V...
Marco Tusa
 
Are we there Yet?? (The long journey of Migrating from close source to opens...
Are we there Yet?? (The long journey of Migrating from close source to opens...Are we there Yet?? (The long journey of Migrating from close source to opens...
Are we there Yet?? (The long journey of Migrating from close source to opens...
Marco Tusa
 
Improve aws withproxysql
Improve aws withproxysqlImprove aws withproxysql
Improve aws withproxysql
Marco Tusa
 
Fortify aws aurora_proxy
Fortify aws aurora_proxyFortify aws aurora_proxy
Fortify aws aurora_proxy
Marco Tusa
 
Mysql8 advance tuning with resource group
Mysql8 advance tuning with resource groupMysql8 advance tuning with resource group
Mysql8 advance tuning with resource group
Marco Tusa
 
Proxysql sharding
Proxysql shardingProxysql sharding
Proxysql sharding
Marco Tusa
 
Sync rep aurora_2016
Sync rep aurora_2016Sync rep aurora_2016
Sync rep aurora_2016
Marco Tusa
 
Proxysql ha plam_2016_2_keynote
Proxysql ha plam_2016_2_keynoteProxysql ha plam_2016_2_keynote
Proxysql ha plam_2016_2_keynote
Marco Tusa
 
Empower my sql server administration with 5.7 instruments
Empower my sql server administration with 5.7 instrumentsEmpower my sql server administration with 5.7 instruments
Empower my sql server administration with 5.7 instrumentsMarco Tusa
 
Galera explained 3
Galera explained 3Galera explained 3
Galera explained 3
Marco Tusa
 
Plmce 14 be a_hero_16x9_final
Plmce 14 be a_hero_16x9_finalPlmce 14 be a_hero_16x9_final
Plmce 14 be a_hero_16x9_final
Marco Tusa
 
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
Marco Tusa
 
Discard inport exchange table & tablespace
Discard inport exchange table & tablespaceDiscard inport exchange table & tablespace
Discard inport exchange table & tablespaceMarco Tusa
 

More from Marco Tusa (20)

Percona xtra db cluster(pxc) non blocking operations, what you need to know t...
Percona xtra db cluster(pxc) non blocking operations, what you need to know t...Percona xtra db cluster(pxc) non blocking operations, what you need to know t...
Percona xtra db cluster(pxc) non blocking operations, what you need to know t...
 
My sql on kubernetes demystified
My sql on kubernetes demystifiedMy sql on kubernetes demystified
My sql on kubernetes demystified
 
Accessing data through hibernate: what DBAs should tell to developers and vic...
Accessing data through hibernate: what DBAs should tell to developers and vic...Accessing data through hibernate: what DBAs should tell to developers and vic...
Accessing data through hibernate: what DBAs should tell to developers and vic...
 
Best practice-high availability-solution-geo-distributed-final
Best practice-high availability-solution-geo-distributed-finalBest practice-high availability-solution-geo-distributed-final
Best practice-high availability-solution-geo-distributed-final
 
MySQL innoDB split and merge pages
MySQL innoDB split and merge pagesMySQL innoDB split and merge pages
MySQL innoDB split and merge pages
 
Robust ha solutions with proxysql
Robust ha solutions with proxysqlRobust ha solutions with proxysql
Robust ha solutions with proxysql
 
Fortify aws aurora_proxy_2019_pleu
Fortify aws aurora_proxy_2019_pleuFortify aws aurora_proxy_2019_pleu
Fortify aws aurora_proxy_2019_pleu
 
Accessing Data Through Hibernate; What DBAs Should Tell Developers and Vice V...
Accessing Data Through Hibernate; What DBAs Should Tell Developers and Vice V...Accessing Data Through Hibernate; What DBAs Should Tell Developers and Vice V...
Accessing Data Through Hibernate; What DBAs Should Tell Developers and Vice V...
 
Are we there Yet?? (The long journey of Migrating from close source to opens...
Are we there Yet?? (The long journey of Migrating from close source to opens...Are we there Yet?? (The long journey of Migrating from close source to opens...
Are we there Yet?? (The long journey of Migrating from close source to opens...
 
Improve aws withproxysql
Improve aws withproxysqlImprove aws withproxysql
Improve aws withproxysql
 
Fortify aws aurora_proxy
Fortify aws aurora_proxyFortify aws aurora_proxy
Fortify aws aurora_proxy
 
Mysql8 advance tuning with resource group
Mysql8 advance tuning with resource groupMysql8 advance tuning with resource group
Mysql8 advance tuning with resource group
 
Proxysql sharding
Proxysql shardingProxysql sharding
Proxysql sharding
 
Sync rep aurora_2016
Sync rep aurora_2016Sync rep aurora_2016
Sync rep aurora_2016
 
Proxysql ha plam_2016_2_keynote
Proxysql ha plam_2016_2_keynoteProxysql ha plam_2016_2_keynote
Proxysql ha plam_2016_2_keynote
 
Empower my sql server administration with 5.7 instruments
Empower my sql server administration with 5.7 instrumentsEmpower my sql server administration with 5.7 instruments
Empower my sql server administration with 5.7 instruments
 
Galera explained 3
Galera explained 3Galera explained 3
Galera explained 3
 
Plmce 14 be a_hero_16x9_final
Plmce 14 be a_hero_16x9_finalPlmce 14 be a_hero_16x9_final
Plmce 14 be a_hero_16x9_final
 
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
 
Discard inport exchange table & tablespace
Discard inport exchange table & tablespaceDiscard inport exchange table & tablespace
Discard inport exchange table & tablespace
 

Recently uploaded

Delightful Finds: Unveiling the Power of Gifts Under 100
Delightful Finds: Unveiling the Power of Gifts Under 100Delightful Finds: Unveiling the Power of Gifts Under 100
Delightful Finds: Unveiling the Power of Gifts Under 100
JoyTree Global
 
What Are the Latest Trends in Endpoint Security for 2024?
What Are the Latest Trends in Endpoint Security for 2024?What Are the Latest Trends in Endpoint Security for 2024?
What Are the Latest Trends in Endpoint Security for 2024?
VRS Technologies
 
Bulk SMS Service Provider In Mumbai | sms2orbit
Bulk SMS Service Provider In Mumbai | sms2orbitBulk SMS Service Provider In Mumbai | sms2orbit
Bulk SMS Service Provider In Mumbai | sms2orbit
Orbit Messaging Hub
 
BesT panDit Ji LoVe problem solution 9463629203 UK uSA California New Zealand...
BesT panDit Ji LoVe problem solution 9463629203 UK uSA California New Zealand...BesT panDit Ji LoVe problem solution 9463629203 UK uSA California New Zealand...
BesT panDit Ji LoVe problem solution 9463629203 UK uSA California New Zealand...
gitapress3
 
Are Gutters Necessary? Explore the details now!
Are Gutters Necessary? Explore the details now!Are Gutters Necessary? Explore the details now!
Are Gutters Necessary? Explore the details now!
AmeliaLauren3
 
SECUREX UK FOR SECURITY SERVICES AND MOBILE PATROL
SECUREX UK FOR SECURITY SERVICES AND MOBILE PATROLSECUREX UK FOR SECURITY SERVICES AND MOBILE PATROL
SECUREX UK FOR SECURITY SERVICES AND MOBILE PATROL
securexukweb
 
BEst VASHIKARAN SPECIALIST 9463629203 in UK Baba ji Love Marriage problem sol...
BEst VASHIKARAN SPECIALIST 9463629203 in UK Baba ji Love Marriage problem sol...BEst VASHIKARAN SPECIALIST 9463629203 in UK Baba ji Love Marriage problem sol...
BEst VASHIKARAN SPECIALIST 9463629203 in UK Baba ji Love Marriage problem sol...
gitapress3
 
The Jamstack Revolution: Building Dynamic Websites with Static Site Generator...
The Jamstack Revolution: Building Dynamic Websites with Static Site Generator...The Jamstack Revolution: Building Dynamic Websites with Static Site Generator...
The Jamstack Revolution: Building Dynamic Websites with Static Site Generator...
Softradix Technologies
 
Solar Panel For Home Price List In india
Solar Panel For Home Price List In indiaSolar Panel For Home Price List In india
Solar Panel For Home Price List In india
janhaviconaxweb
 
Waikiki Sunset Catamaran ! MAITAI Catamaran
Waikiki Sunset Catamaran !  MAITAI CatamaranWaikiki Sunset Catamaran !  MAITAI Catamaran
Waikiki Sunset Catamaran ! MAITAI Catamaran
maitaicatamaran
 
All Trophies at Trophy-World Malaysia | Custom Trophies & Plaques Supplier
All Trophies at Trophy-World Malaysia | Custom Trophies & Plaques SupplierAll Trophies at Trophy-World Malaysia | Custom Trophies & Plaques Supplier
All Trophies at Trophy-World Malaysia | Custom Trophies & Plaques Supplier
Trophy-World Malaysia Your #1 Rated Trophy Supplier
 
Reliable Logistics Solutions - Truxcargo
Reliable Logistics Solutions - TruxcargoReliable Logistics Solutions - Truxcargo
Reliable Logistics Solutions - Truxcargo
Truxcargo
 
Importance of BWTS in the Maritime Industry
Importance of BWTS in the Maritime IndustryImportance of BWTS in the Maritime Industry
Importance of BWTS in the Maritime Industry
Blessed Marine Automation
 
Get your dream bridal look with top North Indian makeup artist - Pallavi Kadale
Get your dream bridal look with top North Indian makeup artist - Pallavi KadaleGet your dream bridal look with top North Indian makeup artist - Pallavi Kadale
Get your dream bridal look with top North Indian makeup artist - Pallavi Kadale
Pallavi Makeup Artist
 
DOJO Training Center - Empowering Workforce Excellence
DOJO Training Center - Empowering Workforce ExcellenceDOJO Training Center - Empowering Workforce Excellence
DOJO Training Center - Empowering Workforce Excellence
Himanshu
 
Inspect Edge & NSPIRE Inspection Application - Streamline Housing Inspections
Inspect Edge & NSPIRE Inspection Application - Streamline Housing InspectionsInspect Edge & NSPIRE Inspection Application - Streamline Housing Inspections
Inspect Edge & NSPIRE Inspection Application - Streamline Housing Inspections
inspectedge1
 
Hospitality Training for Hotel Industries
Hospitality Training for Hotel IndustriesHospitality Training for Hotel Industries
Hospitality Training for Hotel Industries
VanieTAnggita
 
Islamabad No 1 Amil Baba In Pakistan amil baba kala ilm.docx
Islamabad No 1 Amil Baba In Pakistan amil baba kala ilm.docxIslamabad No 1 Amil Baba In Pakistan amil baba kala ilm.docx
Islamabad No 1 Amil Baba In Pakistan amil baba kala ilm.docx
amilabibi1
 
Nature’s Paradise Glamorous And Sustainable Designs For Your Outdoor Living S...
Nature’s Paradise Glamorous And Sustainable Designs For Your Outdoor Living S...Nature’s Paradise Glamorous And Sustainable Designs For Your Outdoor Living S...
Nature’s Paradise Glamorous And Sustainable Designs For Your Outdoor Living S...
Landscape Express
 
How Does Littering Affect the Environment.
How Does Littering Affect the Environment.How Does Littering Affect the Environment.
How Does Littering Affect the Environment.
ClenliDirect
 

Recently uploaded (20)

Delightful Finds: Unveiling the Power of Gifts Under 100
Delightful Finds: Unveiling the Power of Gifts Under 100Delightful Finds: Unveiling the Power of Gifts Under 100
Delightful Finds: Unveiling the Power of Gifts Under 100
 
What Are the Latest Trends in Endpoint Security for 2024?
What Are the Latest Trends in Endpoint Security for 2024?What Are the Latest Trends in Endpoint Security for 2024?
What Are the Latest Trends in Endpoint Security for 2024?
 
Bulk SMS Service Provider In Mumbai | sms2orbit
Bulk SMS Service Provider In Mumbai | sms2orbitBulk SMS Service Provider In Mumbai | sms2orbit
Bulk SMS Service Provider In Mumbai | sms2orbit
 
BesT panDit Ji LoVe problem solution 9463629203 UK uSA California New Zealand...
BesT panDit Ji LoVe problem solution 9463629203 UK uSA California New Zealand...BesT panDit Ji LoVe problem solution 9463629203 UK uSA California New Zealand...
BesT panDit Ji LoVe problem solution 9463629203 UK uSA California New Zealand...
 
Are Gutters Necessary? Explore the details now!
Are Gutters Necessary? Explore the details now!Are Gutters Necessary? Explore the details now!
Are Gutters Necessary? Explore the details now!
 
SECUREX UK FOR SECURITY SERVICES AND MOBILE PATROL
SECUREX UK FOR SECURITY SERVICES AND MOBILE PATROLSECUREX UK FOR SECURITY SERVICES AND MOBILE PATROL
SECUREX UK FOR SECURITY SERVICES AND MOBILE PATROL
 
BEst VASHIKARAN SPECIALIST 9463629203 in UK Baba ji Love Marriage problem sol...
BEst VASHIKARAN SPECIALIST 9463629203 in UK Baba ji Love Marriage problem sol...BEst VASHIKARAN SPECIALIST 9463629203 in UK Baba ji Love Marriage problem sol...
BEst VASHIKARAN SPECIALIST 9463629203 in UK Baba ji Love Marriage problem sol...
 
The Jamstack Revolution: Building Dynamic Websites with Static Site Generator...
The Jamstack Revolution: Building Dynamic Websites with Static Site Generator...The Jamstack Revolution: Building Dynamic Websites with Static Site Generator...
The Jamstack Revolution: Building Dynamic Websites with Static Site Generator...
 
Solar Panel For Home Price List In india
Solar Panel For Home Price List In indiaSolar Panel For Home Price List In india
Solar Panel For Home Price List In india
 
Waikiki Sunset Catamaran ! MAITAI Catamaran
Waikiki Sunset Catamaran !  MAITAI CatamaranWaikiki Sunset Catamaran !  MAITAI Catamaran
Waikiki Sunset Catamaran ! MAITAI Catamaran
 
All Trophies at Trophy-World Malaysia | Custom Trophies & Plaques Supplier
All Trophies at Trophy-World Malaysia | Custom Trophies & Plaques SupplierAll Trophies at Trophy-World Malaysia | Custom Trophies & Plaques Supplier
All Trophies at Trophy-World Malaysia | Custom Trophies & Plaques Supplier
 
Reliable Logistics Solutions - Truxcargo
Reliable Logistics Solutions - TruxcargoReliable Logistics Solutions - Truxcargo
Reliable Logistics Solutions - Truxcargo
 
Importance of BWTS in the Maritime Industry
Importance of BWTS in the Maritime IndustryImportance of BWTS in the Maritime Industry
Importance of BWTS in the Maritime Industry
 
Get your dream bridal look with top North Indian makeup artist - Pallavi Kadale
Get your dream bridal look with top North Indian makeup artist - Pallavi KadaleGet your dream bridal look with top North Indian makeup artist - Pallavi Kadale
Get your dream bridal look with top North Indian makeup artist - Pallavi Kadale
 
DOJO Training Center - Empowering Workforce Excellence
DOJO Training Center - Empowering Workforce ExcellenceDOJO Training Center - Empowering Workforce Excellence
DOJO Training Center - Empowering Workforce Excellence
 
Inspect Edge & NSPIRE Inspection Application - Streamline Housing Inspections
Inspect Edge & NSPIRE Inspection Application - Streamline Housing InspectionsInspect Edge & NSPIRE Inspection Application - Streamline Housing Inspections
Inspect Edge & NSPIRE Inspection Application - Streamline Housing Inspections
 
Hospitality Training for Hotel Industries
Hospitality Training for Hotel IndustriesHospitality Training for Hotel Industries
Hospitality Training for Hotel Industries
 
Islamabad No 1 Amil Baba In Pakistan amil baba kala ilm.docx
Islamabad No 1 Amil Baba In Pakistan amil baba kala ilm.docxIslamabad No 1 Amil Baba In Pakistan amil baba kala ilm.docx
Islamabad No 1 Amil Baba In Pakistan amil baba kala ilm.docx
 
Nature’s Paradise Glamorous And Sustainable Designs For Your Outdoor Living S...
Nature’s Paradise Glamorous And Sustainable Designs For Your Outdoor Living S...Nature’s Paradise Glamorous And Sustainable Designs For Your Outdoor Living S...
Nature’s Paradise Glamorous And Sustainable Designs For Your Outdoor Living S...
 
How Does Littering Affect the Environment.
How Does Littering Affect the Environment.How Does Littering Affect the Environment.
How Does Littering Affect the Environment.
 

Comparing high availability solutions with percona xtradb cluster and percona server

  • 1.
  • 2. Comparing Highly Available Solutions With Percona XtraDB Cluster and Percona Server with Group Replication Marco Tusa, Percona
  • 3. 3 • Open-source enthusiast • MySQL tech lead • Principal architect • Working in the DB/development 
 world over 34 years (yes, I am that old) • Open-source developer and community contributor About Me
  • 4. 4 What This Presentation Covers … What is it about? ● An overview of what HA and DR mean ● The most common issues ● How PXC and PS-GR cover the above needs ● Illustrate some differences … What isn’t it about? ● We are not comparing performance ● We are not going into the deep tech mumbo jumbo (which is unusual for me!)
  • 5. 5 OVH Case I think this case/picture will be in MANY slides for a long time!
  • 6. 6 ● Unplanned downtime can be classified into downtime caused by system faults, data and media errors, and site outages. ● System faults can occur in the system itself (CPU, memory, or power supply), the software (operating system, database, middleware, or application), peripherals, power, or the network. ● Data errors include human error by DBAs, system administrators, users, and operators, as well as sabotage. ● Media errors include disk failure and data corruption. ● Site outages include natural disasters, power failure, and sabotage. The more you add to the stack, the more you increase the chance of failures. Unplanned Downtime https://docs.oracle.com/cd/A91202_01/901_doc/rac.901/a89867/pshavdtl.htm#6062
  • 7. 7 What is HA? Availability % Downtime per year Downtime per month Downtime per week Downtime per day 99% ("two nines") 3.65 days 7.31 hours 1.68 hours 14.40 minutes 99.5% ("two nines five") 1.83 days 3.65 hours 50.40 minutes 7.20 minutes 99.9% ("three nines") 8.77 hours 43.83 minutes 10.08 minutes 1.44 minutes 99.95% ("three nines five") 4.38 hours 21.92 minutes 5.04 minutes 43.20 seconds 99.99% ("four nines") 52.60 minutes 4.38 minutes 1.01 minutes 8.64 seconds 99.995% ("four nines five") 26.30 minutes 2.19 minutes 30.24 seconds 4.32 seconds 99.999% ("five nines") 5.26 minutes 26.30 seconds 6.05 seconds 864.00 milliseconds High Availability (HA) is a characteristic of a system, which aims to ensure an agreed level of operational performance, usually uptime, for a higher than normal period.
  • 8. • Geographic distribution in High Availability is to cover service availability in a location o 10 Gb Ethernet best case scenario 
 400 metre distance max What is HA?
  • 9. • Geographic distribution in Disaster Recovery is to ensure you can restore service, in a geographically distributed location o Real speed may vary o Linear distance ~1000Km What is DR?
  • 10. 10 The Datacentric Approach Tightly coupled cluster ● Percona PXC ○ MySQL-based with custom Galera (Codership) implementation ● Percona Server ○ Uses Group Replication Both solutions use additional elements presented in the distribution as: ○ HAProxy ○ MySQL Router ○ ProxySQL 1 Data State
  • 11. 11 The distribute approach Loosely coupled cluster ● In MySQL world is based on Asynchronous replication ● Supported by PXC and PS with GR https://www.slideshare.net/marcotusa/best-practicehigh- availabilitysolutiongeodistributedfinal
  • 12. 12 What Percona Implements (For MySQL) We use three different solutions, bundled into two different Distributions
  • 13. 13 Single Primary vs Multi Primary ← Scaling reads ← Local conflict resolution → Complicate distributed conflict resolution → No write scaling → No sharding
  • 14. 14 Cluster setup ● All W/R by default ● Number must be odd for quorum calculation ● Scaling READ only ● More nodes more noise Linear increase ● Primary R/W Secondary R only ● Number cannot over 9 nodes ● Scaling READ only ● No need to be odd number, but I don’t buy it GR PXC
  • 15. 15 Birds-Eye View: Failure Detection ○ Node delay ■ Saturation ■ Malfunction ■ Wrong dimensioning ○ Network issue ■ Network latency ■ Network fluctuations ■ And more
  • 16. 15 Birds-Eye View: Failure Detection ○ Node delay ■ Saturation ■ Malfunction ■ Wrong dimensioning ○ Network issue ■ Network latency ■ Network fluctuations ■ And more
  • 17. 15 Birds-Eye View: Failure Detection ○ Node delay ■ Saturation ■ Malfunction ■ Wrong dimensioning ○ Network issue ■ Network latency ■ Network fluctuations ■ And more
  • 18. 15 Birds-Eye View: Failure Detection ○ Node delay ■ Saturation ■ Malfunction ■ Wrong dimensioning ○ Network issue ■ Network latency ■ Network fluctuations ■ And more
  • 19. 16 Split-brain ● PXC ○ Odd number of nodes ○ Use of quorum and views ■ Use of weight ○ Node either in Primary Component or not able to serve Dangerous Options: ● pc.ignore_sb (ignore splt-brain) ● pc.ignore_quorum (ignore quorum calculation) ● GR ○ Group base on number of nodes and views ○ Weight is for Primary election not for quorum calculation ○ Group quorum is base on majority of nodes ○ In case of expulsion a node can be: ■ ABORT_SERVER ■ OFFLINE_MODE ■ READ_ONLY (exit_state_action) ○ group_replication_force_members For both the crucial component is the view and the existing members Birds-Eye View: Failure Detection
  • 20. 17 Transaction - the Apply flow PXC
  • 21. 18 Transaction - the Apply flow Group Replication
  • 22. 19 ● Working against writeset pending in the receive queue ○ No flow control ○ Writeset caching (joiner – Donor) ■ gcs.recv_q_hard_limit Maximum write-set cache size (in bytes). ■ gcs.max_throttle Smallest fraction to the normal replication rate the node can tolerate in the cluster. ■ gcs.recv_q_soft_limit Estimate of the average replication rate for the node. ○ Catching up (Joined) Rate limited to what the joiner can apply ○ Cluster sync ■ gcs.fc_limit Used to determine the point where Flow Control engages. ■ gcs.fc_factor Used to determine the point where Flow Control disengages. Birds-Eye View: Flow Control
  • 23. 20 Birds-Eye View: Flow Control in Group Replication Definitely more complicated and analytical, it analyzes things such as: ● The certifier queue size ● The replication applier queue size ● The total number of transactions certified ● The total number of remote transactions applied in the member ● The total number of local transactions Variables group_replication_flow_control_applier_threshold group_replication_flow_control_certifier_threshold group_replication_flow_control_member_quota_percent group_replication_flow_control_hold_percent group_replication_flow_control_release_percent group_replication_flow_control_max_commit_quota group_replication_flow_control_min_quota group_replication_flow_control_min_recovery_quota group_replication_flow_control_mode group_replication_flow_control_period
  • 24. 21 Bird-Eye View: Message Fragmentation ● PXC: ○ For Load data 10K limit (configurable) ○ Streaming replication (by Session) ■ wsrep_trx_fragment_unit ■ wsrep_trx_fragment_size ● GR: ○ Supported from 8.0.16 ○ All nodes must be able to support it ○ Managed at global level ■ group_replication_communication_max_messag e_size ○ Message delivery is complete when all nodes have the whole message ○ Node joining can recover message fragments from before it joins. Or it will be expelled
  • 25. 22 Data Consistency What am I looking for? The platform validate the consistency of each tuple that is replicated on each node, preventing any possible local deviation. By inheritance data is the same on each node and cannot deviate. ● Two problems 1. None of them provide a 100% data consistency guarantee 2. PXC recently implement Inconsistent voting 3. Both come with Defaults that also allow stale read (inconsistent data in read operations) PXC: Set wsrep_on=0; GR: Set sql_bin_log=0;
  • 26. 23 Data consistency: error during transactions PXC use Cluster Error Voting GR is based on the local conflict error
  • 27. 23 Data consistency: error during transactions PXC use Cluster Error Voting GR is based on the local conflict error
  • 28. 23 Data consistency: error during transactions PXC use Cluster Error Voting GR is based on the local conflict error
  • 29. 23 Data consistency: error during transactions PXC use Cluster Error Voting GR is based on the local conflict error
  • 30. 23 Data consistency: error during transactions PXC use Cluster Error Voting GR is based on the local conflict error
  • 31. 23 Data consistency: error during transactions PXC use Cluster Error Voting GR is based on the local conflict error
  • 32. 23 Data consistency: error during transactions PXC use Cluster Error Voting GR is based on the local conflict error
  • 33. 23 Data consistency: error during transactions PXC use Cluster Error Voting GR is based on the local conflict error
  • 34. 23 Data consistency: error during transactions PXC use Cluster Error Voting GR is based on the local conflict error
  • 35. 23 Data consistency: error during transactions PXC use Cluster Error Voting GR is based on the local conflict error
  • 36. 23 Data consistency: error during transactions PXC use Cluster Error Voting GR is based on the local conflict error
  • 37. 23 Data consistency: error during transactions PXC use Cluster Error Voting GR is based on the local conflict error
  • 38. 23 Data consistency: error during transactions PXC use Cluster Error Voting GR is based on the local conflict error
  • 39. 23 Data consistency: error during transactions PXC use Cluster Error Voting GR is based on the local conflict error
  • 40. 24 Data Consistency: Stale Reads For full consistency change: ● PXC ! wsrep_sync_wait ≠ 0 (ie:3) ● GR ! group_replication_consistency ≠ EVENTUAL (ie: AFTER)
  • 41. 25 DDL ● PXC ○ TOI ■ Cluster unavailable for writes ○ RSU ■ Node temporary unavailable ■ May end up in different data by node ○ No online DDL ○ Not possible to kill DDL running ○ Significant history of issues due to DDL/locking/rollback ○ Manual RSU (https://www.percona.com/blog/2019/03/25/how-to-perform-compatible-schema-changes-in-percona- xtradb-cluster-advanced-alternative/) ○ Compatible VS incompatible changes ■ PT-OnlineSchemaChange https://jira.percona.com/browse/PXC-3645
  • 42. 26 DDL ● GR ○ Standard alter ○ Online DDL ○ Compatible vs incompatible changes ■ PT- OnlineSchemaChange https://bugs.mysql.com/103421
  • 44. 28 DR Claims ● Both claim they can work on WAN natively ● Both then remark you need a very good network. ○ A bit of contradiction here ● I add you need to have the DCs too close to be a real DR ○ Check out my previous presentation for Percona Live Europe about this ● Long story short: DR cannot use Synchronous replication
  • 45. 29 DR Case ● The problem: ○ Given Sync replication is not recommended, how we can keep the DR site up to date safely with Asynchronous replication?
  • 46. 30 DR Solutions ● PXC ○ Basic Asynchronous replication ○ Async using Automatic failover is possible, but has few problems ■ No primary identification ■ No automatic fancing (like Read Only) ○ Only decent manager is PXC Replication Manager from Yves Trudeau ■ Deal with failover on Source and Replica ■ Allow to set order with weight ■ Allow multiple DCs
  • 47. 30 DR Solutions ● PXC ○ Basic Asynchronous replication ○ Async using Automatic failover is possible, but has few problems ■ No primary identification ■ No automatic fancing (like Read Only) ○ Only decent manager is PXC Replication Manager from Yves Trudeau ■ Deal with failover on Source and Replica ■ Allow to set order with weight ■ Allow multiple DCs
  • 48. 30 DR Solutions ● PXC ○ Basic Asynchronous replication ○ Async using Automatic failover is possible, but has few problems ■ No primary identification ■ No automatic fancing (like Read Only) ○ Only decent manager is PXC Replication Manager from Yves Trudeau ■ Deal with failover on Source and Replica ■ Allow to set order with weight ■ Allow multiple DCs
  • 49. 30 DR Solutions ● PXC ○ Basic Asynchronous replication ○ Async using Automatic failover is possible, but has few problems ■ No primary identification ■ No automatic fancing (like Read Only) ○ Only decent manager is PXC Replication Manager from Yves Trudeau ■ Deal with failover on Source and Replica ■ Allow to set order with weight ■ Allow multiple DCs
  • 50. 31 DR Solutions ● GR ○ Async using Automatic failover ■ Primary identification by GR ■ All replicas are fenced (Read Only) ■ Add light weight tools as grFailOver for full coverage
  • 51. 31 DR Solutions ● GR ○ Async using Automatic failover ■ Primary identification by GR ■ All replicas are fenced (Read Only) ■ Add light weight tools as grFailOver for full coverage
  • 52. 31 DR Solutions ● GR ○ Async using Automatic failover ■ Primary identification by GR ■ All replicas are fenced (Read Only) ■ Add light weight tools as grFailOver for full coverage
  • 53. 31 DR Solutions ● GR ○ Async using Automatic failover ■ Primary identification by GR ■ All replicas are fenced (Read Only) ■ Add light weight tools as grFailOver for full coverage
  • 54. 31 DR Solutions ● GR ○ Async using Automatic failover ■ Primary identification by GR ■ All replicas are fenced (Read Only) ■ Add light weight tools as grFailOver for full coverage
  • 55. 32 Adoption PXC ● is around ~13 years now ○ Pros ■ Widely used as HA solution ■ Significant history of debugging issues ■ Very strong and consolidated knowledge ○ Cons ■ Galera (Codership) development moving to be more bound to MariaDB ● IE: MariaDB GTID ; NBO/Black Box Enterprise only feature ■ Code is shared as tar ■ No visibility on the git repo ● More difficult for others to interact and optimize the code
  • 56. 33 Adoption GR ● Pros ○ Core function for MySQL/Oracle ○ Use well known elements like GTID and binlog ○ Knowledge is ramping up quickly (Percona training) ○ Code is available in github ● Cons ○ Relatively new ■ “Hello word” in 2014 ■ First version really production ready was 8.0.20) ○ Limited adoption (well also PXC was not used until we start to…) ○ We all require more large scale deployments to be able to catch/fix deviations
  • 57. 34 Monitoring - PMM ● PXC ○ Extensive dashboards covering many different aspects of the cluster ● GR ○ New dashboard with a lot of initial information ○ Working on extending it with more advanced insights
  • 58. 35 Conclusions ● In Percona we support both PXC and PS with Group Replication ● As architecture components the two solutions are very similar ● GR is more articulated in DDL execution and Flow Control ● Consistency like avoid stale read has less impact in PXC ● The set of tooling that comes with MySQL Shell is not available with PXC ● In my opinion, in the future we will see the use of GR growing a lot, but we need to work on packaging it better, especially on automating it and more in-depth monitoring ● The more adoption we will see for GR, the better the product will become due the feedback ● PXC is still a strong HA solution, and it is still playing a key role in design strong High Available architectures
  • 59. 36 Any questions? You can find me at: ● Marco.tusa@percona.com ● @marcotusa