SlideShare a Scribd company logo
1 of 41
Download to read offline
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
Mix ‘n’ Match Async and Group Replication for Advanced
Replication Setups
Pedro Gomes (pedro.gomes@oracle.com)
Software Engineer
4th of February Oracle / Fosdem 2017 1
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Safe Harbor Statement
The following is intended to outline our general product direction. It is intended for
information purposes only, and may not be incorporated into any contract. It is not a
commitment to deliver any material, code, or functionality, and should not be relied upon
in making purchasing decisions. The development, release, and timing of any features or
functionality described for Oracle’s products remains at the sole discretion of Oracle.
24th of February Oracle / Fosdem 2017
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Program Agenda
4th of February Oracle / Fosdem 2017
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Background
Mix it!
Migrations
Conclusion
Program Agenda
4th of February Oracle / Fosdem 2017 4
1
2
3
4
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Background
4th of February Oracle / Fosdem 2017
1
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
In the beggining there was Async Replication
64th of February Oracle / Fosdem 2017
S1 S2 S3
Master
MySQL Connector
Application
MySQL Connector
Application
Writes
Reads
Async replication
connection
In the beginning there was asynchronous
replication. You write in the master where
events are logged and sent to the slaves
where they are queued and applied.
This can be used for data safety on master
crashes or read scalability
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Semi sync Replication
74th of February Oracle / Fosdem 2017
S1 S2 S3
Master
MySQL Connector
Application
MySQL Connector
Application
ACK
ACK
On 5.5 we introduced semi sync. The idea
is that when the master commits it waits
for the slaves to queue the transaction or
to prepare the commit.
You can wait on all or on a set number of
slaves.
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Multi Source Replication
84th of February Oracle / Fosdem 2017
S1 S2 S3
Master
MySQL Connector
Application
MySQL Connector
Application
Master
MySQL Connector
Application
On early 5.7 we introduced Multi source.
It introduced the notion of channel, i.e., a
replication sources.
Slaves can now have different channels
that will receive data from different
masters. Conflicts are not detected.
This can be used for data aggregation or
full backups of sharded data
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Group Replication
94th of February Oracle / Fosdem 2017
Master
MySQL Connector
Application
MySQL Connector
Application
Master
MySQL Connector
Application
Master
Group
We now present Group replication.
When you write in a member, the
information flows to the other members in
a ordered way, meaning all members get
the same transactions in the same order.
More on the next slide
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL Group Replication
• What is MySQL Group Replication?
“Multi-master update everywhere replication plugin for MySQL with built-in automatic
distributed recovery, conflict detection and group membership.”
• What does the MySQL Group Replication plugin do for the user?
– Removes the need for handling server fail-over.
– Provides fault tolerance.
– Enables update everywhere setups.
– Automates group reconfiguration (handling of crashes, failures, re-connects).
– Provides a highly available replicated database.
104th of February Oracle / Fosdem 2017
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Mix it!
4th of February Oracle / Fosdem 2017
2
2.1 Basic scenarios
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Read out Scalability
124th of February Oracle / Fosdem 2017
Master
MySQL Connector
Application
MySQL Connector
Application
Master
MySQL Connector
Application
Master
S1 S2 S3
If you are afraid of the 9 members
limitation and you want to scale your
reads, you can add more slaves that
replicate from the group.
Remember that the group has automatic
failover, but not your slaves.
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Aggregate some data
134th of February Oracle / Fosdem 2017
Master
MySQL Connector
Applicaton
Master
Master
S
Master Master
Master
Multi source can also be used to aggregate
data from 2 groups.
Again you can do some data analyses or
have a full backup of your data.
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Mix it!
4th of February Oracle / Fosdem 2017
2
2.2 Advanced scenarios
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Inter data center replication
154th of February Oracle / Fosdem 2017
Master Master
Master
Master Master
Master
If you have different groups on different
databases you can still replication from
one to another using asynchronous
replication.
Here we use 2 pairs of servers to share the
load of this task among the members, but
you can use only one circular pair or have
even more connections if desired.
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Migrations
4th of February Oracle / Fosdem 2017
3
How to migrate from asynchronous replication3.1
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
How to migrate from asynchronous scenarios
174th of February Oracle / Fosdem 2017
Master
Master Master
Master
S1 S2
?
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
How to migrate from asynchronous scenarios
184th of February Oracle / Fosdem 2017
M1
M2
S1 S2
MySQL Connector
Application Here I chose to start the group in a new
provisioned member but you can also
start by doing this in on of the existing
slaves .
M2 will replicate from M1 using async
replication.
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
How to migrate from asynchronous scenarios
194th of February Oracle / Fosdem 2017
M1
M2
S1
S2
MySQL Connector
Application
On by one you can start moving the slaves
into the group. As all info applied into M1
is disseminated to the group, you can
starting migrating reads to it and the
migrated slaves.
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
How to migrate from asynchronous scenarios
204th of February Oracle / Fosdem 2017
M1
M2 S2
MySQL Connector
Application
S1
Eventually all slaves will be migrated to
the group. Now comes the trick part.
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
How to migrate from asynchronous scenarios
214th of February Oracle / Fosdem 2017
M1
M2 S2
MySQL Connector
Application
S1
If your workload allows it, start migrating
some writes to the group gradually. If not,
you need to wait for the delay from M1 to
M2 to be nearly 0, block writes on M1 and
then switch to M2 when that last N
transactions from M1 are replicated.
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
How to migrate from asynchronous scenarios
224th of February Oracle / Fosdem 2017
M1
M2
S2
MySQL Connector
Application
S1
Now you just need to add M1 to the group.
Distributed recovery will make the member
catch up to the writes it missed in the
transition to the group.
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Migrations
4th of February Oracle / Fosdem 2017
3
Different servers3.2
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Migrate disjoint servers into Group replication
244th of February Oracle / Fosdem 2017
M1
MySQL Connector
Application
M2
MySQL Connector
Application
This one is a less common case, but still
interesting as a migration example.
What if you want to merge shards or two
applications into a group to make it HA?
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Migrate disjoint servers into Group replication
254th of February Oracle / Fosdem 2017
M1
MySQL Connector
Application
M2
MySQL Connector
Application
Start replicating from one of the servers into the
other.
One thing to consider here: the member that
becomes a slave has to deal with this increased load,
but on the other hand, we must eventually block
writes to the M1 for a brief moment.
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Migrate disjoint servers into Group replication
264th of February Oracle / Fosdem 2017
M1
MySQL Connector
Application
M2
MySQL Connector
Application
Start a group with M2
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Migrate disjoint servers into Group replication
274th of February Oracle / Fosdem 2017
M1
MySQL Connector
Application
M2
MySQL Connector
Application
M3
We add a new member here for 2 reasons:
1. The resulting group with only two members, M1
and M2, could suffer from split brain problems if
one of them died.
2. There is a moment where M1 will stop serving
requests and at that moment M2 would take all
the load alone.
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Migrate disjoint servers into Group replication
284th of February Oracle / Fosdem 2017
M1
MySQL Connector
Application
M2
MySQL Connector
Application
M3
If your workload allows it, start migrating
some M1 writes to the group gradually. If
not, you need to wait for the delay from M1
to M2 to be nearly 0, block writes on M1
and then switch to M2 when that last N
transactions are replicated.
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Migrate disjoint servers into Group replication
294th of February Oracle / Fosdem 2017
M1
MySQL Connector
Application
M2
MySQL Connector
Application
M3
You can now join M1 to the group, being
probably best to do some provisioning here
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Migrate disjoint servers into Group replication (alternative)
304th of February Oracle / Fosdem 2017
M1
MySQL Connector
Application
M2
MySQL Connector
Application
S
Another alternative is to add a multi source
slave that will replicate from both members.
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Migrate disjoint servers into Group replication (alternative)
314th of February Oracle / Fosdem 2017
M1
MySQL Connector
Application
M2
MySQL Connector
Application
S
Start a new group on this slave.
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Migrate disjoint servers into Group replication (alternative)
324th of February Oracle / Fosdem 2017
M1
MySQL Connector
Application
M2
MySQL Connector
Application
S
If your workload allows it, start migrating
some writes to S gradually. If not, you need
to wait for the delay from M2 to S to be
nearly 0, block writes on M2 and then
switch to S.
Add M2 to the group.
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Migrate disjoint servers into Group replication (alternative)
334th of February Oracle / Fosdem 2017
M1
MySQL Connector
Application
M2
MySQL Connector
Application
S
When M2 can take writes from its original
application repeat the previous step with
M1.
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Migrations
4th of February Oracle / Fosdem 2017
3
Going Back3.3
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
From Group Replication to Asynchronous topologies
354th of February Oracle / Fosdem 2017
M2
M1
MySQL Connector
Application
M3
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
From Group Replication to Asynchronous topologies
364th of February Oracle / Fosdem 2017
M2
M1
MySQL Connector
Application
S3
Just stop group replication in one member
and configure it as a slave of the one the
original members.
If using multi master direct all writes to this
member that is now a master.
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
From Group Replication to Asynchronous topologies
374th of February Oracle / Fosdem 2017
S2
M1
MySQL Connector
Application
S3
Repeat the same process for the other
members until only the master remains in
the group. At that point stop group
replication on the master as well.
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Conclusion
4th of February Oracle / Fosdem 2017
4
This presentation only contains examples of
possible setups. Other possibilities may
exist, just try it
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Where to go from here?
• GA Packages
– http://www.mysql.com/downloads/
• Documentation
– http://dev.mysql.com/doc/refman/5.7/en/group-replication.html
• Blogs from the Engineers (news, technical information, and much more)
– http://mysqlhighavailability.com
394th of February Oracle / Fosdem 2017
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.4th of February Oracle / Fosdem 2017 41
@distributedpete
Twitter:
Thanks!

More Related Content

What's hot

Everything You Need to Know About MySQL Group Replication
Everything You Need to Know About MySQL Group ReplicationEverything You Need to Know About MySQL Group Replication
Everything You Need to Know About MySQL Group ReplicationNuno Carvalho
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB ClusterWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB ClusterContinuent
 
MySQL Replication Performance in the Cloud
MySQL Replication Performance in the CloudMySQL Replication Performance in the Cloud
MySQL Replication Performance in the CloudVitor Oliveira
 
MySQL InnoDB Cluster and MySQL Group Replication @HKOSC 2017
MySQL InnoDB Cluster and MySQL Group Replication @HKOSC 2017MySQL InnoDB Cluster and MySQL Group Replication @HKOSC 2017
MySQL InnoDB Cluster and MySQL Group Replication @HKOSC 2017Ivan Ma
 
Boston meetup : MySQL Innodb Cluster - May 1st 2017
Boston meetup : MySQL Innodb Cluster - May 1st  2017Boston meetup : MySQL Innodb Cluster - May 1st  2017
Boston meetup : MySQL Innodb Cluster - May 1st 2017Frederic Descamps
 
Introduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterIntroduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterFrederic Descamps
 
MySQL Group Replication - an Overview
MySQL Group Replication - an OverviewMySQL Group Replication - an Overview
MySQL Group Replication - an OverviewMatt Lord
 
MySQL Database Architectures - InnoDB ReplicaSet & Cluster
MySQL Database Architectures - InnoDB ReplicaSet & ClusterMySQL Database Architectures - InnoDB ReplicaSet & Cluster
MySQL Database Architectures - InnoDB ReplicaSet & ClusterKenny Gryp
 
MySQL Database Architectures - 2020-10
MySQL Database Architectures -  2020-10MySQL Database Architectures -  2020-10
MySQL Database Architectures - 2020-10Kenny Gryp
 
Introduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterIntroduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterFrederic Descamps
 
MySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group ReplicationMySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group ReplicationFrederic Descamps
 
MySQL Group Replicatio in a nutshell - MySQL InnoDB Cluster
MySQL Group Replicatio  in a nutshell - MySQL InnoDB ClusterMySQL Group Replicatio  in a nutshell - MySQL InnoDB Cluster
MySQL Group Replicatio in a nutshell - MySQL InnoDB ClusterFrederic Descamps
 
MySQL Group Replication - Ready For Production? (2018-04)
MySQL Group Replication - Ready For Production? (2018-04)MySQL Group Replication - Ready For Production? (2018-04)
MySQL Group Replication - Ready For Production? (2018-04)Kenny Gryp
 
MySQL Connectors 8.0.19 & DNS SRV
MySQL Connectors 8.0.19 & DNS SRVMySQL Connectors 8.0.19 & DNS SRV
MySQL Connectors 8.0.19 & DNS SRVKenny Gryp
 
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
 
Using MySQL Containers
Using MySQL ContainersUsing MySQL Containers
Using MySQL ContainersMatt Lord
 
Building Scalable High Availability Systems using MySQL Fabric
Building Scalable High Availability Systems using MySQL FabricBuilding Scalable High Availability Systems using MySQL Fabric
Building Scalable High Availability Systems using MySQL FabricMats Kindahl
 
Helsinki MySQL User Group - MySQL InnoDB Cluster
Helsinki MySQL User Group - MySQL InnoDB ClusterHelsinki MySQL User Group - MySQL InnoDB Cluster
Helsinki MySQL User Group - MySQL InnoDB ClusterFrederic Descamps
 
MySQL InnoDB Cluster and Group Replication in a Nutshell
MySQL InnoDB Cluster and Group Replication in a NutshellMySQL InnoDB Cluster and Group Replication in a Nutshell
MySQL InnoDB Cluster and Group Replication in a NutshellFrederic Descamps
 
Introduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterIntroduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterFrederic Descamps
 

What's hot (20)

Everything You Need to Know About MySQL Group Replication
Everything You Need to Know About MySQL Group ReplicationEverything You Need to Know About MySQL Group Replication
Everything You Need to Know About MySQL Group Replication
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB ClusterWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB Cluster
 
MySQL Replication Performance in the Cloud
MySQL Replication Performance in the CloudMySQL Replication Performance in the Cloud
MySQL Replication Performance in the Cloud
 
MySQL InnoDB Cluster and MySQL Group Replication @HKOSC 2017
MySQL InnoDB Cluster and MySQL Group Replication @HKOSC 2017MySQL InnoDB Cluster and MySQL Group Replication @HKOSC 2017
MySQL InnoDB Cluster and MySQL Group Replication @HKOSC 2017
 
Boston meetup : MySQL Innodb Cluster - May 1st 2017
Boston meetup : MySQL Innodb Cluster - May 1st  2017Boston meetup : MySQL Innodb Cluster - May 1st  2017
Boston meetup : MySQL Innodb Cluster - May 1st 2017
 
Introduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterIntroduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB Cluster
 
MySQL Group Replication - an Overview
MySQL Group Replication - an OverviewMySQL Group Replication - an Overview
MySQL Group Replication - an Overview
 
MySQL Database Architectures - InnoDB ReplicaSet & Cluster
MySQL Database Architectures - InnoDB ReplicaSet & ClusterMySQL Database Architectures - InnoDB ReplicaSet & Cluster
MySQL Database Architectures - InnoDB ReplicaSet & Cluster
 
MySQL Database Architectures - 2020-10
MySQL Database Architectures -  2020-10MySQL Database Architectures -  2020-10
MySQL Database Architectures - 2020-10
 
Introduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterIntroduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB Cluster
 
MySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group ReplicationMySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group Replication
 
MySQL Group Replicatio in a nutshell - MySQL InnoDB Cluster
MySQL Group Replicatio  in a nutshell - MySQL InnoDB ClusterMySQL Group Replicatio  in a nutshell - MySQL InnoDB Cluster
MySQL Group Replicatio in a nutshell - MySQL InnoDB Cluster
 
MySQL Group Replication - Ready For Production? (2018-04)
MySQL Group Replication - Ready For Production? (2018-04)MySQL Group Replication - Ready For Production? (2018-04)
MySQL Group Replication - Ready For Production? (2018-04)
 
MySQL Connectors 8.0.19 & DNS SRV
MySQL Connectors 8.0.19 & DNS SRVMySQL Connectors 8.0.19 & DNS SRV
MySQL Connectors 8.0.19 & DNS SRV
 
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
 
Using MySQL Containers
Using MySQL ContainersUsing MySQL Containers
Using MySQL Containers
 
Building Scalable High Availability Systems using MySQL Fabric
Building Scalable High Availability Systems using MySQL FabricBuilding Scalable High Availability Systems using MySQL Fabric
Building Scalable High Availability Systems using MySQL Fabric
 
Helsinki MySQL User Group - MySQL InnoDB Cluster
Helsinki MySQL User Group - MySQL InnoDB ClusterHelsinki MySQL User Group - MySQL InnoDB Cluster
Helsinki MySQL User Group - MySQL InnoDB Cluster
 
MySQL InnoDB Cluster and Group Replication in a Nutshell
MySQL InnoDB Cluster and Group Replication in a NutshellMySQL InnoDB Cluster and Group Replication in a Nutshell
MySQL InnoDB Cluster and Group Replication in a Nutshell
 
Introduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterIntroduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB Cluster
 

Viewers also liked

Reducing Risk When Upgrading MySQL
Reducing Risk When Upgrading MySQLReducing Risk When Upgrading MySQL
Reducing Risk When Upgrading MySQLKenny Gryp
 
Mysql参数-GDB
Mysql参数-GDBMysql参数-GDB
Mysql参数-GDBzhaolinjnu
 
High Availability Using MySQL Group Replication
High Availability Using MySQL Group ReplicationHigh Availability Using MySQL Group Replication
High Availability Using MySQL Group ReplicationOSSCube
 
Multi Source Replication With MySQL 5.7 @ Verisure
Multi Source Replication With MySQL 5.7 @ VerisureMulti Source Replication With MySQL 5.7 @ Verisure
Multi Source Replication With MySQL 5.7 @ VerisureKenny Gryp
 
2010丹臣的思考
2010丹臣的思考2010丹臣的思考
2010丹臣的思考zhaolinjnu
 
Capturing, Analyzing and Optimizing MySQL
Capturing, Analyzing and Optimizing MySQLCapturing, Analyzing and Optimizing MySQL
Capturing, Analyzing and Optimizing MySQLRonald Bradford
 
A New Architecture for Group Replication in Data Grid
A New Architecture for Group Replication in Data GridA New Architecture for Group Replication in Data Grid
A New Architecture for Group Replication in Data GridEditor IJCATR
 
Advanced Percona XtraDB Cluster in a nutshell... la suite
Advanced Percona XtraDB Cluster in a nutshell... la suiteAdvanced Percona XtraDB Cluster in a nutshell... la suite
Advanced Percona XtraDB Cluster in a nutshell... la suiteKenny Gryp
 
Java MySQL Connector & Connection Pool Features & Optimization
Java MySQL Connector & Connection Pool Features & OptimizationJava MySQL Connector & Connection Pool Features & Optimization
Java MySQL Connector & Connection Pool Features & OptimizationKenny Gryp
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group ReplicationManish Kumar
 
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 ReplicationKenny Gryp
 
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхМониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхSveta Smirnova
 
MySQL Storage Engines - which do you use? TokuDB? MyRocks? InnoDB?
MySQL Storage Engines - which do you use? TokuDB? MyRocks? InnoDB?MySQL Storage Engines - which do you use? TokuDB? MyRocks? InnoDB?
MySQL Storage Engines - which do you use? TokuDB? MyRocks? InnoDB?Sveta Smirnova
 
MHA (MySQL High Availability): Getting started & moving past quirks
MHA (MySQL High Availability): Getting started & moving past quirksMHA (MySQL High Availability): Getting started & moving past quirks
MHA (MySQL High Availability): Getting started & moving past quirksColin Charles
 
MySQL Best Practices - OTN LAD Tour
MySQL Best Practices - OTN LAD TourMySQL Best Practices - OTN LAD Tour
MySQL Best Practices - OTN LAD TourRonald Bradford
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group ReplicationKenny Gryp
 
MySQL 5.7: Focus on InnoDB
MySQL 5.7: Focus on InnoDBMySQL 5.7: Focus on InnoDB
MySQL 5.7: Focus on InnoDBMario Beck
 
Inno db internals innodb file formats and source code structure
Inno db internals innodb file formats and source code structureInno db internals innodb file formats and source code structure
Inno db internals innodb file formats and source code structurezhaolinjnu
 

Viewers also liked (20)

Reducing Risk When Upgrading MySQL
Reducing Risk When Upgrading MySQLReducing Risk When Upgrading MySQL
Reducing Risk When Upgrading MySQL
 
SQL Outer Joins for Fun and Profit
SQL Outer Joins for Fun and ProfitSQL Outer Joins for Fun and Profit
SQL Outer Joins for Fun and Profit
 
Mysql参数-GDB
Mysql参数-GDBMysql参数-GDB
Mysql参数-GDB
 
High Availability Using MySQL Group Replication
High Availability Using MySQL Group ReplicationHigh Availability Using MySQL Group Replication
High Availability Using MySQL Group Replication
 
Multi Source Replication With MySQL 5.7 @ Verisure
Multi Source Replication With MySQL 5.7 @ VerisureMulti Source Replication With MySQL 5.7 @ Verisure
Multi Source Replication With MySQL 5.7 @ Verisure
 
2010丹臣的思考
2010丹臣的思考2010丹臣的思考
2010丹臣的思考
 
Capturing, Analyzing and Optimizing MySQL
Capturing, Analyzing and Optimizing MySQLCapturing, Analyzing and Optimizing MySQL
Capturing, Analyzing and Optimizing MySQL
 
A New Architecture for Group Replication in Data Grid
A New Architecture for Group Replication in Data GridA New Architecture for Group Replication in Data Grid
A New Architecture for Group Replication in Data Grid
 
Advanced Percona XtraDB Cluster in a nutshell... la suite
Advanced Percona XtraDB Cluster in a nutshell... la suiteAdvanced Percona XtraDB Cluster in a nutshell... la suite
Advanced Percona XtraDB Cluster in a nutshell... la suite
 
Java MySQL Connector & Connection Pool Features & Optimization
Java MySQL Connector & Connection Pool Features & OptimizationJava MySQL Connector & Connection Pool Features & Optimization
Java MySQL Connector & Connection Pool Features & Optimization
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group 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
 
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхМониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
 
MySQL Storage Engines - which do you use? TokuDB? MyRocks? InnoDB?
MySQL Storage Engines - which do you use? TokuDB? MyRocks? InnoDB?MySQL Storage Engines - which do you use? TokuDB? MyRocks? InnoDB?
MySQL Storage Engines - which do you use? TokuDB? MyRocks? InnoDB?
 
MHA (MySQL High Availability): Getting started & moving past quirks
MHA (MySQL High Availability): Getting started & moving past quirksMHA (MySQL High Availability): Getting started & moving past quirks
MHA (MySQL High Availability): Getting started & moving past quirks
 
MySQL Best Practices - OTN LAD Tour
MySQL Best Practices - OTN LAD TourMySQL Best Practices - OTN LAD Tour
MySQL Best Practices - OTN LAD Tour
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group Replication
 
MySQL 5.7: Focus on InnoDB
MySQL 5.7: Focus on InnoDBMySQL 5.7: Focus on InnoDB
MySQL 5.7: Focus on InnoDB
 
Extensible Data Modeling
Extensible Data ModelingExtensible Data Modeling
Extensible Data Modeling
 
Inno db internals innodb file formats and source code structure
Inno db internals innodb file formats and source code structureInno db internals innodb file formats and source code structure
Inno db internals innodb file formats and source code structure
 

Similar to Mix ‘n’ Match Async and Group Replication for Advanced Replication Setups

Introduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterIntroduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterFrederic Descamps
 
MySQL in Oracle environment : Quick start guide for Oracle DBA (Part 1)
MySQL in Oracle environment : Quick start guide for Oracle DBA (Part 1)MySQL in Oracle environment : Quick start guide for Oracle DBA (Part 1)
MySQL in Oracle environment : Quick start guide for Oracle DBA (Part 1)OracleMySQL
 
MySQL Community Meetup in China : Innovation driven by the Community
MySQL Community Meetup in China : Innovation driven by the CommunityMySQL Community Meetup in China : Innovation driven by the Community
MySQL Community Meetup in China : Innovation driven by the CommunityFrederic Descamps
 
20191001 bkk-secret-of inno-db_clusterv1
20191001 bkk-secret-of inno-db_clusterv120191001 bkk-secret-of inno-db_clusterv1
20191001 bkk-secret-of inno-db_clusterv1Ivan Ma
 
MySQL InnoDB Cluster in a Nutshell - Hands-on Lab
MySQL InnoDB Cluster in a Nutshell - Hands-on LabMySQL InnoDB Cluster in a Nutshell - Hands-on Lab
MySQL InnoDB Cluster in a Nutshell - Hands-on LabFrederic Descamps
 
20190817 coscup-oracle my sql innodb cluster sharing
20190817 coscup-oracle my sql innodb cluster sharing20190817 coscup-oracle my sql innodb cluster sharing
20190817 coscup-oracle my sql innodb cluster sharingIvan Ma
 
MySQL Document Store - when SQL & NoSQL live together... in peace!
MySQL Document Store - when SQL & NoSQL live together... in peace!MySQL Document Store - when SQL & NoSQL live together... in peace!
MySQL Document Store - when SQL & NoSQL live together... in peace!Frederic Descamps
 
Robust easy affordable disaster recovery for MySQL Data
Robust easy affordable disaster recovery for MySQL DataRobust easy affordable disaster recovery for MySQL Data
Robust easy affordable disaster recovery for MySQL DataOracleMySQL
 
MySQL 5.7 InnoDB Cluster (Jan 2018)
MySQL 5.7 InnoDB Cluster (Jan 2018)MySQL 5.7 InnoDB Cluster (Jan 2018)
MySQL 5.7 InnoDB Cluster (Jan 2018)Olivier DASINI
 
Cloud Native 자바 플랫폼: Graalvm Overview
Cloud Native 자바 플랫폼: Graalvm OverviewCloud Native 자바 플랫폼: Graalvm Overview
Cloud Native 자바 플랫폼: Graalvm OverviewOracle Korea
 
Swedish MySQL User Group - MySQL InnoDB Cluster
Swedish MySQL User Group - MySQL InnoDB ClusterSwedish MySQL User Group - MySQL InnoDB Cluster
Swedish MySQL User Group - MySQL InnoDB ClusterFrederic Descamps
 
MySQL innodb cluster and Group Replication in a nutshell - hands-on tutorial ...
MySQL innodb cluster and Group Replication in a nutshell - hands-on tutorial ...MySQL innodb cluster and Group Replication in a nutshell - hands-on tutorial ...
MySQL innodb cluster and Group Replication in a nutshell - hands-on tutorial ...Frederic Descamps
 
MySQL InnoDB Cluster - Meetup Oracle MySQL / AFUP Paris
MySQL InnoDB Cluster - Meetup Oracle MySQL / AFUP ParisMySQL InnoDB Cluster - Meetup Oracle MySQL / AFUP Paris
MySQL InnoDB Cluster - Meetup Oracle MySQL / AFUP ParisOlivier DASINI
 
DataOps Barcelona - MySQL HA so easy... that's insane !
DataOps Barcelona - MySQL HA so easy... that's insane !DataOps Barcelona - MySQL HA so easy... that's insane !
DataOps Barcelona - MySQL HA so easy... that's insane !Frederic Descamps
 
Step by Step instructions to install Cluster Domain deployment model
Step by Step instructions to install Cluster Domain deployment modelStep by Step instructions to install Cluster Domain deployment model
Step by Step instructions to install Cluster Domain deployment modelAnil Nair
 
Creating a Facebook Clone - Part XVII - Transcript.pdf
Creating a Facebook Clone - Part XVII - Transcript.pdfCreating a Facebook Clone - Part XVII - Transcript.pdf
Creating a Facebook Clone - Part XVII - Transcript.pdfShaiAlmog1
 
Aioug2017 deploying-ebs-on-prem-and-on-oracle-cloud v2
Aioug2017 deploying-ebs-on-prem-and-on-oracle-cloud v2Aioug2017 deploying-ebs-on-prem-and-on-oracle-cloud v2
Aioug2017 deploying-ebs-on-prem-and-on-oracle-cloud v2pasalapudi
 
MySQL Innovation: from 5.7 to 8.0
MySQL Innovation:  from 5.7 to 8.0MySQL Innovation:  from 5.7 to 8.0
MySQL Innovation: from 5.7 to 8.0Frederic Descamps
 
MySQL Innovation from 5.7 to 8.0
MySQL Innovation from 5.7 to 8.0MySQL Innovation from 5.7 to 8.0
MySQL Innovation from 5.7 to 8.0Frederic Descamps
 

Similar to Mix ‘n’ Match Async and Group Replication for Advanced Replication Setups (20)

Introduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterIntroduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB Cluster
 
MySQL in Oracle environment : Quick start guide for Oracle DBA (Part 1)
MySQL in Oracle environment : Quick start guide for Oracle DBA (Part 1)MySQL in Oracle environment : Quick start guide for Oracle DBA (Part 1)
MySQL in Oracle environment : Quick start guide for Oracle DBA (Part 1)
 
MySQL Community Meetup in China : Innovation driven by the Community
MySQL Community Meetup in China : Innovation driven by the CommunityMySQL Community Meetup in China : Innovation driven by the Community
MySQL Community Meetup in China : Innovation driven by the Community
 
20191001 bkk-secret-of inno-db_clusterv1
20191001 bkk-secret-of inno-db_clusterv120191001 bkk-secret-of inno-db_clusterv1
20191001 bkk-secret-of inno-db_clusterv1
 
MySQL InnoDB Cluster in a Nutshell - Hands-on Lab
MySQL InnoDB Cluster in a Nutshell - Hands-on LabMySQL InnoDB Cluster in a Nutshell - Hands-on Lab
MySQL InnoDB Cluster in a Nutshell - Hands-on Lab
 
20190817 coscup-oracle my sql innodb cluster sharing
20190817 coscup-oracle my sql innodb cluster sharing20190817 coscup-oracle my sql innodb cluster sharing
20190817 coscup-oracle my sql innodb cluster sharing
 
MySQL Document Store - when SQL & NoSQL live together... in peace!
MySQL Document Store - when SQL & NoSQL live together... in peace!MySQL Document Store - when SQL & NoSQL live together... in peace!
MySQL Document Store - when SQL & NoSQL live together... in peace!
 
Robust easy affordable disaster recovery for MySQL Data
Robust easy affordable disaster recovery for MySQL DataRobust easy affordable disaster recovery for MySQL Data
Robust easy affordable disaster recovery for MySQL Data
 
MySQL 5.7 InnoDB Cluster (Jan 2018)
MySQL 5.7 InnoDB Cluster (Jan 2018)MySQL 5.7 InnoDB Cluster (Jan 2018)
MySQL 5.7 InnoDB Cluster (Jan 2018)
 
Cloud Native Java:GraalVM
Cloud Native Java:GraalVMCloud Native Java:GraalVM
Cloud Native Java:GraalVM
 
Cloud Native 자바 플랫폼: Graalvm Overview
Cloud Native 자바 플랫폼: Graalvm OverviewCloud Native 자바 플랫폼: Graalvm Overview
Cloud Native 자바 플랫폼: Graalvm Overview
 
Swedish MySQL User Group - MySQL InnoDB Cluster
Swedish MySQL User Group - MySQL InnoDB ClusterSwedish MySQL User Group - MySQL InnoDB Cluster
Swedish MySQL User Group - MySQL InnoDB Cluster
 
MySQL innodb cluster and Group Replication in a nutshell - hands-on tutorial ...
MySQL innodb cluster and Group Replication in a nutshell - hands-on tutorial ...MySQL innodb cluster and Group Replication in a nutshell - hands-on tutorial ...
MySQL innodb cluster and Group Replication in a nutshell - hands-on tutorial ...
 
MySQL InnoDB Cluster - Meetup Oracle MySQL / AFUP Paris
MySQL InnoDB Cluster - Meetup Oracle MySQL / AFUP ParisMySQL InnoDB Cluster - Meetup Oracle MySQL / AFUP Paris
MySQL InnoDB Cluster - Meetup Oracle MySQL / AFUP Paris
 
DataOps Barcelona - MySQL HA so easy... that's insane !
DataOps Barcelona - MySQL HA so easy... that's insane !DataOps Barcelona - MySQL HA so easy... that's insane !
DataOps Barcelona - MySQL HA so easy... that's insane !
 
Step by Step instructions to install Cluster Domain deployment model
Step by Step instructions to install Cluster Domain deployment modelStep by Step instructions to install Cluster Domain deployment model
Step by Step instructions to install Cluster Domain deployment model
 
Creating a Facebook Clone - Part XVII - Transcript.pdf
Creating a Facebook Clone - Part XVII - Transcript.pdfCreating a Facebook Clone - Part XVII - Transcript.pdf
Creating a Facebook Clone - Part XVII - Transcript.pdf
 
Aioug2017 deploying-ebs-on-prem-and-on-oracle-cloud v2
Aioug2017 deploying-ebs-on-prem-and-on-oracle-cloud v2Aioug2017 deploying-ebs-on-prem-and-on-oracle-cloud v2
Aioug2017 deploying-ebs-on-prem-and-on-oracle-cloud v2
 
MySQL Innovation: from 5.7 to 8.0
MySQL Innovation:  from 5.7 to 8.0MySQL Innovation:  from 5.7 to 8.0
MySQL Innovation: from 5.7 to 8.0
 
MySQL Innovation from 5.7 to 8.0
MySQL Innovation from 5.7 to 8.0MySQL Innovation from 5.7 to 8.0
MySQL Innovation from 5.7 to 8.0
 

Recently uploaded

GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 

Recently uploaded (20)

GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 

Mix ‘n’ Match Async and Group Replication for Advanced Replication Setups

  • 1. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. Mix ‘n’ Match Async and Group Replication for Advanced Replication Setups Pedro Gomes (pedro.gomes@oracle.com) Software Engineer 4th of February Oracle / Fosdem 2017 1
  • 2. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. 24th of February Oracle / Fosdem 2017
  • 3. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Program Agenda 4th of February Oracle / Fosdem 2017
  • 4. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Background Mix it! Migrations Conclusion Program Agenda 4th of February Oracle / Fosdem 2017 4 1 2 3 4
  • 5. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Background 4th of February Oracle / Fosdem 2017 1
  • 6. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | In the beggining there was Async Replication 64th of February Oracle / Fosdem 2017 S1 S2 S3 Master MySQL Connector Application MySQL Connector Application Writes Reads Async replication connection In the beginning there was asynchronous replication. You write in the master where events are logged and sent to the slaves where they are queued and applied. This can be used for data safety on master crashes or read scalability
  • 7. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Semi sync Replication 74th of February Oracle / Fosdem 2017 S1 S2 S3 Master MySQL Connector Application MySQL Connector Application ACK ACK On 5.5 we introduced semi sync. The idea is that when the master commits it waits for the slaves to queue the transaction or to prepare the commit. You can wait on all or on a set number of slaves.
  • 8. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Multi Source Replication 84th of February Oracle / Fosdem 2017 S1 S2 S3 Master MySQL Connector Application MySQL Connector Application Master MySQL Connector Application On early 5.7 we introduced Multi source. It introduced the notion of channel, i.e., a replication sources. Slaves can now have different channels that will receive data from different masters. Conflicts are not detected. This can be used for data aggregation or full backups of sharded data
  • 9. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Group Replication 94th of February Oracle / Fosdem 2017 Master MySQL Connector Application MySQL Connector Application Master MySQL Connector Application Master Group We now present Group replication. When you write in a member, the information flows to the other members in a ordered way, meaning all members get the same transactions in the same order. More on the next slide
  • 10. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL Group Replication • What is MySQL Group Replication? “Multi-master update everywhere replication plugin for MySQL with built-in automatic distributed recovery, conflict detection and group membership.” • What does the MySQL Group Replication plugin do for the user? – Removes the need for handling server fail-over. – Provides fault tolerance. – Enables update everywhere setups. – Automates group reconfiguration (handling of crashes, failures, re-connects). – Provides a highly available replicated database. 104th of February Oracle / Fosdem 2017
  • 11. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Mix it! 4th of February Oracle / Fosdem 2017 2 2.1 Basic scenarios
  • 12. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Read out Scalability 124th of February Oracle / Fosdem 2017 Master MySQL Connector Application MySQL Connector Application Master MySQL Connector Application Master S1 S2 S3 If you are afraid of the 9 members limitation and you want to scale your reads, you can add more slaves that replicate from the group. Remember that the group has automatic failover, but not your slaves.
  • 13. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Aggregate some data 134th of February Oracle / Fosdem 2017 Master MySQL Connector Applicaton Master Master S Master Master Master Multi source can also be used to aggregate data from 2 groups. Again you can do some data analyses or have a full backup of your data.
  • 14. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Mix it! 4th of February Oracle / Fosdem 2017 2 2.2 Advanced scenarios
  • 15. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Inter data center replication 154th of February Oracle / Fosdem 2017 Master Master Master Master Master Master If you have different groups on different databases you can still replication from one to another using asynchronous replication. Here we use 2 pairs of servers to share the load of this task among the members, but you can use only one circular pair or have even more connections if desired.
  • 16. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Migrations 4th of February Oracle / Fosdem 2017 3 How to migrate from asynchronous replication3.1
  • 17. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | How to migrate from asynchronous scenarios 174th of February Oracle / Fosdem 2017 Master Master Master Master S1 S2 ?
  • 18. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | How to migrate from asynchronous scenarios 184th of February Oracle / Fosdem 2017 M1 M2 S1 S2 MySQL Connector Application Here I chose to start the group in a new provisioned member but you can also start by doing this in on of the existing slaves . M2 will replicate from M1 using async replication.
  • 19. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | How to migrate from asynchronous scenarios 194th of February Oracle / Fosdem 2017 M1 M2 S1 S2 MySQL Connector Application On by one you can start moving the slaves into the group. As all info applied into M1 is disseminated to the group, you can starting migrating reads to it and the migrated slaves.
  • 20. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | How to migrate from asynchronous scenarios 204th of February Oracle / Fosdem 2017 M1 M2 S2 MySQL Connector Application S1 Eventually all slaves will be migrated to the group. Now comes the trick part.
  • 21. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | How to migrate from asynchronous scenarios 214th of February Oracle / Fosdem 2017 M1 M2 S2 MySQL Connector Application S1 If your workload allows it, start migrating some writes to the group gradually. If not, you need to wait for the delay from M1 to M2 to be nearly 0, block writes on M1 and then switch to M2 when that last N transactions from M1 are replicated.
  • 22. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | How to migrate from asynchronous scenarios 224th of February Oracle / Fosdem 2017 M1 M2 S2 MySQL Connector Application S1 Now you just need to add M1 to the group. Distributed recovery will make the member catch up to the writes it missed in the transition to the group.
  • 23. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Migrations 4th of February Oracle / Fosdem 2017 3 Different servers3.2
  • 24. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Migrate disjoint servers into Group replication 244th of February Oracle / Fosdem 2017 M1 MySQL Connector Application M2 MySQL Connector Application This one is a less common case, but still interesting as a migration example. What if you want to merge shards or two applications into a group to make it HA?
  • 25. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Migrate disjoint servers into Group replication 254th of February Oracle / Fosdem 2017 M1 MySQL Connector Application M2 MySQL Connector Application Start replicating from one of the servers into the other. One thing to consider here: the member that becomes a slave has to deal with this increased load, but on the other hand, we must eventually block writes to the M1 for a brief moment.
  • 26. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Migrate disjoint servers into Group replication 264th of February Oracle / Fosdem 2017 M1 MySQL Connector Application M2 MySQL Connector Application Start a group with M2
  • 27. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Migrate disjoint servers into Group replication 274th of February Oracle / Fosdem 2017 M1 MySQL Connector Application M2 MySQL Connector Application M3 We add a new member here for 2 reasons: 1. The resulting group with only two members, M1 and M2, could suffer from split brain problems if one of them died. 2. There is a moment where M1 will stop serving requests and at that moment M2 would take all the load alone.
  • 28. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Migrate disjoint servers into Group replication 284th of February Oracle / Fosdem 2017 M1 MySQL Connector Application M2 MySQL Connector Application M3 If your workload allows it, start migrating some M1 writes to the group gradually. If not, you need to wait for the delay from M1 to M2 to be nearly 0, block writes on M1 and then switch to M2 when that last N transactions are replicated.
  • 29. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Migrate disjoint servers into Group replication 294th of February Oracle / Fosdem 2017 M1 MySQL Connector Application M2 MySQL Connector Application M3 You can now join M1 to the group, being probably best to do some provisioning here
  • 30. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Migrate disjoint servers into Group replication (alternative) 304th of February Oracle / Fosdem 2017 M1 MySQL Connector Application M2 MySQL Connector Application S Another alternative is to add a multi source slave that will replicate from both members.
  • 31. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Migrate disjoint servers into Group replication (alternative) 314th of February Oracle / Fosdem 2017 M1 MySQL Connector Application M2 MySQL Connector Application S Start a new group on this slave.
  • 32. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Migrate disjoint servers into Group replication (alternative) 324th of February Oracle / Fosdem 2017 M1 MySQL Connector Application M2 MySQL Connector Application S If your workload allows it, start migrating some writes to S gradually. If not, you need to wait for the delay from M2 to S to be nearly 0, block writes on M2 and then switch to S. Add M2 to the group.
  • 33. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Migrate disjoint servers into Group replication (alternative) 334th of February Oracle / Fosdem 2017 M1 MySQL Connector Application M2 MySQL Connector Application S When M2 can take writes from its original application repeat the previous step with M1.
  • 34. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Migrations 4th of February Oracle / Fosdem 2017 3 Going Back3.3
  • 35. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | From Group Replication to Asynchronous topologies 354th of February Oracle / Fosdem 2017 M2 M1 MySQL Connector Application M3
  • 36. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | From Group Replication to Asynchronous topologies 364th of February Oracle / Fosdem 2017 M2 M1 MySQL Connector Application S3 Just stop group replication in one member and configure it as a slave of the one the original members. If using multi master direct all writes to this member that is now a master.
  • 37. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | From Group Replication to Asynchronous topologies 374th of February Oracle / Fosdem 2017 S2 M1 MySQL Connector Application S3 Repeat the same process for the other members until only the master remains in the group. At that point stop group replication on the master as well.
  • 38. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Conclusion 4th of February Oracle / Fosdem 2017 4 This presentation only contains examples of possible setups. Other possibilities may exist, just try it
  • 39. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Where to go from here? • GA Packages – http://www.mysql.com/downloads/ • Documentation – http://dev.mysql.com/doc/refman/5.7/en/group-replication.html • Blogs from the Engineers (news, technical information, and much more) – http://mysqlhighavailability.com 394th of February Oracle / Fosdem 2017
  • 40.
  • 41. Copyright © 2017, Oracle and/or its affiliates. All rights reserved.4th of February Oracle / Fosdem 2017 41 @distributedpete Twitter: Thanks!