SlideShare uma empresa Scribd logo
1 de 75
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
Everything You Need to Know About
MySQL Group Replication
Nuno Carvalho (nuno.carvalho@oracle.com)
Principal Software Engineer
MySQL Replication Service Team Lead
Luís Soares (luis.soares@oracle.com)
Principal Software Engineer
MySQL Replication Lead
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.
2
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Program Agenda
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Background
Use cases
Deployment modes
Features
Performance
Architecture
Conclusion
Program Agenda
1
2
3
4
5
6
4
7
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Background1
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Database Replication
Server
B
Server
A
App
INSERT ...
INSERT ... INSERT ...
Replication
“The process of generating and reproducing
multiple copies of data at one or more sites.”,
Database Systems: A Practical Approach to Design, Implementation, and
Management, Thomas M. Connolly, Carolyn E. Begg, Third Edition, 2002.
6
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL Database Replication: Overview
INSERT ...
Server
B
binary log
INSERT ...
relay log
INSERT ...
Server
A
binary log
App
Receiver
Meta-data
Update
Applier
Meta-data
Update
INSERT ...
Comm.
Framework
7
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Coordination Between Servers
MySQL Database Replication: Some Notes
A B Since 3.23
A B
semi-synchronous (plugin)
A CB
group replication (plugin)
transactions
transactions
Since 5.5
Since 5.7.17
asynchronous (native)
transactions, membership, coordination
acks
And now in MySQL 8 as of 8.0.1
8
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL Group Replication
• What is MySQL Group Replication?
“Single/Multi-primary 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.
9
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL Group Replication
P P P P P
Replication Group
Clients
10
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
GR 0.8.0 labs (beta)
performance enhancements
replication stream compression
SSL support
IP whitelisting
read-only mode
error log enhancements
split brain handling
The Road to Group Replication in MySQL 8 and InnoDB
Clusters
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.9.0 labs (RC)
multi-threaded applier
support
Single-primary mode
GR is GA in
MySQL Server
5.7.17
...
GR is released with
MySQL 8.0.1 and
InnoDB Cluster GA
11
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Use cases2
Copyright © 2017, 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.
P P P P P
13
Copyright © 2017, 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.
P P P P P P P P P P P P P P P
14
Copyright © 2017, 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
S S S S P S
Primary
15
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Single-primary
Deployment modes3
3.1
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
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 (SECONDARIES).
– The group itself coordinates automatically to figure out which is the member that will
act as the PRIMARY, through a primary election mechanism.
• Single-primary mode is the default mode
– Closer to classic asynchronous replication setups, simpler to reason about from the
beginning.
– Avoids some of the limitations of multi-primary mode by default.
17
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Single-primary mode
• Automatic primary promotion election.
• Secondaries are automatically set to read-only.
S S S S P S
Primary
18
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Single-primary mode
• Automatic primary election mechanism.
S S S P S
Primary
19
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Single-primary mode
• The current primary member UUID can be known by executing the
following SQL statement.
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
20
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Multi-primary
Single-primary
Deployment modes3
3.1
3.2
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Multi-primary update everywhere!
• Configuration mode that makes all members writable
– Enabled by setting option --group_replication_single_primary_mode to OFF
22
P P P P P
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Multi-primary 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.
P P P P P
UPDATE t1 SET a=4 WHERE a=2UPDATE t1 SET a=3 WHERE a=1
23
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Multi-primary 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.
P P P P P
UPDATE t1 SET a=4 WHERE a=2UPDATE t1 SET a=3 WHERE a=1
OKOK
24
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Multi-primary 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.
P P P P P
UPDATE t1 SET a=2 WHERE a=1UPDATE t1 SET a=3 WHERE a=1
25
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Multi-primary 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.
P P P P P
UPDATE t1 SET a=2 WHERE a=1UPDATE t1 SET a=3 WHERE a=1
OK
26
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Automatic distributed server recovery
Features4
4.1
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Automatic distributed server recovery!
• Server that joins the group will automatically synchronize with the others.
P P P P P N
I want to play with you
28
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Automatic distributed server recovery!
• Server that joins the group will automatically synchronize with the others.
P P P P P N
ONLINE
RECOVERING
29
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Automatic distributed server recovery!
• Server that joins the group will automatically synchronize with the others.
P P P P P N
ONLINE
30
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Automatic distributed server recovery!
• If a server leaves the group, the others will automatically be informed.
P P P P P P
My machine needs maintenance
or a system crash happens
Each membership configuration
is identified by a view_id
view_id: 4
31
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Automatic distributed server recovery!
• If a server leaves the group, the others will automatically be informed.
P P P P P
32
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Automatic distributed server recovery!
• Server that (re)joins the group will automatically synchronize with the
others.
P P P P P P
RECOVERING -> ONLINE
view_id: 5
33
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL Look & Feel
Automatic distributed server recovery
Features4
4.1
4.2
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
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.
35
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
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.
36
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Full GTID support
MySQL Look & Feel
Automatic distributed server recovery
Features4
4.1
4.2
4.3
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Full GTID support!
• All group members share the same UUID, the group name.
P P P P P
INSERT y;
Will have GTID: group_name:2
INSERT x;
Will have GTID: group_name:1
38
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Full GTID support!
• Users can specify the identifier for the transaction.
P P P P P
INSERT y;
Will have GTID: group_name:1
SET GTID_NEXT= “UUID:50”
INSERT x;
39
Copyright © 2017, 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.
P P P P P
Conflicts will be detected!
40
Copyright © 2017, 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.
P P P P P
41
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Auto-increment configuration/handling
Full GTID support
MySQL Look & Feel
Automatic distributed server recovery
Features4
4.1
4.2
4.3
4.4
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Auto-increment configuration/handling
• Group is configured to not generate the same auto-increment value on all
members.
P P P P P
INSERT y;
y: 4
INSERT z;
z: 11
INSERT x;
x: 1
43
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Auto-increment configuration/handling
• By default, the offset is provided by server_id and increment is 7.
P P P P P
INSERT y;
y: 4
INSERT z;
z: 11
INSERT x;
x: 1
server_id: 1
server_id: 4
44
Copyright © 2017, 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.
P P P P P
INSERT y;
y: 4
INSERT z;
z: 11
INSERT x;
x: 1
server_id: 1
server_id: 4
45
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Plugin version access control
Auto-increment configuration/handling
Full GTID support
MySQL Look & Feel
Automatic distributed server recovery
Features4
4.1
4.2
4.3
4.4
4.5
Copyright © 2017, 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.
5.7.13 5.7.13 5.7.14 5.7.15 5.7.12
Member with different patch
version is allowed to join
47
Copyright © 2017, 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.
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
48
Copyright © 2017, 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.
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
49
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Built-in communication engine
Plugin version access control
Auto-increment configuration/handling
Full GTID support
MySQL Look & Feel
Automatic distributed server recovery
Features4
4.1
4.2
4.3
4.4
4.5
4.6
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
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 where multicast is
unsupported.
51
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Read-only mode
Built-in communication engine
Plugin version access control
Auto-increment configuration/handling
Full GTID support
MySQL Look & Feel
Automatic distributed server recovery
Features4
4.1
4.2
4.3
4.4
4.5
4.6
4.7
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Read-only mode
• When a member joins the group, during distributed recovery, read-only
mode is automatically set.
• On the unlikely event of a member failure, read-only mode is set
automatically to prevent inconsistency with the group and member state
changes to ERROR.
P P P P P
53
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Full stack secure connections
Features4
4.8
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Full stack secure connections
• Group Replication supports secure connections along the complete stack:
– Distributed recovery connections
– Connections between members
– Client connections
• 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
55
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Parallel applier support
Full stack secure connections
Features4
4.8
4.9
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Parallel applier support
• Reduces applier lag and improves replication performance considerably.
• The same configuration options as asynchronous replication.
--slave_parallel_workers=NUMBER
--slave_parallel_type=logical_clock
--slave_preserve_commit_order=ON
57
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Parallel applier support
• Write set Based Transaction Dependencies
– Already used on Group Replication from the beginning
– Speedup distributed recovery time
master> SET @@GLOBAL.binlog_transaction_dependency_tracking=WRITESET;
Query OK, 0 rows affected (0,00 sec)
master> SET @@GLOBAL.binlog_transaction_dependency_tracking=WRITESET_SESSION;
Query OK, 0 rows affected (0,00 sec)
master> SET @@GLOBAL.binlog_transaction_dependency_tracking=COMMIT_ORDER; -- default
Query OK, 0 rows affected (0,00 sec
58
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Transaction SAVEPOINT support
Parallel applier support
Full stack secure connections
Features4
4.8
4.9
4.10
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Transaction SAVEPOINT support
mysql> BEGIN;
Query OK, 0 rows affected (0,00 sec)
mysql> INSERT INTO t1 VALUES(1);
Query OK, 1 row affected (0,00 sec)
mysql> SAVEPOINT S1;
Query OK, 0 rows affected (0,00 sec)
mysql> INSERT INTO t1 VALUES(2);
Query OK, 1 row affected (0,00 sec)
mysql> ROLLBACK TO S1;
Query OK, 0 rows affected (0,00 sec)
mysql> COMMIT;
Query OK, 0 rows affected (0,00 sec)
60
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Requirements
Transaction SAVEPOINT support
Parallel applier support
Full stack secure connections
Features4
4.8
4.9
4.10
4.11
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
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
• Serializable (on multi-primary)
• Cascading Foreign Keys (on multi-primary)
• Binary log events checksum
Forbidden
• Concurrent DDL (on multi-primary)
• SELECT *** FOR UPDATE does not have
group locking (on multi-primary)
Warnings
62
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Performance5
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Performance
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)
More on this subject on the series of 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 (i.e., no flow control)
The number of transactions that
writers can propagate to the group
(per second).
Sustained Throughput (i.e., flow control)
The number of transactions that can
be propagated to the group without
increasing the replication lag on any
member (per second).
64
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Performance
• On a sustained throughput:
– Multi-primary 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-primary 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.
65
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Architecture
Introduction
6
6.1
Copyright © 2017, 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-primary 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.
67
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Major Building Blocks
Architecture
Introduction
6
6.1
6.2
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Major Building Blocks
M M M M M
Com. API
Replication
Plugin
API
MySQL
Server
Group Comm.
System (Corosync)
Group Com. Engine
69
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
The Complete Stack
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
70
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Conclusion7
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Summary
• Cloud Friendly
– Great technology 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-primary update everywhere and a dependable
MySQL service.
• Plugin GA version available with MySQL 5.7.17+, available on 8.0.1+
72
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL InnoDB Cluster: The End Goal
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 © 2017, Oracle and/or its affiliates. All rights reserved. |
Where to go from here?
• Packages
– http://www.mysql.com/downloads/
• Documentation
– http://dev.mysql.com/doc/refman/5.7/en/group-replication.html
– http://dev.mysql.com/doc/refman/8.0/en/group-replication.html
• Blogs from the Engineers (news, technical information, and much more)
– http://mysqlhighavailability.com
74
Everything You Need to Know About MySQL Group Replication

Mais conteúdo relacionado

Mais procurados

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
 
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
 
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
 
Mix ‘n’ Match Async and Group Replication for Advanced Replication Setups
Mix ‘n’ Match Async and Group Replication for Advanced Replication SetupsMix ‘n’ Match Async and Group Replication for Advanced Replication Setups
Mix ‘n’ Match Async and Group Replication for Advanced Replication SetupsPedro Gomes
 
MySQL InnoDB Cluster - New Features in 8.0 Releases - Best Practices
MySQL InnoDB Cluster - New Features in 8.0 Releases - Best PracticesMySQL InnoDB Cluster - New Features in 8.0 Releases - Best Practices
MySQL InnoDB Cluster - New Features in 8.0 Releases - Best PracticesKenny Gryp
 
Group Replication: A Journey to the Group Communication Core
Group Replication: A Journey to the Group Communication CoreGroup Replication: A Journey to the Group Communication Core
Group Replication: A Journey to the Group Communication CoreAlfranio Júnior
 
MySQL Database Architectures - 2020-10
MySQL Database Architectures -  2020-10MySQL Database Architectures -  2020-10
MySQL Database Architectures - 2020-10Kenny Gryp
 
MySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group ReplicationMySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group ReplicationFrederic Descamps
 
Oracle Failover Database Cluster with Grid Infrastructure 12c
Oracle Failover Database Cluster with Grid Infrastructure 12cOracle Failover Database Cluster with Grid Infrastructure 12c
Oracle Failover Database Cluster with Grid Infrastructure 12cTrivadis
 
Oracle 12c RAC On your laptop Step by Step Implementation Guide 1.0
Oracle 12c RAC On your laptop Step by Step Implementation Guide 1.0Oracle 12c RAC On your laptop Step by Step Implementation Guide 1.0
Oracle 12c RAC On your laptop Step by Step Implementation Guide 1.0Yury Velikanov
 
MySQL Group Replication - an Overview
MySQL Group Replication - an OverviewMySQL Group Replication - an Overview
MySQL Group Replication - an OverviewMatt Lord
 
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 InnoDB Cluster / ReplicaSet - Tutorial
MySQL InnoDB Cluster / ReplicaSet - TutorialMySQL InnoDB Cluster / ReplicaSet - Tutorial
MySQL InnoDB Cluster / ReplicaSet - TutorialKenny Gryp
 
Oracle RAC 12c New Features List OOW13
Oracle RAC 12c New Features List OOW13Oracle RAC 12c New Features List OOW13
Oracle RAC 12c New Features List OOW13Markus Michalewicz
 
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
 
Introduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterIntroduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterFrederic Descamps
 
OSS4B: Installing & Managing MySQL like a real devops
OSS4B: Installing & Managing MySQL like a real devopsOSS4B: Installing & Managing MySQL like a real devops
OSS4B: Installing & Managing MySQL like a real devopsFrederic Descamps
 
MySQL InnoDB Cluster and Group Replication - OSI 2017 Bangalore
MySQL InnoDB Cluster and Group Replication - OSI 2017 BangaloreMySQL InnoDB Cluster and Group Replication - OSI 2017 Bangalore
MySQL InnoDB Cluster and Group Replication - OSI 2017 BangaloreSujatha Sivakumar
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group ReplicationKenny Gryp
 
MySQL Database Architectures - InnoDB ReplicaSet & Cluster
MySQL Database Architectures - InnoDB ReplicaSet & ClusterMySQL Database Architectures - InnoDB ReplicaSet & Cluster
MySQL Database Architectures - InnoDB ReplicaSet & ClusterKenny Gryp
 

Mais procurados (20)

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
 
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
 
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
 
Mix ‘n’ Match Async and Group Replication for Advanced Replication Setups
Mix ‘n’ Match Async and Group Replication for Advanced Replication SetupsMix ‘n’ Match Async and Group Replication for Advanced Replication Setups
Mix ‘n’ Match Async and Group Replication for Advanced Replication Setups
 
MySQL InnoDB Cluster - New Features in 8.0 Releases - Best Practices
MySQL InnoDB Cluster - New Features in 8.0 Releases - Best PracticesMySQL InnoDB Cluster - New Features in 8.0 Releases - Best Practices
MySQL InnoDB Cluster - New Features in 8.0 Releases - Best Practices
 
Group Replication: A Journey to the Group Communication Core
Group Replication: A Journey to the Group Communication CoreGroup Replication: A Journey to the Group Communication Core
Group Replication: A Journey to the Group Communication Core
 
MySQL Database Architectures - 2020-10
MySQL Database Architectures -  2020-10MySQL Database Architectures -  2020-10
MySQL Database Architectures - 2020-10
 
MySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group ReplicationMySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group Replication
 
Oracle Failover Database Cluster with Grid Infrastructure 12c
Oracle Failover Database Cluster with Grid Infrastructure 12cOracle Failover Database Cluster with Grid Infrastructure 12c
Oracle Failover Database Cluster with Grid Infrastructure 12c
 
Oracle 12c RAC On your laptop Step by Step Implementation Guide 1.0
Oracle 12c RAC On your laptop Step by Step Implementation Guide 1.0Oracle 12c RAC On your laptop Step by Step Implementation Guide 1.0
Oracle 12c RAC On your laptop Step by Step Implementation Guide 1.0
 
MySQL Group Replication - an Overview
MySQL Group Replication - an OverviewMySQL Group Replication - an Overview
MySQL Group Replication - an Overview
 
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 InnoDB Cluster / ReplicaSet - Tutorial
MySQL InnoDB Cluster / ReplicaSet - TutorialMySQL InnoDB Cluster / ReplicaSet - Tutorial
MySQL InnoDB Cluster / ReplicaSet - Tutorial
 
Oracle RAC 12c New Features List OOW13
Oracle RAC 12c New Features List OOW13Oracle RAC 12c New Features List OOW13
Oracle RAC 12c New Features List OOW13
 
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
 
Introduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterIntroduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB Cluster
 
OSS4B: Installing & Managing MySQL like a real devops
OSS4B: Installing & Managing MySQL like a real devopsOSS4B: Installing & Managing MySQL like a real devops
OSS4B: Installing & Managing MySQL like a real devops
 
MySQL InnoDB Cluster and Group Replication - OSI 2017 Bangalore
MySQL InnoDB Cluster and Group Replication - OSI 2017 BangaloreMySQL InnoDB Cluster and Group Replication - OSI 2017 Bangalore
MySQL InnoDB Cluster and Group Replication - OSI 2017 Bangalore
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group Replication
 
MySQL Database Architectures - InnoDB ReplicaSet & Cluster
MySQL Database Architectures - InnoDB ReplicaSet & ClusterMySQL Database Architectures - InnoDB ReplicaSet & Cluster
MySQL Database Architectures - InnoDB ReplicaSet & Cluster
 

Destaque

Online MySQL Backups with Percona XtraBackup
Online MySQL Backups with Percona XtraBackupOnline MySQL Backups with Percona XtraBackup
Online MySQL Backups with Percona XtraBackupKenny Gryp
 
Capturing, Analyzing and Optimizing MySQL
Capturing, Analyzing and Optimizing MySQLCapturing, Analyzing and Optimizing MySQL
Capturing, Analyzing and Optimizing MySQLRonald Bradford
 
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
 
Mastering InnoDB Diagnostics
Mastering InnoDB DiagnosticsMastering InnoDB Diagnostics
Mastering InnoDB Diagnosticsguest8212a5
 
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
 
Using Apache Spark and MySQL for Data Analysis
Using Apache Spark and MySQL for Data AnalysisUsing Apache Spark and MySQL for Data Analysis
Using Apache Spark and MySQL for Data AnalysisSveta Smirnova
 
What you wanted to know about MySQL, but could not find using inernal instrum...
What you wanted to know about MySQL, but could not find using inernal instrum...What you wanted to know about MySQL, but could not find using inernal instrum...
What you wanted to know about MySQL, but could not find using inernal instrum...Sveta Smirnova
 
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 High Availability and Disaster Recovery with Continuent, a VMware company
MySQL High Availability and Disaster Recovery with Continuent, a VMware companyMySQL High Availability and Disaster Recovery with Continuent, a VMware company
MySQL High Availability and Disaster Recovery with Continuent, a VMware companyContinuent
 
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 Server Defaults
MySQL Server DefaultsMySQL Server Defaults
MySQL Server DefaultsMorgan Tocker
 
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
 
2010丹臣的思考
2010丹臣的思考2010丹臣的思考
2010丹臣的思考zhaolinjnu
 
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхМониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхSveta Smirnova
 
MySQL 5.7: Focus on InnoDB
MySQL 5.7: Focus on InnoDBMySQL 5.7: Focus on InnoDB
MySQL 5.7: Focus on InnoDBMario Beck
 

Destaque (20)

Mysql For Developers
Mysql For DevelopersMysql For Developers
Mysql For Developers
 
Online MySQL Backups with Percona XtraBackup
Online MySQL Backups with Percona XtraBackupOnline MySQL Backups with Percona XtraBackup
Online MySQL Backups with Percona XtraBackup
 
Capturing, Analyzing and Optimizing MySQL
Capturing, Analyzing and Optimizing MySQLCapturing, Analyzing and Optimizing MySQL
Capturing, Analyzing and Optimizing MySQL
 
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
 
Extensible Data Modeling
Extensible Data ModelingExtensible Data Modeling
Extensible Data Modeling
 
Mastering InnoDB Diagnostics
Mastering InnoDB DiagnosticsMastering InnoDB Diagnostics
Mastering InnoDB Diagnostics
 
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
 
Load Data Fast!
Load Data Fast!Load Data Fast!
Load Data Fast!
 
Using Apache Spark and MySQL for Data Analysis
Using Apache Spark and MySQL for Data AnalysisUsing Apache Spark and MySQL for Data Analysis
Using Apache Spark and MySQL for Data Analysis
 
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
 
What you wanted to know about MySQL, but could not find using inernal instrum...
What you wanted to know about MySQL, but could not find using inernal instrum...What you wanted to know about MySQL, but could not find using inernal instrum...
What you wanted to know about MySQL, but could not find using inernal instrum...
 
Requirements the Last Bottleneck
Requirements the Last BottleneckRequirements the Last Bottleneck
Requirements the Last Bottleneck
 
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 High Availability and Disaster Recovery with Continuent, a VMware company
MySQL High Availability and Disaster Recovery with Continuent, a VMware companyMySQL High Availability and Disaster Recovery with Continuent, a VMware company
MySQL High Availability and Disaster Recovery with Continuent, a VMware company
 
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 Server Defaults
MySQL Server DefaultsMySQL Server Defaults
MySQL Server Defaults
 
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?
 
2010丹臣的思考
2010丹臣的思考2010丹臣的思考
2010丹臣的思考
 
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхМониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
 
MySQL 5.7: Focus on InnoDB
MySQL 5.7: Focus on InnoDBMySQL 5.7: Focus on InnoDB
MySQL 5.7: Focus on InnoDB
 

Semelhante a Everything You Need to Know About MySQL Group Replication

20190615 hkos-mysql-troubleshootingandperformancev2
20190615 hkos-mysql-troubleshootingandperformancev220190615 hkos-mysql-troubleshootingandperformancev2
20190615 hkos-mysql-troubleshootingandperformancev2Ivan Ma
 
Introduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterIntroduction to MySQL InnoDB Cluster
Introduction to 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
 
Introduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterIntroduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterFrederic Descamps
 
Hkosc group replication-lecture_lab07
Hkosc group replication-lecture_lab07Hkosc group replication-lecture_lab07
Hkosc group replication-lecture_lab07Ivan Ma
 
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
 
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
 
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
 
6 Tips to MySQL Performance Tuning
6 Tips to MySQL Performance Tuning6 Tips to MySQL Performance Tuning
6 Tips to MySQL Performance TuningOracleMySQL
 
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 & Oracle Linux Keynote at Open Source India 2014
MySQL & Oracle Linux Keynote at Open Source India 2014MySQL & Oracle Linux Keynote at Open Source India 2014
MySQL & Oracle Linux Keynote at Open Source India 2014Sanjay Manwani
 
Understanding the impact of Linux scheduler on your application
Understanding the impact of Linux scheduler on your applicationUnderstanding the impact of Linux scheduler on your application
Understanding the impact of Linux scheduler on your applicationAtish Patra
 
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
 
SQL Server Alwayson for SharePoint HA/DR Step by Step Guide
SQL Server Alwayson for SharePoint HA/DR Step by Step GuideSQL Server Alwayson for SharePoint HA/DR Step by Step Guide
SQL Server Alwayson for SharePoint HA/DR Step by Step GuideLars Platzdasch
 
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
 
Introduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterIntroduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterFrederic Descamps
 
Basic MySQL Troubleshooting for Oracle DBAs
Basic MySQL Troubleshooting for Oracle DBAsBasic MySQL Troubleshooting for Oracle DBAs
Basic MySQL Troubleshooting for Oracle DBAsSveta Smirnova
 
GraphPipe - Blazingly Fast Machine Learning Inference by Vish Abrams
GraphPipe - Blazingly Fast Machine Learning Inference by Vish AbramsGraphPipe - Blazingly Fast Machine Learning Inference by Vish Abrams
GraphPipe - Blazingly Fast Machine Learning Inference by Vish AbramsOracle Developers
 
MySQL 5.7 -- SCaLE Feb 2014
MySQL 5.7 -- SCaLE Feb 2014MySQL 5.7 -- SCaLE Feb 2014
MySQL 5.7 -- SCaLE Feb 2014Dave Stokes
 
Performance Schema and Sys Schema in MySQL 5.7
Performance Schema and Sys Schema in MySQL 5.7Performance Schema and Sys Schema in MySQL 5.7
Performance Schema and Sys Schema in MySQL 5.7Mark Leith
 

Semelhante a Everything You Need to Know About MySQL Group Replication (20)

20190615 hkos-mysql-troubleshootingandperformancev2
20190615 hkos-mysql-troubleshootingandperformancev220190615 hkos-mysql-troubleshootingandperformancev2
20190615 hkos-mysql-troubleshootingandperformancev2
 
Introduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterIntroduction to MySQL InnoDB Cluster
Introduction to 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 ...
 
Introduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterIntroduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB Cluster
 
Hkosc group replication-lecture_lab07
Hkosc group replication-lecture_lab07Hkosc group replication-lecture_lab07
Hkosc group replication-lecture_lab07
 
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 !
 
Replication Whats New in Mysql 8
Replication Whats New in Mysql 8Replication Whats New in Mysql 8
Replication Whats New in Mysql 8
 
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
 
6 Tips to MySQL Performance Tuning
6 Tips to MySQL Performance Tuning6 Tips to MySQL Performance Tuning
6 Tips to MySQL Performance Tuning
 
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 & Oracle Linux Keynote at Open Source India 2014
MySQL & Oracle Linux Keynote at Open Source India 2014MySQL & Oracle Linux Keynote at Open Source India 2014
MySQL & Oracle Linux Keynote at Open Source India 2014
 
Understanding the impact of Linux scheduler on your application
Understanding the impact of Linux scheduler on your applicationUnderstanding the impact of Linux scheduler on your application
Understanding the impact of Linux scheduler on your application
 
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)
 
SQL Server Alwayson for SharePoint HA/DR Step by Step Guide
SQL Server Alwayson for SharePoint HA/DR Step by Step GuideSQL Server Alwayson for SharePoint HA/DR Step by Step Guide
SQL Server Alwayson for SharePoint HA/DR Step by Step Guide
 
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!
 
Introduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterIntroduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB Cluster
 
Basic MySQL Troubleshooting for Oracle DBAs
Basic MySQL Troubleshooting for Oracle DBAsBasic MySQL Troubleshooting for Oracle DBAs
Basic MySQL Troubleshooting for Oracle DBAs
 
GraphPipe - Blazingly Fast Machine Learning Inference by Vish Abrams
GraphPipe - Blazingly Fast Machine Learning Inference by Vish AbramsGraphPipe - Blazingly Fast Machine Learning Inference by Vish Abrams
GraphPipe - Blazingly Fast Machine Learning Inference by Vish Abrams
 
MySQL 5.7 -- SCaLE Feb 2014
MySQL 5.7 -- SCaLE Feb 2014MySQL 5.7 -- SCaLE Feb 2014
MySQL 5.7 -- SCaLE Feb 2014
 
Performance Schema and Sys Schema in MySQL 5.7
Performance Schema and Sys Schema in MySQL 5.7Performance Schema and Sys Schema in MySQL 5.7
Performance Schema and Sys Schema in MySQL 5.7
 

Último

Boost Efficiency: Sabre API Integration Made Easy
Boost Efficiency: Sabre API Integration Made EasyBoost Efficiency: Sabre API Integration Made Easy
Boost Efficiency: Sabre API Integration Made Easymichealwillson701
 
Building Generative AI-infused apps: what's possible and how to start
Building Generative AI-infused apps: what's possible and how to startBuilding Generative AI-infused apps: what's possible and how to start
Building Generative AI-infused apps: what's possible and how to startMaxim Salnikov
 
Technical improvements. Reasons. Methods. Estimations. CJ
Technical improvements.  Reasons. Methods. Estimations. CJTechnical improvements.  Reasons. Methods. Estimations. CJ
Technical improvements. Reasons. Methods. Estimations. CJpolinaucc
 
User Experience Designer | Kaylee Miller Resume
User Experience Designer | Kaylee Miller ResumeUser Experience Designer | Kaylee Miller Resume
User Experience Designer | Kaylee Miller ResumeKaylee Miller
 
Large Scale Architecture -- The Unreasonable Effectiveness of Simplicity
Large Scale Architecture -- The Unreasonable Effectiveness of SimplicityLarge Scale Architecture -- The Unreasonable Effectiveness of Simplicity
Large Scale Architecture -- The Unreasonable Effectiveness of SimplicityRandy Shoup
 
Take Advantage of Mx Tracking Flight Scheduling Solutions to Streamline Your ...
Take Advantage of Mx Tracking Flight Scheduling Solutions to Streamline Your ...Take Advantage of Mx Tracking Flight Scheduling Solutions to Streamline Your ...
Take Advantage of Mx Tracking Flight Scheduling Solutions to Streamline Your ...MyFAA
 
Leveling Up your Branding and Mastering MERN: Fullstack WebDev
Leveling Up your Branding and Mastering MERN: Fullstack WebDevLeveling Up your Branding and Mastering MERN: Fullstack WebDev
Leveling Up your Branding and Mastering MERN: Fullstack WebDevpmgdscunsri
 
Enterprise Content Managements Solutions
Enterprise Content Managements SolutionsEnterprise Content Managements Solutions
Enterprise Content Managements SolutionsIQBG inc
 
BATbern52 Swisscom's Journey into Data Mesh
BATbern52 Swisscom's Journey into Data MeshBATbern52 Swisscom's Journey into Data Mesh
BATbern52 Swisscom's Journey into Data MeshBATbern
 
8 key point on optimizing web hosting services in your business.pdf
8 key point on optimizing web hosting services in your business.pdf8 key point on optimizing web hosting services in your business.pdf
8 key point on optimizing web hosting services in your business.pdfOffsiteNOC
 
8 Steps to Build a LangChain RAG Chatbot.
8 Steps to Build a LangChain RAG Chatbot.8 Steps to Build a LangChain RAG Chatbot.
8 Steps to Build a LangChain RAG Chatbot.Ritesh Kanjee
 
Steps to Successfully Hire Ionic Developers
Steps to Successfully Hire Ionic DevelopersSteps to Successfully Hire Ionic Developers
Steps to Successfully Hire Ionic Developersmichealwillson701
 
Einstein Copilot Conversational AI for your CRM.pdf
Einstein Copilot Conversational AI for your CRM.pdfEinstein Copilot Conversational AI for your CRM.pdf
Einstein Copilot Conversational AI for your CRM.pdfCloudMetic
 
renewable energy renewable energy renewable energy renewable energy
renewable energy renewable energy renewable energy  renewable energyrenewable energy renewable energy renewable energy  renewable energy
renewable energy renewable energy renewable energy renewable energyjeyasrig
 
Splashtop Enterprise Brochure - Remote Computer Access and Remote Support Sof...
Splashtop Enterprise Brochure - Remote Computer Access and Remote Support Sof...Splashtop Enterprise Brochure - Remote Computer Access and Remote Support Sof...
Splashtop Enterprise Brochure - Remote Computer Access and Remote Support Sof...Splashtop Inc
 
VuNet software organisation powerpoint deck
VuNet software organisation powerpoint deckVuNet software organisation powerpoint deck
VuNet software organisation powerpoint deckNaval Singh
 
Telebu Social -Whatsapp Business API : Mastering Omnichannel Business Communi...
Telebu Social -Whatsapp Business API : Mastering Omnichannel Business Communi...Telebu Social -Whatsapp Business API : Mastering Omnichannel Business Communi...
Telebu Social -Whatsapp Business API : Mastering Omnichannel Business Communi...telebusocialmarketin
 
Flutter the Future of Mobile App Development - 5 Crucial Reasons.pdf
Flutter the Future of Mobile App Development - 5 Crucial Reasons.pdfFlutter the Future of Mobile App Development - 5 Crucial Reasons.pdf
Flutter the Future of Mobile App Development - 5 Crucial Reasons.pdfMind IT Systems
 
If your code could speak, what would it tell you? Let GitHub Copilot Chat hel...
If your code could speak, what would it tell you? Let GitHub Copilot Chat hel...If your code could speak, what would it tell you? Let GitHub Copilot Chat hel...
If your code could speak, what would it tell you? Let GitHub Copilot Chat hel...Maxim Salnikov
 

Último (20)

Boost Efficiency: Sabre API Integration Made Easy
Boost Efficiency: Sabre API Integration Made EasyBoost Efficiency: Sabre API Integration Made Easy
Boost Efficiency: Sabre API Integration Made Easy
 
Building Generative AI-infused apps: what's possible and how to start
Building Generative AI-infused apps: what's possible and how to startBuilding Generative AI-infused apps: what's possible and how to start
Building Generative AI-infused apps: what's possible and how to start
 
Technical improvements. Reasons. Methods. Estimations. CJ
Technical improvements.  Reasons. Methods. Estimations. CJTechnical improvements.  Reasons. Methods. Estimations. CJ
Technical improvements. Reasons. Methods. Estimations. CJ
 
User Experience Designer | Kaylee Miller Resume
User Experience Designer | Kaylee Miller ResumeUser Experience Designer | Kaylee Miller Resume
User Experience Designer | Kaylee Miller Resume
 
20140812 - OBD2 Solution
20140812 - OBD2 Solution20140812 - OBD2 Solution
20140812 - OBD2 Solution
 
Large Scale Architecture -- The Unreasonable Effectiveness of Simplicity
Large Scale Architecture -- The Unreasonable Effectiveness of SimplicityLarge Scale Architecture -- The Unreasonable Effectiveness of Simplicity
Large Scale Architecture -- The Unreasonable Effectiveness of Simplicity
 
Take Advantage of Mx Tracking Flight Scheduling Solutions to Streamline Your ...
Take Advantage of Mx Tracking Flight Scheduling Solutions to Streamline Your ...Take Advantage of Mx Tracking Flight Scheduling Solutions to Streamline Your ...
Take Advantage of Mx Tracking Flight Scheduling Solutions to Streamline Your ...
 
Leveling Up your Branding and Mastering MERN: Fullstack WebDev
Leveling Up your Branding and Mastering MERN: Fullstack WebDevLeveling Up your Branding and Mastering MERN: Fullstack WebDev
Leveling Up your Branding and Mastering MERN: Fullstack WebDev
 
Enterprise Content Managements Solutions
Enterprise Content Managements SolutionsEnterprise Content Managements Solutions
Enterprise Content Managements Solutions
 
BATbern52 Swisscom's Journey into Data Mesh
BATbern52 Swisscom's Journey into Data MeshBATbern52 Swisscom's Journey into Data Mesh
BATbern52 Swisscom's Journey into Data Mesh
 
8 key point on optimizing web hosting services in your business.pdf
8 key point on optimizing web hosting services in your business.pdf8 key point on optimizing web hosting services in your business.pdf
8 key point on optimizing web hosting services in your business.pdf
 
8 Steps to Build a LangChain RAG Chatbot.
8 Steps to Build a LangChain RAG Chatbot.8 Steps to Build a LangChain RAG Chatbot.
8 Steps to Build a LangChain RAG Chatbot.
 
Steps to Successfully Hire Ionic Developers
Steps to Successfully Hire Ionic DevelopersSteps to Successfully Hire Ionic Developers
Steps to Successfully Hire Ionic Developers
 
Einstein Copilot Conversational AI for your CRM.pdf
Einstein Copilot Conversational AI for your CRM.pdfEinstein Copilot Conversational AI for your CRM.pdf
Einstein Copilot Conversational AI for your CRM.pdf
 
renewable energy renewable energy renewable energy renewable energy
renewable energy renewable energy renewable energy  renewable energyrenewable energy renewable energy renewable energy  renewable energy
renewable energy renewable energy renewable energy renewable energy
 
Splashtop Enterprise Brochure - Remote Computer Access and Remote Support Sof...
Splashtop Enterprise Brochure - Remote Computer Access and Remote Support Sof...Splashtop Enterprise Brochure - Remote Computer Access and Remote Support Sof...
Splashtop Enterprise Brochure - Remote Computer Access and Remote Support Sof...
 
VuNet software organisation powerpoint deck
VuNet software organisation powerpoint deckVuNet software organisation powerpoint deck
VuNet software organisation powerpoint deck
 
Telebu Social -Whatsapp Business API : Mastering Omnichannel Business Communi...
Telebu Social -Whatsapp Business API : Mastering Omnichannel Business Communi...Telebu Social -Whatsapp Business API : Mastering Omnichannel Business Communi...
Telebu Social -Whatsapp Business API : Mastering Omnichannel Business Communi...
 
Flutter the Future of Mobile App Development - 5 Crucial Reasons.pdf
Flutter the Future of Mobile App Development - 5 Crucial Reasons.pdfFlutter the Future of Mobile App Development - 5 Crucial Reasons.pdf
Flutter the Future of Mobile App Development - 5 Crucial Reasons.pdf
 
If your code could speak, what would it tell you? Let GitHub Copilot Chat hel...
If your code could speak, what would it tell you? Let GitHub Copilot Chat hel...If your code could speak, what would it tell you? Let GitHub Copilot Chat hel...
If your code could speak, what would it tell you? Let GitHub Copilot Chat hel...
 

Everything You Need to Know About MySQL Group Replication

  • 1. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. Everything You Need to Know About MySQL Group Replication Nuno Carvalho (nuno.carvalho@oracle.com) Principal Software Engineer MySQL Replication Service Team Lead Luís Soares (luis.soares@oracle.com) Principal Software Engineer MySQL Replication Lead
  • 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. 2
  • 3. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Program Agenda
  • 4. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Background Use cases Deployment modes Features Performance Architecture Conclusion Program Agenda 1 2 3 4 5 6 4 7
  • 5. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Background1
  • 6. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Database Replication Server B Server A App INSERT ... INSERT ... INSERT ... Replication “The process of generating and reproducing multiple copies of data at one or more sites.”, Database Systems: A Practical Approach to Design, Implementation, and Management, Thomas M. Connolly, Carolyn E. Begg, Third Edition, 2002. 6
  • 7. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL Database Replication: Overview INSERT ... Server B binary log INSERT ... relay log INSERT ... Server A binary log App Receiver Meta-data Update Applier Meta-data Update INSERT ... Comm. Framework 7
  • 8. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Coordination Between Servers MySQL Database Replication: Some Notes A B Since 3.23 A B semi-synchronous (plugin) A CB group replication (plugin) transactions transactions Since 5.5 Since 5.7.17 asynchronous (native) transactions, membership, coordination acks And now in MySQL 8 as of 8.0.1 8
  • 9. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL Group Replication • What is MySQL Group Replication? “Single/Multi-primary 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. 9
  • 10. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL Group Replication P P P P P Replication Group Clients 10
  • 11. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | GR 0.8.0 labs (beta) performance enhancements replication stream compression SSL support IP whitelisting read-only mode error log enhancements split brain handling The Road to Group Replication in MySQL 8 and InnoDB Clusters 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.9.0 labs (RC) multi-threaded applier support Single-primary mode GR is GA in MySQL Server 5.7.17 ... GR is released with MySQL 8.0.1 and InnoDB Cluster GA 11
  • 12. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Use cases2
  • 13. Copyright © 2017, 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. P P P P P 13
  • 14. Copyright © 2017, 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. P P P P P P P P P P P P P P P 14
  • 15. Copyright © 2017, 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 S S S S P S Primary 15
  • 16. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Single-primary Deployment modes3 3.1
  • 17. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 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 (SECONDARIES). – The group itself coordinates automatically to figure out which is the member that will act as the PRIMARY, through a primary election mechanism. • Single-primary mode is the default mode – Closer to classic asynchronous replication setups, simpler to reason about from the beginning. – Avoids some of the limitations of multi-primary mode by default. 17
  • 18. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Single-primary mode • Automatic primary promotion election. • Secondaries are automatically set to read-only. S S S S P S Primary 18
  • 19. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Single-primary mode • Automatic primary election mechanism. S S S P S Primary 19
  • 20. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Single-primary mode • The current primary member UUID can be known by executing the following SQL statement. 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 20
  • 21. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Multi-primary Single-primary Deployment modes3 3.1 3.2
  • 22. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Multi-primary update everywhere! • Configuration mode that makes all members writable – Enabled by setting option --group_replication_single_primary_mode to OFF 22 P P P P P
  • 23. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Multi-primary 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. P P P P P UPDATE t1 SET a=4 WHERE a=2UPDATE t1 SET a=3 WHERE a=1 23
  • 24. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Multi-primary 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. P P P P P UPDATE t1 SET a=4 WHERE a=2UPDATE t1 SET a=3 WHERE a=1 OKOK 24
  • 25. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Multi-primary 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. P P P P P UPDATE t1 SET a=2 WHERE a=1UPDATE t1 SET a=3 WHERE a=1 25
  • 26. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Multi-primary 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. P P P P P UPDATE t1 SET a=2 WHERE a=1UPDATE t1 SET a=3 WHERE a=1 OK 26
  • 27. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Automatic distributed server recovery Features4 4.1
  • 28. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Automatic distributed server recovery! • Server that joins the group will automatically synchronize with the others. P P P P P N I want to play with you 28
  • 29. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Automatic distributed server recovery! • Server that joins the group will automatically synchronize with the others. P P P P P N ONLINE RECOVERING 29
  • 30. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Automatic distributed server recovery! • Server that joins the group will automatically synchronize with the others. P P P P P N ONLINE 30
  • 31. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Automatic distributed server recovery! • If a server leaves the group, the others will automatically be informed. P P P P P P My machine needs maintenance or a system crash happens Each membership configuration is identified by a view_id view_id: 4 31
  • 32. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Automatic distributed server recovery! • If a server leaves the group, the others will automatically be informed. P P P P P 32
  • 33. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Automatic distributed server recovery! • Server that (re)joins the group will automatically synchronize with the others. P P P P P P RECOVERING -> ONLINE view_id: 5 33
  • 34. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL Look & Feel Automatic distributed server recovery Features4 4.1 4.2
  • 35. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 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. 35
  • 36. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 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. 36
  • 37. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Full GTID support MySQL Look & Feel Automatic distributed server recovery Features4 4.1 4.2 4.3
  • 38. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Full GTID support! • All group members share the same UUID, the group name. P P P P P INSERT y; Will have GTID: group_name:2 INSERT x; Will have GTID: group_name:1 38
  • 39. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Full GTID support! • Users can specify the identifier for the transaction. P P P P P INSERT y; Will have GTID: group_name:1 SET GTID_NEXT= “UUID:50” INSERT x; 39
  • 40. Copyright © 2017, 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. P P P P P Conflicts will be detected! 40
  • 41. Copyright © 2017, 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. P P P P P 41
  • 42. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Auto-increment configuration/handling Full GTID support MySQL Look & Feel Automatic distributed server recovery Features4 4.1 4.2 4.3 4.4
  • 43. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Auto-increment configuration/handling • Group is configured to not generate the same auto-increment value on all members. P P P P P INSERT y; y: 4 INSERT z; z: 11 INSERT x; x: 1 43
  • 44. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Auto-increment configuration/handling • By default, the offset is provided by server_id and increment is 7. P P P P P INSERT y; y: 4 INSERT z; z: 11 INSERT x; x: 1 server_id: 1 server_id: 4 44
  • 45. Copyright © 2017, 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. P P P P P INSERT y; y: 4 INSERT z; z: 11 INSERT x; x: 1 server_id: 1 server_id: 4 45
  • 46. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Plugin version access control Auto-increment configuration/handling Full GTID support MySQL Look & Feel Automatic distributed server recovery Features4 4.1 4.2 4.3 4.4 4.5
  • 47. Copyright © 2017, 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. 5.7.13 5.7.13 5.7.14 5.7.15 5.7.12 Member with different patch version is allowed to join 47
  • 48. Copyright © 2017, 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. 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 48
  • 49. Copyright © 2017, 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. 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 49
  • 50. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Built-in communication engine Plugin version access control Auto-increment configuration/handling Full GTID support MySQL Look & Feel Automatic distributed server recovery Features4 4.1 4.2 4.3 4.4 4.5 4.6
  • 51. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 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 where multicast is unsupported. 51
  • 52. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Read-only mode Built-in communication engine Plugin version access control Auto-increment configuration/handling Full GTID support MySQL Look & Feel Automatic distributed server recovery Features4 4.1 4.2 4.3 4.4 4.5 4.6 4.7
  • 53. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Read-only mode • When a member joins the group, during distributed recovery, read-only mode is automatically set. • On the unlikely event of a member failure, read-only mode is set automatically to prevent inconsistency with the group and member state changes to ERROR. P P P P P 53
  • 54. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Full stack secure connections Features4 4.8
  • 55. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Full stack secure connections • Group Replication supports secure connections along the complete stack: – Distributed recovery connections – Connections between members – Client connections • 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 55
  • 56. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Parallel applier support Full stack secure connections Features4 4.8 4.9
  • 57. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Parallel applier support • Reduces applier lag and improves replication performance considerably. • The same configuration options as asynchronous replication. --slave_parallel_workers=NUMBER --slave_parallel_type=logical_clock --slave_preserve_commit_order=ON 57
  • 58. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Parallel applier support • Write set Based Transaction Dependencies – Already used on Group Replication from the beginning – Speedup distributed recovery time master> SET @@GLOBAL.binlog_transaction_dependency_tracking=WRITESET; Query OK, 0 rows affected (0,00 sec) master> SET @@GLOBAL.binlog_transaction_dependency_tracking=WRITESET_SESSION; Query OK, 0 rows affected (0,00 sec) master> SET @@GLOBAL.binlog_transaction_dependency_tracking=COMMIT_ORDER; -- default Query OK, 0 rows affected (0,00 sec 58
  • 59. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Transaction SAVEPOINT support Parallel applier support Full stack secure connections Features4 4.8 4.9 4.10
  • 60. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Transaction SAVEPOINT support mysql> BEGIN; Query OK, 0 rows affected (0,00 sec) mysql> INSERT INTO t1 VALUES(1); Query OK, 1 row affected (0,00 sec) mysql> SAVEPOINT S1; Query OK, 0 rows affected (0,00 sec) mysql> INSERT INTO t1 VALUES(2); Query OK, 1 row affected (0,00 sec) mysql> ROLLBACK TO S1; Query OK, 0 rows affected (0,00 sec) mysql> COMMIT; Query OK, 0 rows affected (0,00 sec) 60
  • 61. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Requirements Transaction SAVEPOINT support Parallel applier support Full stack secure connections Features4 4.8 4.9 4.10 4.11
  • 62. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 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 • Serializable (on multi-primary) • Cascading Foreign Keys (on multi-primary) • Binary log events checksum Forbidden • Concurrent DDL (on multi-primary) • SELECT *** FOR UPDATE does not have group locking (on multi-primary) Warnings 62
  • 63. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Performance5
  • 64. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Performance 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) More on this subject on the series of 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 (i.e., no flow control) The number of transactions that writers can propagate to the group (per second). Sustained Throughput (i.e., flow control) The number of transactions that can be propagated to the group without increasing the replication lag on any member (per second). 64
  • 65. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Performance • On a sustained throughput: – Multi-primary 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-primary 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. 65
  • 66. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Architecture Introduction 6 6.1
  • 67. Copyright © 2017, 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-primary 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. 67
  • 68. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Major Building Blocks Architecture Introduction 6 6.1 6.2
  • 69. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Major Building Blocks M M M M M Com. API Replication Plugin API MySQL Server Group Comm. System (Corosync) Group Com. Engine 69
  • 70. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | The Complete Stack 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 70
  • 71. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Conclusion7
  • 72. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Summary • Cloud Friendly – Great technology 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-primary update everywhere and a dependable MySQL service. • Plugin GA version available with MySQL 5.7.17+, available on 8.0.1+ 72
  • 73. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL InnoDB Cluster: The End Goal 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
  • 74. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Where to go from here? • Packages – http://www.mysql.com/downloads/ • Documentation – http://dev.mysql.com/doc/refman/5.7/en/group-replication.html – http://dev.mysql.com/doc/refman/8.0/en/group-replication.html • Blogs from the Engineers (news, technical information, and much more) – http://mysqlhighavailability.com 74