SlideShare una empresa de Scribd logo
1 de 74
Descargar para leer sin conexión
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
MySQL High Availability
with Group Replication
Nuno Carvalho (nuno.carvalho@oracle.com)
Principal Software Engineer, MySQL Replication Service Team Lead
1
Copyright © 2016, 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.
2
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Program Agenda
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Program Agenda
Background
MySQL Group Replication
Architecture
Use cases
Performance
Conclusion
1
2
3
4
5
4
6
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Background1
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
M S
S
S
S
M
write clients read clients
read clients
write clients
More
reads?
More
slaves!
Read scale-out
Background: What is Replication Used For?
6
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
C
B
A
C
B
ACrash
C
B
A
B is the
new master
Uh Oh! Whew!
Redundancy: If master crashes, promote slave to master
Background: What is Replication Used For?
7
Copyright © 2016, 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.
8
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
MySQL Group Replication
9
M M M M M
Replication Group
Clients
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 10
Timeline - Server GA and GR Releases
MySQL 5.6.10
MySQL 5.7.9
lifecycle interfaces
P_S tables for GR
Server side changes
GR 0.2.0 labs
Hello world!
GR 0.3.0 labs
support for corosync 2.x
GR 0.4.0 labs
version handling
GR 0.5.0 labs
auto-inc fields handling
recovery enhancements
GR 0.6.0 labs
multi-platform support
Paxos-based consensus
GR 0.7.0 labs
bug fixes
GR 0.8.0 labs (beta)
performance enhancements
replication stream compression
SSL support
IP whitelisting
read-only mode
error log enhancements
split brain handling
GR 0.9.0 labs (RC)
multi-threaded applier support
single primary mode
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
MySQL Group Replication2
2.1 Multi-Master
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
http://mysqlhighavailability.com/mysql-group-replication-transaction-life-cycle-explained/
Multi-Master update everywhere!
• Any two transactions on different servers can write to the same tuple.
• Conflicts will be detected and dealt with.
– First committer wins rule.
12
M M M M M
UPDATE t1 SET a=4 WHERE a=2UPDATE t1 SET a=3 WHERE a=1
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
http://mysqlhighavailability.com/mysql-group-replication-transaction-life-cycle-explained/
Multi-Master update everywhere!
• Any two transactions on different servers can write to the same tuple.
• Conflicts will be detected and dealt with.
– First committer wins rule.
13
M M M M M
UPDATE t1 SET a=4 WHERE a=2UPDATE t1 SET a=3 WHERE a=1
OKOK
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
http://mysqlhighavailability.com/mysql-group-replication-transaction-life-cycle-explained/
Multi-Master update everywhere!
• Any two transactions on different servers can write to the same tuple.
• Conflicts will be detected and dealt with.
– First committer wins rule.
14
M M M M M
UPDATE t1 SET a=2 WHERE a=1UPDATE t1 SET a=3 WHERE a=1
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
http://mysqlhighavailability.com/mysql-group-replication-transaction-life-cycle-explained/
Multi-Master update everywhere!
• Any two transactions on different servers can write to the same tuple.
• Conflicts will be detected and dealt with.
– First committer wins rule.
15
M M M M M
UPDATE t1 SET a=2 WHERE a=1UPDATE t1 SET a=3 WHERE a=1
OK
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
MySQL Group Replication2
2.1
2.2
Multi-Master
Automatic distributed server recovery
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
http://mysqlhighavailability.com/distributed-recovery-behind-the-scenes/
Automatic distributed server recovery!
• Server that joins the group will automatically synchronize with the others.
17
M M M M M N
I want to play with you
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
http://mysqlhighavailability.com/distributed-recovery-behind-the-scenes/
Automatic distributed server recovery!
• Server that joins the group will automatically synchronize with the others.
18
M M M M M N
ONLINE
RECOVERING
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
http://mysqlhighavailability.com/distributed-recovery-behind-the-scenes/
Automatic distributed server recovery!
• Server that joins the group will automatically synchronize with the others.
19
M M M M M N
ONLINE
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
http://mysqlhighavailability.com/distributed-recovery-behind-the-scenes/
Automatic distributed server recovery!
• If a server leaves the group, the others will automatically be informed.
20
M M M M M M
My machine needs maintenance
or a system crash happens
Each membership configuration
is identified by a view_id
view_id: 4
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
http://mysqlhighavailability.com/distributed-recovery-behind-the-scenes/
Automatic distributed server recovery!
• If a server leaves the group, the others will automatically be informed.
21
M M M M M
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
http://mysqlhighavailability.com/distributed-recovery-behind-the-scenes/
Automatic distributed server recovery!
• Server that (re)joins the group will automatically synchronize with the
others.
22
M M M M M M
RECOVERING -> ONLINE
view_id: 5
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
MySQL Group Replication2
2.1
2.2
2.3
Multi-Master
Automatic distributed server recovery
MySQL/InnoDB look & feel
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
http://mysqlhighavailability.com/mysql-group-replication-monitoring/
MySQL look & feel!
• MySQL Plugin
– Regular MySQL Plugin. Nothing new.
• MySQL InnoDB
– Use InnoDB as normally you would. Nothing new.
– Transparent optimizations in InnoDB to better support Group Replication.
• MySQL Performance Schema
– Monitor Group Replication using regular Performance Schema tables. Nothing new.
24
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
http://mysqlhighavailability.com/mysql-group-replication-monitoring/
MySQL look & feel!
• Outcome
– Group Replication is no alien component.
– Existing MySQL users feel right at home.
– New MySQL users only have to learn MySQL tech, nothing else.
25
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Full GTID support!
• All group members share the same UUID, the group name.
26
M M M M M
INSERT y;
Will have GTID: group_name:2
INSERT x;
Will have GTID: group_name:1
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Full GTID support!
• Users can specify the identifier for the transaction.
27
M M M M M
INSERT y;
Will have GTID: group_name:1
SET GTID_NEXT= “UUID:50”
INSERT x;
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Full GTID support!
• You can even replicate from a outside server to a group, global identifiers
will be preserved.
28
M M M M M
Conflicts will be detected!
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Full GTID support!
• You can also replicate from a group to a outside server, global identifiers
will be preserved.
29
M M M M M
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
MySQL Group Replication2
2.1
2.2
2.3
2.4
2.5
Multi-Master
Automatic distributed server recovery
MySQL/InnoDB look & feel
Auto-increment configuration/handling
Full GTID support
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Auto-increment configuration/handling
• Group is configured not to generate the same auto-increment value on all
members.
31
M M M M M
INSERT y;
y: 4
INSERT z;
z: 11
INSERT x;
x: 1
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
[1]: http://mysqlhighavailability.com/mysql-group-replication-auto-increment-configuration-handling/
Auto-increment configuration/handling
• By default, the offset is provided by server_id and increment is 7 [1].
32
M M M M M
INSERT y;
y: 4
INSERT z;
z: 11
INSERT x;
x: 1
server_id: 1
server_id: 4
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Auto-increment configuration/handling
• Users can change the increment size to their needs using
GROUP_REPLICATION_AUTO_INCREMENT_INCREMENT option.
33
M M M M M
INSERT y;
y: 4
INSERT z;
z: 11
INSERT x;
x: 1
server_id: 1
server_id: 4
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Plugin version access control
MySQL Group Replication2
2.1
2.2
2.3
2.4
2.5
2.6
Multi-Master
Automatic distributed server recovery
MySQL/InnoDB look & feel
Auto-increment configuration/handling
Full GTID support
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Plugin Version Access Control
• When joining, versions are crucial when determining if a member is
compatible with a group.
35
5.7.13 5.7.13 5.7.14 5.7.15 5.7.12
Member with different patch
version is allowed to join
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Plugin Version Access Control
• When joining, versions are crucial when determining if a member is
compatible with a group.
36
8.0.0 8.0.0 8.0.0 8.0.0 5.7.15
Member with lower major version
than the major version in
the group is not allowed to join
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Plugin Version Access Control
• When joining, versions are crucial when determining if a member is
compatible with a group.
37
5.7.14 5.7.14 5.7.15 5.7.15 8.0.0
Member with higher major
version is allowed to join but
is not allowed to do writes
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Built-in communication engine
Plugin version access control
MySQL Group Replication2
2.1
2.2
2.3
2.4
2.5
2.6
2.7
Multi-Master
Automatic distributed server recovery
MySQL/InnoDB look & feel
Auto-increment configuration/handling
Full GTID support
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
http://mysqlhighavailability.com/mysql-group-replication-for-mysql-5-7-9/
Built-in Communication Engine
• Feature rich new replication plugin based on proven distributed systems
algorithms (Paxos).
– Compression, multi-platform, dynamic membership, distributed agreement, quorum
based message passing, SSL, IP whitelisting.
• No third-party software required.
• No network multicast support required.
– MySQL Group Replication can operate on cloud based installations on which multicast
is not allowed.
39
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Read-only mode
MySQL Group Replication2
2.8
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
http://mysqlhighavailability.com/mysql-group-replication-important-behavior-and-configuration-changes/
Read-only mode
• When a member joins the group, during distributed recovery, read-only
mode is set automatically.
• On a unlikely event of a member failure, read-only mode is set
automatically to prevent inconsistency with the group and member state
changes to ERROR.
41
M M M M M
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Full stack secure connections
Read-only mode
MySQL Group Replication2
2.8
2.9
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
http://mysqlhighavailability.com/mysql-group-replication-securing-the-perimeter/
Full stack secure connections
• Following the industry standards, Group Replication supports secure
connections along the complete stack
– Client connections
– Distributed recovery connections
– Connections between members
• IP Whitelisting
– Restrict which hosts are allowed to connect to the group
– By default it is set to the value AUTOMATIC, which allows connections from private
subnetworks active on the host
43
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Parallel applier support
Full stack secure connections
Read-only mode
MySQL Group Replication2
2.8
2.9
2.10
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Parallel applier support
• Group Replication now also takes full advantage of parallel binary log
applier infrastructure
– Reduces applier lag and improves replication performance considerably
– Configured in the same way as in asynchronous replication
45
--slave_parallel_workers=NUMBER
--slave_parallel_type=logical_clock
--slave_preserve_commit_order=ON
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Single Primary Mode
Parallel applier support
Full stack secure connections
Read-only mode
MySQL Group Replication2
2.8
2.9
2.10
2.11
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
http://mysqlhighavailability.com/mysql-group-replication-for-mysql-5-7-15/
Single Primary Mode
• Configuration mode that makes a single member act as a writeable master
(PRIMARY) and the rest of the members act as hot-standbys (SECONDARY).
– The group itself coordinates automatically to figure out which is the member that will
act as the PRIMARY, through a leader election mechanism.
• Default mode
– Closer to classic asynchronous replication setups, simpler to reason about from the
beginning.
– Avoids some of the limitations of multi-master mode.
47
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
http://mysqlhighavailability.com/mysql-group-replication-for-mysql-5-7-15/
Single Primary Mode
• Automatic leader election mechanism
• Secundaries are automatically set to read-only
48
S S S S P S
Primary
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
http://mysqlhighavailability.com/mysql-group-replication-for-mysql-5-7-15/
Single Primary Mode
• Automatic leader election mechanism
49
S S S P S
Primary
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
http://mysqlhighavailability.com/mysql-group-replication-for-mysql-5-7-15/
Single Primary Mode
• The current primary member UUID can be known by executing the
following SQL statement
50
mysql> SELECT * FROM performance_schema.global_status WHERE
VARIABLE_NAME='group_replication_primary_member';
VARIABLE_NAME VARIABLE_VALUE
group_replication_primary_member dcd3b36b-79c5-11e6-97b8-00212844d44e
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Requirements
Single Primary Mode
Parallel applier support
Full stack secure connections
Read-only mode
MySQL Group Replication2
2.8
2.9
2.10
2.11
2.12
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
• Concurrent DDL (on multi-master)
Requirements (by design)
• Requires InnoDB storage engine
• Primary key is required on every table
• Requires global transaction identifiers
turned on
• Requires binary log turned on
• Requires binary log row format
• Optimistic execution: transactions may
abort on COMMIT due to conflicts
with concurrent transactions on other
members
• Up to 9 servers in the group
52
• Serializable (on multi-master)
• Cascading Foreign Keys (on multi-master)
• Transaction savepoints
• Binary log events checksum
Forbidden
Warnings
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Architecture
Introduction
3
3.1
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
MySQL Group Replication is
• Built on top of proven technology!
– Shares many pieces of MySQL Replication.
– Multi-Master approach to replication.
• Built on reusable components!
– Layered implementation approach.
– Interface driven development.
– Decoupled from the server core.
– The plugin registers as listener to server events.
– Reuses the capture procedure from regular replication.
– Provides further decoupling from the communication infrasctructure.
54
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Major Building Blocks
Architecture
Introduction
3
3.1
3.2
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Major Building Blocks (1)
56
M M M M M
Com. API
Replication
Plugin
API
MySQL
Server
Group Comm.
System (Corosync)
Group Com. Engine
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Major Building Blocks (2)
• Server calls into the plugin through a generic
interface
– (Most of server) internals are hidden from the plugin.
– Some of the semi-sync interfaces were reused. Others
were created.
• Plugin interacts with the server through a generic
interface
– Replication plugin determines the fate of the commit
operation through a well defined server interface.
– The plugin makes use of the relay log infrastructure to
inject changes in the receiving server.
57
Com. API
Replication
Plugin
API
MySQL
Server
Group Comm.
System (Corosync)
Group Com. Engine
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Major Building Blocks (3)
• The plugin is responsible for
– Maintaining distributed execution context.
– Detecting conflicts.
– Handling distributed recovery:
• Detect membership changes;
• Donate state if needed;
• Collect state if needed.
– Receiving and handling transactions from other
members.
– Deciding the fate of on-going transactions.
58
Com. API
Replication
Plugin
API
MySQL
Server
Group Comm.
System (Corosync)
Group Com. Engine
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Major Building Blocks (4)
• The communication API (and bindings) is
responsible for:
– Abstracting the underlaying communication engine
from the plugin itself.
– Mapping the interface to a specific communication
engine.
59
Com. API
Replication
Plugin
API
MySQL
Server
Group Comm.
System (Corosync)
Group Com. Engine
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Major Building Blocks (5)
• The communication engine:
– Variant of Paxos developed at MySQL.
– Building block to provide distributed agreement
between servers.
60
Com. API
Replication
Plugin
API
MySQL
Server
Group Comm.
System (Corosync)
Group Com. Engine
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
The Complete Stack
Major Building Blocks
Architecture
Introduction
3
3.1
3.2
3.3
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
The Complete Stack
62
API
Replication
Plugin
API
MySQL
Server
Performance Schema Tables: Monitoring
MySQL
APIs: Lifecycle / Capture / Applier
InnoDB
Replication Protocol
Group Com. API
Group Com. Engine
Network
Plugin
Capture Applier
Conflicts
Handler
Group Comm.
System (Corosync)
Group Com. Engine
Group Com. Binding
Recovery
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Use cases4
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Use Cases
• Elastic Replication
– Environments that require a very fluid replication infrastructure, where the number
of servers has to grow or shrink dynamically and with as little pain as possible.
64
M M M M M
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Use Cases
• Highly Available Shards
– Sharding is a popular approach to achieve write scale-out. Users can use MySQL
Group Replication to implement highly available shards. Each shard can map into a
Replication Group.
65
M M M M M M M M M M M M M M M
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Use Cases
• Alternative to Master-Slave replication
• Single Primary mode provides further automation on such setups
– Automatic PRIMARY/SECONDARY roles assignment
– Automatic new PRIMARY election on PRIMARY failures
– Automatic setup of read/write modes on PRIMARY and SECONDARIES
– Global consistent view of which server is the PRIMARY
66
S S S S P S
Primary
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Performance5
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Performance
68
5000
10000
15000
20000
25000
30000
2 3 5 7 9
THROUGHPUT(TPS)
NUMBER OF SERVERS IN THE GROUP.
Group Replication Throughput
(as perceived by the client application)
Single-master Sustained Single-master Peak Multi-master Sustained
Multi-master Peak Single-server (MySQL 5.7.14)
Replication Performance blogs at:
http://mysqlhighavailability.com/category/performance/
Servers
9 Dual Xeon E5-2660-v3
Enterprise SSD Storage
10Gbps Ethernet Network
Client
1 Dual Xeon E5-2699-v3
10Gbps Ethernet Network
Sysbench 0.5 RW workload
Peak Throughput
The number of transactions that
writers can propagate to the group
(per second).
Sustained Throughput
The number of transactions that
can be propagated to the group
without increasing the replication
lag on any member (per second).
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Performance
69
• On a sustained throughput:
– Multi-master performance degrades gracefully while going from a group with 2
servers to a group with 9 servers.
– Single primary performance degrades marginally when growing the group size.
• On a peak throughput:
– Multi-master exhibits 1.8X speedup when compared to the single server.
• Read load is balanced across the servers in the group.
• Write load is lower since execution is balanced across the group, whereas in single primary mode the
primary becomes a bottleneck.
– With a single primary there is no lag on the other members.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Conclusion6
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Summary
• Cloud Friendly
– Great techonology for deployments where elasticity is a requirement, such as cloud
based infrastructures.
• Integrated
– With server core through a well defined API.
– With GTIDs, row based replication, performance schema tables.
• Autonomic and Operations Friendly
– It is self-healing: no admin overhead for handling server fail-overs.
– Provides fault-tolerance, enables multi-master update everywhere and a dependable
MySQL service.
• Lab releases provide a sneak peek at what is coming - a new replication plugin which is
the core for the new MySQL InnoDB Cluster.
71
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
MySQL InnoDB Cluster: The End Goal
72
S1 S2 S3 S4 S…
M
M M
MySQL Connector
Application
MySQL Router
MySQL Connector
Application
MySQL Router
MySQL Shell
HA
ReplicaSet1
S1 S2 S3 S4 S…
M
M M
MySQL Connector
Application
MySQL Router
HA
ReplicaSet2
ReplicaSet3
MySQL Connector
Application
MySQL Router
S1 S2 S3 S4
M
M M
HA
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Where to go from here?
• Packages
– http://labs.mysql.com
• Blogs from the Engineers (news, technical information, and much more)
– http://mysqlhighavailability.com
73
MySQL High Availability with Group Replication

Más contenido relacionado

La actualidad más candente

Percona Live 2022 - MySQL Architectures
Percona Live 2022 - MySQL ArchitecturesPercona Live 2022 - MySQL Architectures
Percona Live 2022 - MySQL ArchitecturesFrederic Descamps
 
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...Olivier DASINI
 
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQLMySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQLOlivier DASINI
 
MySQL InnoDB Cluster: High Availability Made Easy!
MySQL InnoDB Cluster: High Availability Made Easy!MySQL InnoDB Cluster: High Availability Made Easy!
MySQL InnoDB Cluster: High Availability Made Easy!Vittorio Cioe
 
MySQL Database Architectures - High Availability and Disaster Recovery Solution
MySQL Database Architectures - High Availability and Disaster Recovery SolutionMySQL Database Architectures - High Availability and Disaster Recovery Solution
MySQL Database Architectures - High Availability and Disaster Recovery SolutionMiguel Araújo
 
Another MySQL HA Solution for ProxySQL Users, Easy and All Integrated: MySQL ...
Another MySQL HA Solution for ProxySQL Users, Easy and All Integrated: MySQL ...Another MySQL HA Solution for ProxySQL Users, Easy and All Integrated: MySQL ...
Another MySQL HA Solution for ProxySQL Users, Easy and All Integrated: MySQL ...Frederic Descamps
 
MariaDB Galera Cluster
MariaDB Galera ClusterMariaDB Galera Cluster
MariaDB Galera ClusterAbdul Manaf
 
Oracle Real Application Clusters (RAC) 12c Rel. 2 - Operational Best Practices
Oracle Real Application Clusters (RAC) 12c Rel. 2 - Operational Best PracticesOracle Real Application Clusters (RAC) 12c Rel. 2 - Operational Best Practices
Oracle Real Application Clusters (RAC) 12c Rel. 2 - Operational Best PracticesMarkus Michalewicz
 
Oracle RAC 12c Best Practices with Appendices DOAG2013
Oracle RAC 12c Best Practices with Appendices DOAG2013Oracle RAC 12c Best Practices with Appendices DOAG2013
Oracle RAC 12c Best Practices with Appendices DOAG2013Markus Michalewicz
 
The Oracle RAC Family of Solutions - Presentation
The Oracle RAC Family of Solutions - PresentationThe Oracle RAC Family of Solutions - Presentation
The Oracle RAC Family of Solutions - PresentationMarkus Michalewicz
 
Percona Live 2022 - The Evolution of a MySQL Database System
Percona Live 2022 - The Evolution of a MySQL Database SystemPercona Live 2022 - The Evolution of a MySQL Database System
Percona Live 2022 - The Evolution of a MySQL Database SystemFrederic Descamps
 
MySQL InnoDB Cluster - Advanced Configuration & Operations
MySQL InnoDB Cluster - Advanced Configuration & OperationsMySQL InnoDB Cluster - Advanced Configuration & Operations
MySQL InnoDB Cluster - Advanced Configuration & OperationsFrederic Descamps
 
Oracle Extended Clusters for Oracle RAC
Oracle Extended Clusters for Oracle RACOracle Extended Clusters for Oracle RAC
Oracle Extended Clusters for Oracle RACMarkus Michalewicz
 
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
 
MySQL InnoDB Cluster and NDB Cluster
MySQL InnoDB Cluster and NDB ClusterMySQL InnoDB Cluster and NDB Cluster
MySQL InnoDB Cluster and NDB ClusterMario Beck
 
Disaster Recovery and High Availability with Kafka, SRM and MM2
Disaster Recovery and High Availability with Kafka, SRM and MM2Disaster Recovery and High Availability with Kafka, SRM and MM2
Disaster Recovery and High Availability with Kafka, SRM and MM2Abdelkrim Hadjidj
 
Less05 asm instance
Less05 asm instanceLess05 asm instance
Less05 asm instanceAmit Bhalla
 
Introduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterIntroduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterFrederic Descamps
 
Maria db 이중화구성_고민하기
Maria db 이중화구성_고민하기Maria db 이중화구성_고민하기
Maria db 이중화구성_고민하기NeoClova
 

La actualidad más candente (20)

Percona Live 2022 - MySQL Architectures
Percona Live 2022 - MySQL ArchitecturesPercona Live 2022 - MySQL Architectures
Percona Live 2022 - MySQL Architectures
 
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
 
InnoDb Vs NDB Cluster
InnoDb Vs NDB ClusterInnoDb Vs NDB Cluster
InnoDb Vs NDB Cluster
 
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQLMySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
 
MySQL InnoDB Cluster: High Availability Made Easy!
MySQL InnoDB Cluster: High Availability Made Easy!MySQL InnoDB Cluster: High Availability Made Easy!
MySQL InnoDB Cluster: High Availability Made Easy!
 
MySQL Database Architectures - High Availability and Disaster Recovery Solution
MySQL Database Architectures - High Availability and Disaster Recovery SolutionMySQL Database Architectures - High Availability and Disaster Recovery Solution
MySQL Database Architectures - High Availability and Disaster Recovery Solution
 
Another MySQL HA Solution for ProxySQL Users, Easy and All Integrated: MySQL ...
Another MySQL HA Solution for ProxySQL Users, Easy and All Integrated: MySQL ...Another MySQL HA Solution for ProxySQL Users, Easy and All Integrated: MySQL ...
Another MySQL HA Solution for ProxySQL Users, Easy and All Integrated: MySQL ...
 
MariaDB Galera Cluster
MariaDB Galera ClusterMariaDB Galera Cluster
MariaDB Galera Cluster
 
Oracle Real Application Clusters (RAC) 12c Rel. 2 - Operational Best Practices
Oracle Real Application Clusters (RAC) 12c Rel. 2 - Operational Best PracticesOracle Real Application Clusters (RAC) 12c Rel. 2 - Operational Best Practices
Oracle Real Application Clusters (RAC) 12c Rel. 2 - Operational Best Practices
 
Oracle RAC 12c Best Practices with Appendices DOAG2013
Oracle RAC 12c Best Practices with Appendices DOAG2013Oracle RAC 12c Best Practices with Appendices DOAG2013
Oracle RAC 12c Best Practices with Appendices DOAG2013
 
The Oracle RAC Family of Solutions - Presentation
The Oracle RAC Family of Solutions - PresentationThe Oracle RAC Family of Solutions - Presentation
The Oracle RAC Family of Solutions - Presentation
 
Percona Live 2022 - The Evolution of a MySQL Database System
Percona Live 2022 - The Evolution of a MySQL Database SystemPercona Live 2022 - The Evolution of a MySQL Database System
Percona Live 2022 - The Evolution of a MySQL Database System
 
MySQL InnoDB Cluster - Advanced Configuration & Operations
MySQL InnoDB Cluster - Advanced Configuration & OperationsMySQL InnoDB Cluster - Advanced Configuration & Operations
MySQL InnoDB Cluster - Advanced Configuration & Operations
 
Oracle Extended Clusters for Oracle RAC
Oracle Extended Clusters for Oracle RACOracle Extended Clusters for Oracle RAC
Oracle Extended Clusters for Oracle RAC
 
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
 
MySQL InnoDB Cluster and NDB Cluster
MySQL InnoDB Cluster and NDB ClusterMySQL InnoDB Cluster and NDB Cluster
MySQL InnoDB Cluster and NDB Cluster
 
Disaster Recovery and High Availability with Kafka, SRM and MM2
Disaster Recovery and High Availability with Kafka, SRM and MM2Disaster Recovery and High Availability with Kafka, SRM and MM2
Disaster Recovery and High Availability with Kafka, SRM and MM2
 
Less05 asm instance
Less05 asm instanceLess05 asm instance
Less05 asm instance
 
Introduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterIntroduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB Cluster
 
Maria db 이중화구성_고민하기
Maria db 이중화구성_고민하기Maria db 이중화구성_고민하기
Maria db 이중화구성_고민하기
 

Destacado

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参数-GDB
Mysql参数-GDBMysql参数-GDB
Mysql参数-GDBzhaolinjnu
 
Galera cluster for high availability
Galera cluster for high availability Galera cluster for high availability
Galera cluster for high availability Mydbops
 
Online MySQL Backups with Percona XtraBackup
Online MySQL Backups with Percona XtraBackupOnline MySQL Backups with Percona XtraBackup
Online MySQL Backups with Percona XtraBackupKenny Gryp
 
Reducing Risk When Upgrading MySQL
Reducing Risk When Upgrading MySQLReducing Risk When Upgrading MySQL
Reducing Risk When Upgrading MySQLKenny Gryp
 
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
 
淘宝数据库架构演进历程
淘宝数据库架构演进历程淘宝数据库架构演进历程
淘宝数据库架构演进历程zhaolinjnu
 
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
 
MySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group ReplicationMySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group ReplicationFrederic Descamps
 
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
 
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
 
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 Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group ReplicationManish Kumar
 
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхМониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхSveta Smirnova
 
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
 
Lessons Learned: Troubleshooting Replication
Lessons Learned: Troubleshooting ReplicationLessons Learned: Troubleshooting Replication
Lessons Learned: Troubleshooting ReplicationSveta Smirnova
 
MySQL Replication Performance Tuning for Fun and Profit!
MySQL Replication Performance Tuning for Fun and Profit!MySQL Replication Performance Tuning for Fun and Profit!
MySQL Replication Performance Tuning for Fun and Profit!Vitor Oliveira
 
MySQL 5.7: Focus on InnoDB
MySQL 5.7: Focus on InnoDBMySQL 5.7: Focus on InnoDB
MySQL 5.7: Focus on InnoDBMario Beck
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group ReplicationKenny Gryp
 

Destacado (20)

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参数-GDB
Mysql参数-GDBMysql参数-GDB
Mysql参数-GDB
 
Galera cluster for high availability
Galera cluster for high availability Galera cluster for high availability
Galera cluster for high availability
 
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
 
Online MySQL Backups with Percona XtraBackup
Online MySQL Backups with Percona XtraBackupOnline MySQL Backups with Percona XtraBackup
Online MySQL Backups with Percona XtraBackup
 
Reducing Risk When Upgrading MySQL
Reducing Risk When Upgrading MySQLReducing Risk When Upgrading MySQL
Reducing Risk When Upgrading MySQL
 
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
 
淘宝数据库架构演进历程
淘宝数据库架构演进历程淘宝数据库架构演进历程
淘宝数据库架构演进历程
 
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
 
MySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group ReplicationMySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group Replication
 
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
 
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
 
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 Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group Replication
 
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхМониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
 
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
 
Lessons Learned: Troubleshooting Replication
Lessons Learned: Troubleshooting ReplicationLessons Learned: Troubleshooting Replication
Lessons Learned: Troubleshooting Replication
 
MySQL Replication Performance Tuning for Fun and Profit!
MySQL Replication Performance Tuning for Fun and Profit!MySQL Replication Performance Tuning for Fun and Profit!
MySQL Replication Performance Tuning for Fun and Profit!
 
MySQL 5.7: Focus on InnoDB
MySQL 5.7: Focus on InnoDBMySQL 5.7: Focus on InnoDB
MySQL 5.7: Focus on InnoDB
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group Replication
 

Similar a MySQL High Availability with Group Replication

MySQL Group Replication - an Overview
MySQL Group Replication - an OverviewMySQL Group Replication - an Overview
MySQL Group Replication - an OverviewMatt Lord
 
MySQL High Availability -- InnoDB Clusters
MySQL High Availability -- InnoDB ClustersMySQL High Availability -- InnoDB Clusters
MySQL High Availability -- InnoDB ClustersMatt Lord
 
Hkosc group replication-lecture_lab07
Hkosc group replication-lecture_lab07Hkosc group replication-lecture_lab07
Hkosc group replication-lecture_lab07Ivan Ma
 
MySQL InnoDB Cluster HA Overview & Demo
MySQL InnoDB Cluster HA Overview & DemoMySQL InnoDB Cluster HA Overview & Demo
MySQL InnoDB Cluster HA Overview & DemoKeith Hollman
 
MySQL 8 High Availability with InnoDB Clusters
MySQL 8 High Availability with InnoDB ClustersMySQL 8 High Availability with InnoDB Clusters
MySQL 8 High Availability with InnoDB ClustersMiguel Araújo
 
MySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB Cluster
MySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB ClusterMySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB Cluster
MySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB ClusterOlivier 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
 
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
 
Deep Dive into MySQL InnoDB Cluster Read Scale-out Capabilities.pdf
Deep Dive into MySQL InnoDB Cluster Read Scale-out Capabilities.pdfDeep Dive into MySQL InnoDB Cluster Read Scale-out Capabilities.pdf
Deep Dive into MySQL InnoDB Cluster Read Scale-out Capabilities.pdfMiguel Araújo
 
MySQL Group Replication - HandsOn Tutorial
MySQL Group Replication - HandsOn TutorialMySQL Group Replication - HandsOn Tutorial
MySQL Group Replication - HandsOn TutorialKenny Gryp
 
Mysql repos testing.odp
Mysql repos testing.odpMysql repos testing.odp
Mysql repos testing.odpRamana Yeruva
 
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 Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0
MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0
MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0Olivier DASINI
 
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 for Software-as-a-Service (SaaS)
MySQL for Software-as-a-Service (SaaS)MySQL for Software-as-a-Service (SaaS)
MySQL for Software-as-a-Service (SaaS)Mario Beck
 
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
 
Replication Whats New in Mysql 8
Replication Whats New in Mysql 8Replication Whats New in Mysql 8
Replication Whats New in Mysql 8Luís Soares
 

Similar a MySQL High Availability with Group Replication (20)

MySQL Group Replication - an Overview
MySQL Group Replication - an OverviewMySQL Group Replication - an Overview
MySQL Group Replication - an Overview
 
MySQL High Availability -- InnoDB Clusters
MySQL High Availability -- InnoDB ClustersMySQL High Availability -- InnoDB Clusters
MySQL High Availability -- InnoDB Clusters
 
Hkosc group replication-lecture_lab07
Hkosc group replication-lecture_lab07Hkosc group replication-lecture_lab07
Hkosc group replication-lecture_lab07
 
MySQL InnoDB Cluster HA Overview & Demo
MySQL InnoDB Cluster HA Overview & DemoMySQL InnoDB Cluster HA Overview & Demo
MySQL InnoDB Cluster HA Overview & Demo
 
MySQL 8 High Availability with InnoDB Clusters
MySQL 8 High Availability with InnoDB ClustersMySQL 8 High Availability with InnoDB Clusters
MySQL 8 High Availability with InnoDB Clusters
 
MySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB Cluster
MySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB ClusterMySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB Cluster
MySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB Cluster
 
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 !
 
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
 
My sql8 innodb_cluster
My sql8 innodb_clusterMy sql8 innodb_cluster
My sql8 innodb_cluster
 
Deep Dive into MySQL InnoDB Cluster Read Scale-out Capabilities.pdf
Deep Dive into MySQL InnoDB Cluster Read Scale-out Capabilities.pdfDeep Dive into MySQL InnoDB Cluster Read Scale-out Capabilities.pdf
Deep Dive into MySQL InnoDB Cluster Read Scale-out Capabilities.pdf
 
MySQL Group Replication - HandsOn Tutorial
MySQL Group Replication - HandsOn TutorialMySQL Group Replication - HandsOn Tutorial
MySQL Group Replication - HandsOn Tutorial
 
Mysql repos testing.odp
Mysql repos testing.odpMysql repos testing.odp
Mysql repos testing.odp
 
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 Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0
MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0
MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0
 
MySQL HA
MySQL HAMySQL HA
MySQL HA
 
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 for Software-as-a-Service (SaaS)
MySQL for Software-as-a-Service (SaaS)MySQL for Software-as-a-Service (SaaS)
MySQL for Software-as-a-Service (SaaS)
 
Sunshine php my sql 8.0 v2
Sunshine php my sql 8.0 v2Sunshine php my sql 8.0 v2
Sunshine php my sql 8.0 v2
 
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
 
Replication Whats New in Mysql 8
Replication Whats New in Mysql 8Replication Whats New in Mysql 8
Replication Whats New in Mysql 8
 

Último

The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...kalichargn70th171
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedDelhi Call girls
 

Último (20)

The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide Deck
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
 

MySQL High Availability with Group Replication

  • 1. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | MySQL High Availability with Group Replication Nuno Carvalho (nuno.carvalho@oracle.com) Principal Software Engineer, MySQL Replication Service Team Lead 1
  • 2. Copyright © 2016, 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. 2
  • 3. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Program Agenda
  • 4. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Program Agenda Background MySQL Group Replication Architecture Use cases Performance Conclusion 1 2 3 4 5 4 6
  • 5. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Background1
  • 6. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | M S S S S M write clients read clients read clients write clients More reads? More slaves! Read scale-out Background: What is Replication Used For? 6
  • 7. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | C B A C B ACrash C B A B is the new master Uh Oh! Whew! Redundancy: If master crashes, promote slave to master Background: What is Replication Used For? 7
  • 8. Copyright © 2016, 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. 8
  • 9. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | MySQL Group Replication 9 M M M M M Replication Group Clients
  • 10. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 10 Timeline - Server GA and GR Releases MySQL 5.6.10 MySQL 5.7.9 lifecycle interfaces P_S tables for GR Server side changes GR 0.2.0 labs Hello world! GR 0.3.0 labs support for corosync 2.x GR 0.4.0 labs version handling GR 0.5.0 labs auto-inc fields handling recovery enhancements GR 0.6.0 labs multi-platform support Paxos-based consensus GR 0.7.0 labs bug fixes GR 0.8.0 labs (beta) performance enhancements replication stream compression SSL support IP whitelisting read-only mode error log enhancements split brain handling GR 0.9.0 labs (RC) multi-threaded applier support single primary mode
  • 11. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | MySQL Group Replication2 2.1 Multi-Master
  • 12. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | http://mysqlhighavailability.com/mysql-group-replication-transaction-life-cycle-explained/ Multi-Master update everywhere! • Any two transactions on different servers can write to the same tuple. • Conflicts will be detected and dealt with. – First committer wins rule. 12 M M M M M UPDATE t1 SET a=4 WHERE a=2UPDATE t1 SET a=3 WHERE a=1
  • 13. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | http://mysqlhighavailability.com/mysql-group-replication-transaction-life-cycle-explained/ Multi-Master update everywhere! • Any two transactions on different servers can write to the same tuple. • Conflicts will be detected and dealt with. – First committer wins rule. 13 M M M M M UPDATE t1 SET a=4 WHERE a=2UPDATE t1 SET a=3 WHERE a=1 OKOK
  • 14. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | http://mysqlhighavailability.com/mysql-group-replication-transaction-life-cycle-explained/ Multi-Master update everywhere! • Any two transactions on different servers can write to the same tuple. • Conflicts will be detected and dealt with. – First committer wins rule. 14 M M M M M UPDATE t1 SET a=2 WHERE a=1UPDATE t1 SET a=3 WHERE a=1
  • 15. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | http://mysqlhighavailability.com/mysql-group-replication-transaction-life-cycle-explained/ Multi-Master update everywhere! • Any two transactions on different servers can write to the same tuple. • Conflicts will be detected and dealt with. – First committer wins rule. 15 M M M M M UPDATE t1 SET a=2 WHERE a=1UPDATE t1 SET a=3 WHERE a=1 OK
  • 16. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | MySQL Group Replication2 2.1 2.2 Multi-Master Automatic distributed server recovery
  • 17. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | http://mysqlhighavailability.com/distributed-recovery-behind-the-scenes/ Automatic distributed server recovery! • Server that joins the group will automatically synchronize with the others. 17 M M M M M N I want to play with you
  • 18. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | http://mysqlhighavailability.com/distributed-recovery-behind-the-scenes/ Automatic distributed server recovery! • Server that joins the group will automatically synchronize with the others. 18 M M M M M N ONLINE RECOVERING
  • 19. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | http://mysqlhighavailability.com/distributed-recovery-behind-the-scenes/ Automatic distributed server recovery! • Server that joins the group will automatically synchronize with the others. 19 M M M M M N ONLINE
  • 20. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | http://mysqlhighavailability.com/distributed-recovery-behind-the-scenes/ Automatic distributed server recovery! • If a server leaves the group, the others will automatically be informed. 20 M M M M M M My machine needs maintenance or a system crash happens Each membership configuration is identified by a view_id view_id: 4
  • 21. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | http://mysqlhighavailability.com/distributed-recovery-behind-the-scenes/ Automatic distributed server recovery! • If a server leaves the group, the others will automatically be informed. 21 M M M M M
  • 22. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | http://mysqlhighavailability.com/distributed-recovery-behind-the-scenes/ Automatic distributed server recovery! • Server that (re)joins the group will automatically synchronize with the others. 22 M M M M M M RECOVERING -> ONLINE view_id: 5
  • 23. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | MySQL Group Replication2 2.1 2.2 2.3 Multi-Master Automatic distributed server recovery MySQL/InnoDB look & feel
  • 24. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | http://mysqlhighavailability.com/mysql-group-replication-monitoring/ MySQL look & feel! • MySQL Plugin – Regular MySQL Plugin. Nothing new. • MySQL InnoDB – Use InnoDB as normally you would. Nothing new. – Transparent optimizations in InnoDB to better support Group Replication. • MySQL Performance Schema – Monitor Group Replication using regular Performance Schema tables. Nothing new. 24
  • 25. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | http://mysqlhighavailability.com/mysql-group-replication-monitoring/ MySQL look & feel! • Outcome – Group Replication is no alien component. – Existing MySQL users feel right at home. – New MySQL users only have to learn MySQL tech, nothing else. 25
  • 26. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Full GTID support! • All group members share the same UUID, the group name. 26 M M M M M INSERT y; Will have GTID: group_name:2 INSERT x; Will have GTID: group_name:1
  • 27. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Full GTID support! • Users can specify the identifier for the transaction. 27 M M M M M INSERT y; Will have GTID: group_name:1 SET GTID_NEXT= “UUID:50” INSERT x;
  • 28. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Full GTID support! • You can even replicate from a outside server to a group, global identifiers will be preserved. 28 M M M M M Conflicts will be detected!
  • 29. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Full GTID support! • You can also replicate from a group to a outside server, global identifiers will be preserved. 29 M M M M M
  • 30. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | MySQL Group Replication2 2.1 2.2 2.3 2.4 2.5 Multi-Master Automatic distributed server recovery MySQL/InnoDB look & feel Auto-increment configuration/handling Full GTID support
  • 31. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Auto-increment configuration/handling • Group is configured not to generate the same auto-increment value on all members. 31 M M M M M INSERT y; y: 4 INSERT z; z: 11 INSERT x; x: 1
  • 32. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | [1]: http://mysqlhighavailability.com/mysql-group-replication-auto-increment-configuration-handling/ Auto-increment configuration/handling • By default, the offset is provided by server_id and increment is 7 [1]. 32 M M M M M INSERT y; y: 4 INSERT z; z: 11 INSERT x; x: 1 server_id: 1 server_id: 4
  • 33. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Auto-increment configuration/handling • Users can change the increment size to their needs using GROUP_REPLICATION_AUTO_INCREMENT_INCREMENT option. 33 M M M M M INSERT y; y: 4 INSERT z; z: 11 INSERT x; x: 1 server_id: 1 server_id: 4
  • 34. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Plugin version access control MySQL Group Replication2 2.1 2.2 2.3 2.4 2.5 2.6 Multi-Master Automatic distributed server recovery MySQL/InnoDB look & feel Auto-increment configuration/handling Full GTID support
  • 35. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Plugin Version Access Control • When joining, versions are crucial when determining if a member is compatible with a group. 35 5.7.13 5.7.13 5.7.14 5.7.15 5.7.12 Member with different patch version is allowed to join
  • 36. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Plugin Version Access Control • When joining, versions are crucial when determining if a member is compatible with a group. 36 8.0.0 8.0.0 8.0.0 8.0.0 5.7.15 Member with lower major version than the major version in the group is not allowed to join
  • 37. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Plugin Version Access Control • When joining, versions are crucial when determining if a member is compatible with a group. 37 5.7.14 5.7.14 5.7.15 5.7.15 8.0.0 Member with higher major version is allowed to join but is not allowed to do writes
  • 38. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Built-in communication engine Plugin version access control MySQL Group Replication2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 Multi-Master Automatic distributed server recovery MySQL/InnoDB look & feel Auto-increment configuration/handling Full GTID support
  • 39. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | http://mysqlhighavailability.com/mysql-group-replication-for-mysql-5-7-9/ Built-in Communication Engine • Feature rich new replication plugin based on proven distributed systems algorithms (Paxos). – Compression, multi-platform, dynamic membership, distributed agreement, quorum based message passing, SSL, IP whitelisting. • No third-party software required. • No network multicast support required. – MySQL Group Replication can operate on cloud based installations on which multicast is not allowed. 39
  • 40. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Read-only mode MySQL Group Replication2 2.8
  • 41. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | http://mysqlhighavailability.com/mysql-group-replication-important-behavior-and-configuration-changes/ Read-only mode • When a member joins the group, during distributed recovery, read-only mode is set automatically. • On a unlikely event of a member failure, read-only mode is set automatically to prevent inconsistency with the group and member state changes to ERROR. 41 M M M M M
  • 42. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Full stack secure connections Read-only mode MySQL Group Replication2 2.8 2.9
  • 43. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | http://mysqlhighavailability.com/mysql-group-replication-securing-the-perimeter/ Full stack secure connections • Following the industry standards, Group Replication supports secure connections along the complete stack – Client connections – Distributed recovery connections – Connections between members • IP Whitelisting – Restrict which hosts are allowed to connect to the group – By default it is set to the value AUTOMATIC, which allows connections from private subnetworks active on the host 43
  • 44. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Parallel applier support Full stack secure connections Read-only mode MySQL Group Replication2 2.8 2.9 2.10
  • 45. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Parallel applier support • Group Replication now also takes full advantage of parallel binary log applier infrastructure – Reduces applier lag and improves replication performance considerably – Configured in the same way as in asynchronous replication 45 --slave_parallel_workers=NUMBER --slave_parallel_type=logical_clock --slave_preserve_commit_order=ON
  • 46. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Single Primary Mode Parallel applier support Full stack secure connections Read-only mode MySQL Group Replication2 2.8 2.9 2.10 2.11
  • 47. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | http://mysqlhighavailability.com/mysql-group-replication-for-mysql-5-7-15/ Single Primary Mode • Configuration mode that makes a single member act as a writeable master (PRIMARY) and the rest of the members act as hot-standbys (SECONDARY). – The group itself coordinates automatically to figure out which is the member that will act as the PRIMARY, through a leader election mechanism. • Default mode – Closer to classic asynchronous replication setups, simpler to reason about from the beginning. – Avoids some of the limitations of multi-master mode. 47
  • 48. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | http://mysqlhighavailability.com/mysql-group-replication-for-mysql-5-7-15/ Single Primary Mode • Automatic leader election mechanism • Secundaries are automatically set to read-only 48 S S S S P S Primary
  • 49. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | http://mysqlhighavailability.com/mysql-group-replication-for-mysql-5-7-15/ Single Primary Mode • Automatic leader election mechanism 49 S S S P S Primary
  • 50. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | http://mysqlhighavailability.com/mysql-group-replication-for-mysql-5-7-15/ Single Primary Mode • The current primary member UUID can be known by executing the following SQL statement 50 mysql> SELECT * FROM performance_schema.global_status WHERE VARIABLE_NAME='group_replication_primary_member'; VARIABLE_NAME VARIABLE_VALUE group_replication_primary_member dcd3b36b-79c5-11e6-97b8-00212844d44e
  • 51. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Requirements Single Primary Mode Parallel applier support Full stack secure connections Read-only mode MySQL Group Replication2 2.8 2.9 2.10 2.11 2.12
  • 52. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | • Concurrent DDL (on multi-master) Requirements (by design) • Requires InnoDB storage engine • Primary key is required on every table • Requires global transaction identifiers turned on • Requires binary log turned on • Requires binary log row format • Optimistic execution: transactions may abort on COMMIT due to conflicts with concurrent transactions on other members • Up to 9 servers in the group 52 • Serializable (on multi-master) • Cascading Foreign Keys (on multi-master) • Transaction savepoints • Binary log events checksum Forbidden Warnings
  • 53. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Architecture Introduction 3 3.1
  • 54. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | MySQL Group Replication is • Built on top of proven technology! – Shares many pieces of MySQL Replication. – Multi-Master approach to replication. • Built on reusable components! – Layered implementation approach. – Interface driven development. – Decoupled from the server core. – The plugin registers as listener to server events. – Reuses the capture procedure from regular replication. – Provides further decoupling from the communication infrasctructure. 54
  • 55. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Major Building Blocks Architecture Introduction 3 3.1 3.2
  • 56. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Major Building Blocks (1) 56 M M M M M Com. API Replication Plugin API MySQL Server Group Comm. System (Corosync) Group Com. Engine
  • 57. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Major Building Blocks (2) • Server calls into the plugin through a generic interface – (Most of server) internals are hidden from the plugin. – Some of the semi-sync interfaces were reused. Others were created. • Plugin interacts with the server through a generic interface – Replication plugin determines the fate of the commit operation through a well defined server interface. – The plugin makes use of the relay log infrastructure to inject changes in the receiving server. 57 Com. API Replication Plugin API MySQL Server Group Comm. System (Corosync) Group Com. Engine
  • 58. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Major Building Blocks (3) • The plugin is responsible for – Maintaining distributed execution context. – Detecting conflicts. – Handling distributed recovery: • Detect membership changes; • Donate state if needed; • Collect state if needed. – Receiving and handling transactions from other members. – Deciding the fate of on-going transactions. 58 Com. API Replication Plugin API MySQL Server Group Comm. System (Corosync) Group Com. Engine
  • 59. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Major Building Blocks (4) • The communication API (and bindings) is responsible for: – Abstracting the underlaying communication engine from the plugin itself. – Mapping the interface to a specific communication engine. 59 Com. API Replication Plugin API MySQL Server Group Comm. System (Corosync) Group Com. Engine
  • 60. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Major Building Blocks (5) • The communication engine: – Variant of Paxos developed at MySQL. – Building block to provide distributed agreement between servers. 60 Com. API Replication Plugin API MySQL Server Group Comm. System (Corosync) Group Com. Engine
  • 61. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | The Complete Stack Major Building Blocks Architecture Introduction 3 3.1 3.2 3.3
  • 62. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | The Complete Stack 62 API Replication Plugin API MySQL Server Performance Schema Tables: Monitoring MySQL APIs: Lifecycle / Capture / Applier InnoDB Replication Protocol Group Com. API Group Com. Engine Network Plugin Capture Applier Conflicts Handler Group Comm. System (Corosync) Group Com. Engine Group Com. Binding Recovery
  • 63. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Use cases4
  • 64. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Use Cases • Elastic Replication – Environments that require a very fluid replication infrastructure, where the number of servers has to grow or shrink dynamically and with as little pain as possible. 64 M M M M M
  • 65. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Use Cases • Highly Available Shards – Sharding is a popular approach to achieve write scale-out. Users can use MySQL Group Replication to implement highly available shards. Each shard can map into a Replication Group. 65 M M M M M M M M M M M M M M M
  • 66. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Use Cases • Alternative to Master-Slave replication • Single Primary mode provides further automation on such setups – Automatic PRIMARY/SECONDARY roles assignment – Automatic new PRIMARY election on PRIMARY failures – Automatic setup of read/write modes on PRIMARY and SECONDARIES – Global consistent view of which server is the PRIMARY 66 S S S S P S Primary
  • 67. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Performance5
  • 68. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Performance 68 5000 10000 15000 20000 25000 30000 2 3 5 7 9 THROUGHPUT(TPS) NUMBER OF SERVERS IN THE GROUP. Group Replication Throughput (as perceived by the client application) Single-master Sustained Single-master Peak Multi-master Sustained Multi-master Peak Single-server (MySQL 5.7.14) Replication Performance blogs at: http://mysqlhighavailability.com/category/performance/ Servers 9 Dual Xeon E5-2660-v3 Enterprise SSD Storage 10Gbps Ethernet Network Client 1 Dual Xeon E5-2699-v3 10Gbps Ethernet Network Sysbench 0.5 RW workload Peak Throughput The number of transactions that writers can propagate to the group (per second). Sustained Throughput The number of transactions that can be propagated to the group without increasing the replication lag on any member (per second).
  • 69. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Performance 69 • On a sustained throughput: – Multi-master performance degrades gracefully while going from a group with 2 servers to a group with 9 servers. – Single primary performance degrades marginally when growing the group size. • On a peak throughput: – Multi-master exhibits 1.8X speedup when compared to the single server. • Read load is balanced across the servers in the group. • Write load is lower since execution is balanced across the group, whereas in single primary mode the primary becomes a bottleneck. – With a single primary there is no lag on the other members.
  • 70. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Conclusion6
  • 71. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Summary • Cloud Friendly – Great techonology for deployments where elasticity is a requirement, such as cloud based infrastructures. • Integrated – With server core through a well defined API. – With GTIDs, row based replication, performance schema tables. • Autonomic and Operations Friendly – It is self-healing: no admin overhead for handling server fail-overs. – Provides fault-tolerance, enables multi-master update everywhere and a dependable MySQL service. • Lab releases provide a sneak peek at what is coming - a new replication plugin which is the core for the new MySQL InnoDB Cluster. 71
  • 72. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | MySQL InnoDB Cluster: The End Goal 72 S1 S2 S3 S4 S… M M M MySQL Connector Application MySQL Router MySQL Connector Application MySQL Router MySQL Shell HA ReplicaSet1 S1 S2 S3 S4 S… M M M MySQL Connector Application MySQL Router HA ReplicaSet2 ReplicaSet3 MySQL Connector Application MySQL Router S1 S2 S3 S4 M M M HA
  • 73. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Where to go from here? • Packages – http://labs.mysql.com • Blogs from the Engineers (news, technical information, and much more) – http://mysqlhighavailability.com 73