SlideShare a Scribd company logo
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |Tuesday, October 20, 2015 Oracle Confidential – Restricted
MySQL 5.7 Replication Update
Ted Wennmark (ted.wennmark@oracle.com)
MySQL EMEA Techtour
1
The Latest and Greatest MySQL 5.7 Replication Features and More!
Copyright © 2015, 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.
Tuesday, October 20, 2015 Oracle Confidential – Restricted 2
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Program Agenda
Background
Replication Features in MySQL 5.7
News From The Lab!
The Road Ahead!
1
2
3
4
Tuesday, October 20, 2015 Oracle Confidential – Restricted 3
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Background1
Tuesday, October 20, 2015 Oracle Confidential – Restricted
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Background: Replication Components
Tuesday, October 20, 2015
Insert...
Insert...
B
binary log
Insert...
relay log
Insert...
A
binary log
Client
Sender
thread
Receiver
thread
Applier
Threads
Receiver
Meta-data
Update
Applier
Meta-data
Update
Network
Oracle Confidential – Restricted 5
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Background: Replication Components
• Binary Log
– File based logical log that records the changes on the master.
– Statement or Row based format (may be intermixed).
– Each transactions is split into groups of events.
– Control events: Rotate, Format Description, Gtid, ...
Tuesday, October 20, 2015
Layout of a
Binary Log File
BEGIN ...E1 E2 COMMIT BEGIN ...E1 E2 COMMIT
Oracle Confidential – Restricted 6
Copyright © 2015, 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?
Tuesday, October 20, 2015 Oracle Confidential – Restricted 7
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
M M?
write clients write clients
More
writes?
More
Masters?
M?
M?
MySQL Fabric helps sharding your data with MySQL...
What about write scale-out?
Tuesday, October 20, 2015 Oracle Confidential – Restricted 8
Copyright © 2015, 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?
Tuesday, October 20, 2015 Oracle Confidential – Restricted 9
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
M
S
write clients
business intelligent client applications
reporting client applications
big queries client applications
On-line Backup and Reporting
Background: What is Replication Used For?
Tuesday, October 20, 2015 Oracle Confidential – Restricted 10
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
CB
BA
AC
Image from
www.ginkgomaps.com
Background: What is Replication Used For?
Tuesday, October 20, 2015 Oracle Confidential – Restricted 11
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Replication Features in MySQL 5.7
Usability / Online
2
Tuesday, October 20, 2015
2.1
Oracle Confidential – Restricted
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Online Reconfiguration of Global Transaction Identifiers
Tuesday, October 20, 2015
Insert...
Insert...
B
binary log
Insert...
relay log
Insert...
A
binary log
Client
Sender
thread
Receiver
thread
Applier
Threads
Receiver
Meta-data
Update
Applier
Meta-data
Update
Network
Oracle Confidential – Restricted 13
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Online Reconfiguration of Global Transaction Identifiers
• The procedure is online.
– Both reads and writes are allowed while global transaction identifiers are being
turned on or off in the entire replication cluster.
• No need to synchronize servers, ever.
• No need to restart servers.
• No need to change replication topology.
– Works in arbitrary topologies.
• Should anything happen in the middle of the procedure, you can always roll
back.
Tuesday, October 20, 2015 Oracle Confidential – Restricted 14
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Online Reconfiguration of Global Transaction Identifiers
• Over simplified procedure to turn on global transaction identifiers:
• Details: http://dev.mysql.com/doc/refman/5.7/en/replication-mode-
change-online-enable-gtids.html
Tuesday, October 20, 2015
( SET @@GLOBAL.ENFORCE_GTID_CONSISTENCY = WARN | ON)
1)SET @@GLOBAL.GTID_MODE = OFF_PERMISSIVE; (on every server)
2) SET @@GLOBAL.GTID_MODE = ON_PERMISSIVE; (on every server)
3) wait for a bit longer than your replication lag
4) SET @@GLOBAL.GTID_MODE = ON; (on every server)
Oracle Confidential – Restricted 15
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Online Reconfiguration of Replication Filters
Tuesday, October 20, 2015
Insert...
Insert...
B
binary log
Insert...
relay log
Insert...
A
binary log
Client
Sender
thread
Receiver
thread
Applier
Threads
Receiver
Meta-data
Update
Applier
Meta-data
Update
Network
Oracle Confidential – Restricted 16
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Online Reconfiguration of Replication Filters
• Change Slave's Replication Filters dynamically.
– No need to stop and restart the slave server for setting new replication filtering rules.
– All slave filters are supported.
– Values can be input in various character sets.
Tuesday, October 20, 2015
mysql> CHANGE REPLICATION FILTER REPLICATE_DO_DB= (db1, db2)
Oracle Confidential – Restricted 17
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Online Switch/Fail-over to a new Master
Tuesday, October 20, 2015
Insert...
Insert...
B
binary log
Insert...
relay log
Insert...
A
binary log
Client
Sender
thread
Receiver
thread
Applier
Threads
Receiver
Meta-data
Update
Applier
Meta-data
Update
Network
Oracle Confidential – Restricted 18
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Change master from A to B without stopping the applier threads.
Online Switch/Fail-over to a new Master
Tuesday, October 20, 2015
C
B
A
C
B
ACrash
C
B
A
B is the
new master
Uh Oh! Whew!
Oracle Confidential – Restricted 19
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Change master from A to B without stopping the applier threads.
Online Switch/Fail-over to a new Master
Tuesday, October 20, 2015
C
B
A
C
B
ACrash
C
B
A
Uh Oh! Whew!
DBA did not need C to stop applying its
relay log to change C's master from A to B.
Oracle Confidential – Restricted 20
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Online Switch/Fail-over to a new Master
• Enables more online operations during fail-over:
• Stopping, changing master and restarting the receiver thread are all done
while the applier thread is running.
• Change applier properties while the receiver thread is working:
Tuesday, October 20, 2015
mysql> STOP SLAVE IO_THREAD;
mysql> CHANGE MASTER TO MASTER_HOST='master2', …;
mysql> START SLAVE IO_THREAD;
mysql> STOP SLAVE SQL_THREAD;
mysql> CHANGE MASTER TO MASTER_DELAY=3600, …;
mysql> START SLAVE SQL_THREAD;
Oracle Confidential – Restricted 21
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Improved Replication Monitoring
Tuesday, October 20, 2015
Insert...
Insert...
B
binary log
Insert...
relay log
Insert...
A
binary log
Client
Sender
thread
Receiver
thread
Applier
Threads
Receiver
Meta-data
Update
Applier
Meta-data
Update
Network
Oracle Confidential – Restricted 22
DBA
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Improved Replication Monitoring
• Monitoring through SQL.
• Logically unrelated information into different places.
• Extensible, can be adapted to new features.
• More accurate and consistent identifier names.
• Master-slave, Multi-source, Group Replication support.
Performance Schema Replication Tables
Tuesday, October 20, 2015 Oracle Confidential – Restricted 23
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Improved Replication Monitoring
Tuesday, October 20, 2015
mysql> select * from performance_schema.replication_applier_status_by_workerG
*************************** 1. row ***************************
CHANNEL_NAME:
WORKER_ID: 1
THREAD_ID: 35
SERVICE_STATE: ON
LAST_SEEN_TRANSACTION: 4ba0eb86-63c3-11e4-92ba-28b2bd168d07:2368
LAST_ERROR_NUMBER: 0
LAST_ERROR_MESSAGE:
LAST_ERROR_TIMESTAMP: 0000-00-00 00:00:00
*************************** 2. row ***************************
CHANNEL_NAME:
WORKER_ID: 2
THREAD_ID: 36
SERVICE_STATE: ON
LAST_SEEN_TRANSACTION: 4ba0eb86-63c3-11e4-92ba-28b2bd168d07:2367
LAST_ERROR_NUMBER: 0
LAST_ERROR_MESSAGE:
LAST_ERROR_TIMESTAMP: 0000-00-00 00:00:00
2 rows in set (0,00 sec)
Oracle Confidential – Restricted 24
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Replication Features in MySQL 5.7
Usability / Online
Performance
2
Tuesday, October 20, 2015
2.1
2.2
Oracle Confidential – Restricted
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Improved Applier Throughput – Locking-based Parallelism
Tuesday, October 20, 2015
Insert...
Insert...
B
binary log
Insert...
relay log
Insert...
A
binary log
Client
Sender
thread
Receiver
thread
Applier
Threads
Receiver
Meta-data
Update
Applier
Meta-data
Update
Network
Oracle Confidential – Restricted 26
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Improved Applier Throughput – Locking-based Parallelism
Tuesday, October 20, 2015
Single Threaded Apply 8 Threads Applier 24 Threads Applier 48 Threads Applier 96 Threads Applier
0%
50%
100%
150%
200%
250%
Fast and Scalable Multi-threaded Replication Applier
(statement-based replication, durable settings, SSD storage)
Slaveapplytime
(SysbenchRWonthemasterwith96threads=100%)
10X
Oracle Confidential – Restricted 27
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Improved Applier Throughput – Locking-based Parallelism
• Leverage parallelization information from master execution:
– Concurrent transactions, which have not blocked each other on the master, are
marked as non-contending in the binary log.
• Meanwhile, at the slave:
– Non-contending transactions are scheduled in parallel;
– Concurrent transactions commit independently, thus no waiting involved.
Tuesday, October 20, 2015 Oracle Confidential – Restricted 28
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Improved Applier Throughput – Locking-based Parallelism
• T2 is scheduled to execute
together with T1.
• T3 is scheduled to execute
as soon as T1 finishes.
Tuesday, October 20, 2015
T1
T2
T3
Time
Commit Finishes
Last Lock Acquired
Concurrent Execution History
on the Master
Execution
Commit
T1 and T2 execute in
parallel on the slave.
T2 and T3 execute in
parallel on the slave.
Oracle Confidential – Restricted 29
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Improved Applier Throughput – Locking-based Parallelism
• Supports statement-based or row-based formats.
• Scheduling policy controlled through:
– logical_clock - means schedule based on the locking interval timestamps.
– database - the scheduling policy from 5.6 (concurrency control done per database).
• Work to improve slave scalability continues, does not stop here.
Tuesday, October 20, 2015
mysql> SET slave_parallel_type= [logical_clock|database]
Oracle Confidential – Restricted 30
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Improved User Threads-Sender Threads Synchronization
Tuesday, October 20, 2015
Insert...
Insert...
B
binary log
Insert...
relay log
Insert...
A
binary log
Client
Sender
thread
Receiver
thread
Applier
Threads
Receiver
Meta-data
Update
Applier
Meta-data
Update
Network
Oracle Confidential – Restricted 31
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Improved User Threads-Sender Threads Synchronization
• Concurrent reads by the sender thread with ongoing writes from user
threads.
– Sender thread does not block user sessions more than necessary.
– Higher throughput for both sender threads and user sessions.
Tuesday, October 20, 2015
Sender Thread Reads Binary Log User Thread Writes to Binary Log
Sender Thread Reads Binary Log
User Thread Writes to Binary Log
pre 5.7.2
5.7.2+
Oracle Confidential – Restricted 32
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Faster Semi-sync Replication – ACK Receiver Thread
Tuesday, October 20, 2015
Insert...
Insert...
B
binary log
Insert...
relay log
Insert...
A
binary log
Client
ACK
Receiver
thread
Receiver
thread
Applier
Threads
Receiver
Meta-data
Update
Applier
Meta-data
Update
Network
Sender
thread
Oracle Confidential – Restricted 33
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Faster Semi-sync Replication – ACK Receiver Thread
• Consecutive transactions do not block each other while waiting for ACKs
– Transaction t1 and t2 are sent immediately to the slave by the sender thread
– ACKs are received only by a special thread
– Transaction t2 does not include t1 round trip in its semi-sync overall latency
• Thread starts when semi-sync is activated
• Thread stops when semi-sync is deactivated
Tuesday, October 20, 2015
mysql> SET GLOBAL rpl_semi_master_enabled= ON
mysql> SET GLOBAL rpl_semi_master_enabled= OFF
Oracle Confidential – Restricted 34
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Replication Features in MySQL 5.7
Usability / Online
Performance
Improved reliability
2
Tuesday, October 20, 2015
2.1
2.2
2.3
Oracle Confidential – Restricted
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Loss-less Semi-sync Replication
Tuesday, October 20, 2015
Insert...
Insert...
B
binary log
Insert...
relay log
Insert...
A
binary log
Client
Sender
thread
Receiver
thread
Applier
Threads
Receiver
Meta-data
Update
Applier
Meta-data
Update
Network
Oracle Confidential – Restricted 36
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Loss-less Semi-sync Replication
Tuesday, October 20, 2015
Master
Slave
T1: INSERT INTO t1 VALUES (1000)
ACK
Time
T2: SELECT * FROM t1; empty set
execute prepare binlog
relay log
commitexecute
Oracle Confidential – Restricted 37
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Loss-less Semi-sync Replication
• Master waits for slave's ACK before committing (as opposed to: master
waits for slave's ACK after committing).
– Therefore, concurrent transactions do not see changes while this transaction waits for
ack.
• Should a master fail, then any transaction that it may have externalized is
also persisted on a slave.
• User can choose between the original semi-sync behavior and the new
one.
Tuesday, October 20, 2015
mysql> SET rpl_semi_sync_master_wait_point= [AFTER_SYNC|AFTER_COMMIT]
Oracle Confidential – Restricted 38
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Semi-sync Replication – Wait for Multiple ACKs
Tuesday, October 20, 2015
Insert...
Insert...
B
binary log
Insert...
relay log
Insert...
A
binary log
Client
Sender
thread
Receiver
thread
Applier
Threads
Receiver
Meta-data
Update
Applier
Meta-data
Update
Network
Oracle Confidential – Restricted 39
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Semi-sync Replication – Wait for Multiple ACKs
• Master does not commit transaction until it receives N ACKs from N slaves.
• Dynamically settable:
Tuesday, October 20, 2015
mysql> SET GLOBAL rpl_semi_sync_master_wait_for_slave_count= N
Oracle Confidential – Restricted 40
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Semi-sync Replication – Wait for Multiple ACKs
• Master does not commit transaction until it receives N ACKs from N slaves.
• Dynamically settable:
Tuesday, October 20, 2015
mysql> SET GLOBAL rpl_semi_sync_master_wait_for_slave_count= N
Master
Slave 2
T1: COMMIT
ACK
Slave 1
ACK
T1: COMMIT
succeeds
mysql> SET GLOBAL rpl_semi_sync_master_wait_for_slave_count= 2
Slave 3
Time
relay log
relay log
relay log
Oracle Confidential – Restricted 41
ACK
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Replication Features in MySQL 5.7
Usability / Online
Performance
Improved reliability
Flexibility
2
Tuesday, October 20, 2015
2.1
2.2
2.3
2.4
Oracle Confidential – Restricted
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Storing Global Transaction Identifiers in a Table
Tuesday, October 20, 2015
Insert...
B
Insert...
relay log
Insert...
A
binary log
Client
Sender
thread
Receiver
thread
Applier
Threads
Receiver
Meta-data
Update
Applier
Meta-data
Update
Network
Oracle Confidential – Restricted 43
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Storing Global Transaction Identifiers in a Table
• Slaves can use GTIDs with binary logs disabled.
– Slaves that are never candidates to become a master can still use GTIDs for auto
positioning.
Use Cases
Tuesday, October 20, 2015 Oracle Confidential – Restricted 44
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Multi-Source Replication
Tuesday, October 20, 2015
S
M M Slave can have more than one master.M M
The need for gathering data in a central server:
• Integrated backup;
• Complex queries for analytics purposes;
• Data HUB for inter-cluster replication.
Oracle Confidential – Restricted 45
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Multi-Source Replication II
• A server (slave) can replicate from multiple sources (masters).
• Multiple channels (channel: connection thread, relay log, applier threads)
that can be stopped started individually.
• Integrated with Multi-threaded Slave.
– Each channel has its own multi-threaded applier set of threads.
• Integrated with the new P_S tables.
– replication_applier_status_by_coordinator shows multiple entries, one per
channel/source applier.
– replication_connection_status shows multiple entries, one per connection to
different sources.
Tuesday, October 20, 2015 Oracle Confidential – Restricted 46
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Multi-Source Replication III
• Integrated with GTIDs.
• Integrated with crash-safe tables.
– Progress state is stored in these tables for recoverability purposes.
• Virtually no limit on the number of sources (capped to 256, but can be
changed if server binary is rebuilt).
Tuesday, October 20, 2015 Oracle Confidential – Restricted 47
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
The Road Ahead!4
Tuesday, October 20, 2015 Oracle Confidential – Restricted
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
What is Next?
• MySQL Group Replication
– Rapid releases.
– Improve performance, stability and usability.
• MySQL Replication Usability
– Instrument even more replication and extend replication P_S tables
– Simpler administrative commands
• MySQL Replication Performance
– Continue to improve multi-threaded (slave) applier
– Continue to improve semi-sync
Tuesday, October 20, 2015 Oracle Confidential – Restricted 49
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Where to go from here?
• Packages
– http://dev.mysql.com
– http://labs.mysql.com
• Reference Documentation
– http://dev.mysql.com/doc/#manual
• Blogs from the Engineers (news, quirks, technical information and much
more)
– http://mysqlhighavailability.com
Tuesday, October 20, 2015 Oracle Confidential – Restricted 50
MySQL 5.7 Replication News

More Related Content

PDF
MySQL 5.6, news in 5.7 and our HA options
PDF
MySQL Enterprise Backup apr 2016
PDF
What's new in my sql smug
PDF
MySQL Enterprise Monitor
PDF
MySQL Security
PDF
MySQL 5.7: What's New, Nov. 2015
PPTX
MySQL Tech Tour 2015 - 5.7 Whats new
PDF
Introduction to MySQL
MySQL 5.6, news in 5.7 and our HA options
MySQL Enterprise Backup apr 2016
What's new in my sql smug
MySQL Enterprise Monitor
MySQL Security
MySQL 5.7: What's New, Nov. 2015
MySQL Tech Tour 2015 - 5.7 Whats new
Introduction to MySQL

What's hot (20)

PPTX
MySQL High Availibility Solutions
PDF
MySQL for Software-as-a-Service (SaaS)
PDF
What's new in MySQL 5.7, Oracle Virtual Technology Summit, 2016
PDF
MySQL 5.7: Focus on Replication
PDF
MySQL Security
PDF
NoSQL and MySQL
PPTX
MySQL Tech Tour 2015 - 5.7 Security
PDF
NoSQL and MySQL: News about JSON
ODP
MySQL Enterprise Portfolio
PDF
MySQL Manchester TT - 5.7 Whats new
PDF
MySQL Cluster as Transactional NoSQL (KVS)
PDF
MySQL Community and Commercial Edition
PDF
MySQL Cloud Service Deep Dive
PPTX
MySQL Tech Tour 2015 - 5.7 InnoDB
PPTX
20140722 Taiwan MySQL User Group Meeting Tech Updates
PDF
MySQL Document Store
PDF
My sql5.7 whatsnew_presentedatgids2015
PDF
MySQL 5.7 - What's new, How to upgrade and Document Store
PDF
TWJUG August, What's new in MySQL 5.7 RC
PDF
TWJUG August, MySQL JDBC Driver "Connector/J"
MySQL High Availibility Solutions
MySQL for Software-as-a-Service (SaaS)
What's new in MySQL 5.7, Oracle Virtual Technology Summit, 2016
MySQL 5.7: Focus on Replication
MySQL Security
NoSQL and MySQL
MySQL Tech Tour 2015 - 5.7 Security
NoSQL and MySQL: News about JSON
MySQL Enterprise Portfolio
MySQL Manchester TT - 5.7 Whats new
MySQL Cluster as Transactional NoSQL (KVS)
MySQL Community and Commercial Edition
MySQL Cloud Service Deep Dive
MySQL Tech Tour 2015 - 5.7 InnoDB
20140722 Taiwan MySQL User Group Meeting Tech Updates
MySQL Document Store
My sql5.7 whatsnew_presentedatgids2015
MySQL 5.7 - What's new, How to upgrade and Document Store
TWJUG August, What's new in MySQL 5.7 RC
TWJUG August, MySQL JDBC Driver "Connector/J"
Ad

Viewers also liked (8)

PPTX
Discovering MySQL 5.7 @ InstantPost
PDF
Upgrade to MySQL 5.7 and latest news planned for MySQL 8
PDF
New awesome features in MySQL 5.7
PPTX
MySQL 5.7 New Features for Developers
ODP
MySQL 5.7 clustering: The developer perspective
PPTX
MySQL Replication Evolution -- Confoo Montreal 2017
PDF
Replication in the wild ankara cloud meetup - feb 2017
PDF
Multi Source Replication With MySQL 5.7 @ Verisure
Discovering MySQL 5.7 @ InstantPost
Upgrade to MySQL 5.7 and latest news planned for MySQL 8
New awesome features in MySQL 5.7
MySQL 5.7 New Features for Developers
MySQL 5.7 clustering: The developer perspective
MySQL Replication Evolution -- Confoo Montreal 2017
Replication in the wild ankara cloud meetup - feb 2017
Multi Source Replication With MySQL 5.7 @ Verisure
Ad

Similar to MySQL 5.7 Replication News (20)

PPTX
MySQL Tech Tour 2015 - 5.7 Replication
PDF
Replication featuresinmysql5.7andbeyond osi-final
PDF
MySQL user camp march 11th 2016
PDF
MySQL Manchester TT - Replication Features
PDF
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...
PDF
2 ivan ma-mysql複製的演進和應用-twn- v1
PDF
MySQL User Camp: GTIDs
PDF
MySQL The State of the Dolphin - jun15
PDF
5 razões estratégicas para usar MySQL
PPTX
MySQL High Availability Solutions - Feb 2015 webinar
PDF
1 my sql20151219-kaji_ivan
PDF
Sunshine php my sql 8.0 v2
PDF
200 million qps on commodity hardware : Getting started with MySQL Cluster 7.4
PDF
MySQL Router - Explore The Secrets (MySQL Belgian Days 2024)
PDF
MySQL London Tech Tour March 2015 - Whats New
PPT
MySQL Tech Tour 2015 - 5.7 Connector/J/Net
PDF
MySQL Shell/AdminAPI - MySQL Architectures Made Easy For All!
PDF
Oracle OpenWorld - Getting started with MySQL Cluster
PPTX
MySQL Tech Tour 2015 - Intro
PDF
High-Availability using MySQL Fabric
MySQL Tech Tour 2015 - 5.7 Replication
Replication featuresinmysql5.7andbeyond osi-final
MySQL user camp march 11th 2016
MySQL Manchester TT - Replication Features
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...
2 ivan ma-mysql複製的演進和應用-twn- v1
MySQL User Camp: GTIDs
MySQL The State of the Dolphin - jun15
5 razões estratégicas para usar MySQL
MySQL High Availability Solutions - Feb 2015 webinar
1 my sql20151219-kaji_ivan
Sunshine php my sql 8.0 v2
200 million qps on commodity hardware : Getting started with MySQL Cluster 7.4
MySQL Router - Explore The Secrets (MySQL Belgian Days 2024)
MySQL London Tech Tour March 2015 - Whats New
MySQL Tech Tour 2015 - 5.7 Connector/J/Net
MySQL Shell/AdminAPI - MySQL Architectures Made Easy For All!
Oracle OpenWorld - Getting started with MySQL Cluster
MySQL Tech Tour 2015 - Intro
High-Availability using MySQL Fabric

More from Ted Wennmark (9)

PDF
MySQL NDB Cluster 8.0
PDF
Upgrade to MySQL 8.0!
PDF
MySQL Performance - Best practices
PDF
01 upgrade to my sql8
PDF
MySQL as a Document Store
PDF
MySQL HA
PDF
MySQL Fabric - High Availability & Automated Sharding for MySQL
PDF
The MySQL Performance Schema & New SYS Schema
PDF
MySQL@king
MySQL NDB Cluster 8.0
Upgrade to MySQL 8.0!
MySQL Performance - Best practices
01 upgrade to my sql8
MySQL as a Document Store
MySQL HA
MySQL Fabric - High Availability & Automated Sharding for MySQL
The MySQL Performance Schema & New SYS Schema
MySQL@king

Recently uploaded (20)

PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PPTX
OMC Textile Division Presentation 2021.pptx
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PDF
Approach and Philosophy of On baking technology
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Spectroscopy.pptx food analysis technology
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Machine learning based COVID-19 study performance prediction
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Univ-Connecticut-ChatGPT-Presentaion.pdf
Group 1 Presentation -Planning and Decision Making .pptx
OMC Textile Division Presentation 2021.pptx
Empathic Computing: Creating Shared Understanding
Digital-Transformation-Roadmap-for-Companies.pptx
Heart disease approach using modified random forest and particle swarm optimi...
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
Approach and Philosophy of On baking technology
Network Security Unit 5.pdf for BCA BBA.
Spectral efficient network and resource selection model in 5G networks
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Spectroscopy.pptx food analysis technology
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Machine learning based COVID-19 study performance prediction
Building Integrated photovoltaic BIPV_UPV.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...

MySQL 5.7 Replication News

  • 1. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |Tuesday, October 20, 2015 Oracle Confidential – Restricted MySQL 5.7 Replication Update Ted Wennmark ([email protected]) MySQL EMEA Techtour 1 The Latest and Greatest MySQL 5.7 Replication Features and More!
  • 2. Copyright © 2015, 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. Tuesday, October 20, 2015 Oracle Confidential – Restricted 2
  • 3. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Program Agenda Background Replication Features in MySQL 5.7 News From The Lab! The Road Ahead! 1 2 3 4 Tuesday, October 20, 2015 Oracle Confidential – Restricted 3
  • 4. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Background1 Tuesday, October 20, 2015 Oracle Confidential – Restricted
  • 5. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Background: Replication Components Tuesday, October 20, 2015 Insert... Insert... B binary log Insert... relay log Insert... A binary log Client Sender thread Receiver thread Applier Threads Receiver Meta-data Update Applier Meta-data Update Network Oracle Confidential – Restricted 5
  • 6. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Background: Replication Components • Binary Log – File based logical log that records the changes on the master. – Statement or Row based format (may be intermixed). – Each transactions is split into groups of events. – Control events: Rotate, Format Description, Gtid, ... Tuesday, October 20, 2015 Layout of a Binary Log File BEGIN ...E1 E2 COMMIT BEGIN ...E1 E2 COMMIT Oracle Confidential – Restricted 6
  • 7. Copyright © 2015, 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? Tuesday, October 20, 2015 Oracle Confidential – Restricted 7
  • 8. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | M M? write clients write clients More writes? More Masters? M? M? MySQL Fabric helps sharding your data with MySQL... What about write scale-out? Tuesday, October 20, 2015 Oracle Confidential – Restricted 8
  • 9. Copyright © 2015, 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? Tuesday, October 20, 2015 Oracle Confidential – Restricted 9
  • 10. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | M S write clients business intelligent client applications reporting client applications big queries client applications On-line Backup and Reporting Background: What is Replication Used For? Tuesday, October 20, 2015 Oracle Confidential – Restricted 10
  • 11. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | CB BA AC Image from www.ginkgomaps.com Background: What is Replication Used For? Tuesday, October 20, 2015 Oracle Confidential – Restricted 11
  • 12. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Replication Features in MySQL 5.7 Usability / Online 2 Tuesday, October 20, 2015 2.1 Oracle Confidential – Restricted
  • 13. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Online Reconfiguration of Global Transaction Identifiers Tuesday, October 20, 2015 Insert... Insert... B binary log Insert... relay log Insert... A binary log Client Sender thread Receiver thread Applier Threads Receiver Meta-data Update Applier Meta-data Update Network Oracle Confidential – Restricted 13
  • 14. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Online Reconfiguration of Global Transaction Identifiers • The procedure is online. – Both reads and writes are allowed while global transaction identifiers are being turned on or off in the entire replication cluster. • No need to synchronize servers, ever. • No need to restart servers. • No need to change replication topology. – Works in arbitrary topologies. • Should anything happen in the middle of the procedure, you can always roll back. Tuesday, October 20, 2015 Oracle Confidential – Restricted 14
  • 15. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Online Reconfiguration of Global Transaction Identifiers • Over simplified procedure to turn on global transaction identifiers: • Details: http://dev.mysql.com/doc/refman/5.7/en/replication-mode- change-online-enable-gtids.html Tuesday, October 20, 2015 ( SET @@GLOBAL.ENFORCE_GTID_CONSISTENCY = WARN | ON) 1)SET @@GLOBAL.GTID_MODE = OFF_PERMISSIVE; (on every server) 2) SET @@GLOBAL.GTID_MODE = ON_PERMISSIVE; (on every server) 3) wait for a bit longer than your replication lag 4) SET @@GLOBAL.GTID_MODE = ON; (on every server) Oracle Confidential – Restricted 15
  • 16. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Online Reconfiguration of Replication Filters Tuesday, October 20, 2015 Insert... Insert... B binary log Insert... relay log Insert... A binary log Client Sender thread Receiver thread Applier Threads Receiver Meta-data Update Applier Meta-data Update Network Oracle Confidential – Restricted 16
  • 17. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Online Reconfiguration of Replication Filters • Change Slave's Replication Filters dynamically. – No need to stop and restart the slave server for setting new replication filtering rules. – All slave filters are supported. – Values can be input in various character sets. Tuesday, October 20, 2015 mysql> CHANGE REPLICATION FILTER REPLICATE_DO_DB= (db1, db2) Oracle Confidential – Restricted 17
  • 18. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Online Switch/Fail-over to a new Master Tuesday, October 20, 2015 Insert... Insert... B binary log Insert... relay log Insert... A binary log Client Sender thread Receiver thread Applier Threads Receiver Meta-data Update Applier Meta-data Update Network Oracle Confidential – Restricted 18
  • 19. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Change master from A to B without stopping the applier threads. Online Switch/Fail-over to a new Master Tuesday, October 20, 2015 C B A C B ACrash C B A B is the new master Uh Oh! Whew! Oracle Confidential – Restricted 19
  • 20. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Change master from A to B without stopping the applier threads. Online Switch/Fail-over to a new Master Tuesday, October 20, 2015 C B A C B ACrash C B A Uh Oh! Whew! DBA did not need C to stop applying its relay log to change C's master from A to B. Oracle Confidential – Restricted 20
  • 21. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Online Switch/Fail-over to a new Master • Enables more online operations during fail-over: • Stopping, changing master and restarting the receiver thread are all done while the applier thread is running. • Change applier properties while the receiver thread is working: Tuesday, October 20, 2015 mysql> STOP SLAVE IO_THREAD; mysql> CHANGE MASTER TO MASTER_HOST='master2', …; mysql> START SLAVE IO_THREAD; mysql> STOP SLAVE SQL_THREAD; mysql> CHANGE MASTER TO MASTER_DELAY=3600, …; mysql> START SLAVE SQL_THREAD; Oracle Confidential – Restricted 21
  • 22. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Improved Replication Monitoring Tuesday, October 20, 2015 Insert... Insert... B binary log Insert... relay log Insert... A binary log Client Sender thread Receiver thread Applier Threads Receiver Meta-data Update Applier Meta-data Update Network Oracle Confidential – Restricted 22 DBA
  • 23. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Improved Replication Monitoring • Monitoring through SQL. • Logically unrelated information into different places. • Extensible, can be adapted to new features. • More accurate and consistent identifier names. • Master-slave, Multi-source, Group Replication support. Performance Schema Replication Tables Tuesday, October 20, 2015 Oracle Confidential – Restricted 23
  • 24. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Improved Replication Monitoring Tuesday, October 20, 2015 mysql> select * from performance_schema.replication_applier_status_by_workerG *************************** 1. row *************************** CHANNEL_NAME: WORKER_ID: 1 THREAD_ID: 35 SERVICE_STATE: ON LAST_SEEN_TRANSACTION: 4ba0eb86-63c3-11e4-92ba-28b2bd168d07:2368 LAST_ERROR_NUMBER: 0 LAST_ERROR_MESSAGE: LAST_ERROR_TIMESTAMP: 0000-00-00 00:00:00 *************************** 2. row *************************** CHANNEL_NAME: WORKER_ID: 2 THREAD_ID: 36 SERVICE_STATE: ON LAST_SEEN_TRANSACTION: 4ba0eb86-63c3-11e4-92ba-28b2bd168d07:2367 LAST_ERROR_NUMBER: 0 LAST_ERROR_MESSAGE: LAST_ERROR_TIMESTAMP: 0000-00-00 00:00:00 2 rows in set (0,00 sec) Oracle Confidential – Restricted 24
  • 25. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Replication Features in MySQL 5.7 Usability / Online Performance 2 Tuesday, October 20, 2015 2.1 2.2 Oracle Confidential – Restricted
  • 26. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Improved Applier Throughput – Locking-based Parallelism Tuesday, October 20, 2015 Insert... Insert... B binary log Insert... relay log Insert... A binary log Client Sender thread Receiver thread Applier Threads Receiver Meta-data Update Applier Meta-data Update Network Oracle Confidential – Restricted 26
  • 27. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Improved Applier Throughput – Locking-based Parallelism Tuesday, October 20, 2015 Single Threaded Apply 8 Threads Applier 24 Threads Applier 48 Threads Applier 96 Threads Applier 0% 50% 100% 150% 200% 250% Fast and Scalable Multi-threaded Replication Applier (statement-based replication, durable settings, SSD storage) Slaveapplytime (SysbenchRWonthemasterwith96threads=100%) 10X Oracle Confidential – Restricted 27
  • 28. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Improved Applier Throughput – Locking-based Parallelism • Leverage parallelization information from master execution: – Concurrent transactions, which have not blocked each other on the master, are marked as non-contending in the binary log. • Meanwhile, at the slave: – Non-contending transactions are scheduled in parallel; – Concurrent transactions commit independently, thus no waiting involved. Tuesday, October 20, 2015 Oracle Confidential – Restricted 28
  • 29. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Improved Applier Throughput – Locking-based Parallelism • T2 is scheduled to execute together with T1. • T3 is scheduled to execute as soon as T1 finishes. Tuesday, October 20, 2015 T1 T2 T3 Time Commit Finishes Last Lock Acquired Concurrent Execution History on the Master Execution Commit T1 and T2 execute in parallel on the slave. T2 and T3 execute in parallel on the slave. Oracle Confidential – Restricted 29
  • 30. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Improved Applier Throughput – Locking-based Parallelism • Supports statement-based or row-based formats. • Scheduling policy controlled through: – logical_clock - means schedule based on the locking interval timestamps. – database - the scheduling policy from 5.6 (concurrency control done per database). • Work to improve slave scalability continues, does not stop here. Tuesday, October 20, 2015 mysql> SET slave_parallel_type= [logical_clock|database] Oracle Confidential – Restricted 30
  • 31. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Improved User Threads-Sender Threads Synchronization Tuesday, October 20, 2015 Insert... Insert... B binary log Insert... relay log Insert... A binary log Client Sender thread Receiver thread Applier Threads Receiver Meta-data Update Applier Meta-data Update Network Oracle Confidential – Restricted 31
  • 32. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Improved User Threads-Sender Threads Synchronization • Concurrent reads by the sender thread with ongoing writes from user threads. – Sender thread does not block user sessions more than necessary. – Higher throughput for both sender threads and user sessions. Tuesday, October 20, 2015 Sender Thread Reads Binary Log User Thread Writes to Binary Log Sender Thread Reads Binary Log User Thread Writes to Binary Log pre 5.7.2 5.7.2+ Oracle Confidential – Restricted 32
  • 33. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Faster Semi-sync Replication – ACK Receiver Thread Tuesday, October 20, 2015 Insert... Insert... B binary log Insert... relay log Insert... A binary log Client ACK Receiver thread Receiver thread Applier Threads Receiver Meta-data Update Applier Meta-data Update Network Sender thread Oracle Confidential – Restricted 33
  • 34. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Faster Semi-sync Replication – ACK Receiver Thread • Consecutive transactions do not block each other while waiting for ACKs – Transaction t1 and t2 are sent immediately to the slave by the sender thread – ACKs are received only by a special thread – Transaction t2 does not include t1 round trip in its semi-sync overall latency • Thread starts when semi-sync is activated • Thread stops when semi-sync is deactivated Tuesday, October 20, 2015 mysql> SET GLOBAL rpl_semi_master_enabled= ON mysql> SET GLOBAL rpl_semi_master_enabled= OFF Oracle Confidential – Restricted 34
  • 35. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Replication Features in MySQL 5.7 Usability / Online Performance Improved reliability 2 Tuesday, October 20, 2015 2.1 2.2 2.3 Oracle Confidential – Restricted
  • 36. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Loss-less Semi-sync Replication Tuesday, October 20, 2015 Insert... Insert... B binary log Insert... relay log Insert... A binary log Client Sender thread Receiver thread Applier Threads Receiver Meta-data Update Applier Meta-data Update Network Oracle Confidential – Restricted 36
  • 37. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Loss-less Semi-sync Replication Tuesday, October 20, 2015 Master Slave T1: INSERT INTO t1 VALUES (1000) ACK Time T2: SELECT * FROM t1; empty set execute prepare binlog relay log commitexecute Oracle Confidential – Restricted 37
  • 38. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Loss-less Semi-sync Replication • Master waits for slave's ACK before committing (as opposed to: master waits for slave's ACK after committing). – Therefore, concurrent transactions do not see changes while this transaction waits for ack. • Should a master fail, then any transaction that it may have externalized is also persisted on a slave. • User can choose between the original semi-sync behavior and the new one. Tuesday, October 20, 2015 mysql> SET rpl_semi_sync_master_wait_point= [AFTER_SYNC|AFTER_COMMIT] Oracle Confidential – Restricted 38
  • 39. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Semi-sync Replication – Wait for Multiple ACKs Tuesday, October 20, 2015 Insert... Insert... B binary log Insert... relay log Insert... A binary log Client Sender thread Receiver thread Applier Threads Receiver Meta-data Update Applier Meta-data Update Network Oracle Confidential – Restricted 39
  • 40. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Semi-sync Replication – Wait for Multiple ACKs • Master does not commit transaction until it receives N ACKs from N slaves. • Dynamically settable: Tuesday, October 20, 2015 mysql> SET GLOBAL rpl_semi_sync_master_wait_for_slave_count= N Oracle Confidential – Restricted 40
  • 41. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Semi-sync Replication – Wait for Multiple ACKs • Master does not commit transaction until it receives N ACKs from N slaves. • Dynamically settable: Tuesday, October 20, 2015 mysql> SET GLOBAL rpl_semi_sync_master_wait_for_slave_count= N Master Slave 2 T1: COMMIT ACK Slave 1 ACK T1: COMMIT succeeds mysql> SET GLOBAL rpl_semi_sync_master_wait_for_slave_count= 2 Slave 3 Time relay log relay log relay log Oracle Confidential – Restricted 41 ACK
  • 42. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Replication Features in MySQL 5.7 Usability / Online Performance Improved reliability Flexibility 2 Tuesday, October 20, 2015 2.1 2.2 2.3 2.4 Oracle Confidential – Restricted
  • 43. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Storing Global Transaction Identifiers in a Table Tuesday, October 20, 2015 Insert... B Insert... relay log Insert... A binary log Client Sender thread Receiver thread Applier Threads Receiver Meta-data Update Applier Meta-data Update Network Oracle Confidential – Restricted 43
  • 44. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Storing Global Transaction Identifiers in a Table • Slaves can use GTIDs with binary logs disabled. – Slaves that are never candidates to become a master can still use GTIDs for auto positioning. Use Cases Tuesday, October 20, 2015 Oracle Confidential – Restricted 44
  • 45. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Multi-Source Replication Tuesday, October 20, 2015 S M M Slave can have more than one master.M M The need for gathering data in a central server: • Integrated backup; • Complex queries for analytics purposes; • Data HUB for inter-cluster replication. Oracle Confidential – Restricted 45
  • 46. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Multi-Source Replication II • A server (slave) can replicate from multiple sources (masters). • Multiple channels (channel: connection thread, relay log, applier threads) that can be stopped started individually. • Integrated with Multi-threaded Slave. – Each channel has its own multi-threaded applier set of threads. • Integrated with the new P_S tables. – replication_applier_status_by_coordinator shows multiple entries, one per channel/source applier. – replication_connection_status shows multiple entries, one per connection to different sources. Tuesday, October 20, 2015 Oracle Confidential – Restricted 46
  • 47. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Multi-Source Replication III • Integrated with GTIDs. • Integrated with crash-safe tables. – Progress state is stored in these tables for recoverability purposes. • Virtually no limit on the number of sources (capped to 256, but can be changed if server binary is rebuilt). Tuesday, October 20, 2015 Oracle Confidential – Restricted 47
  • 48. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | The Road Ahead!4 Tuesday, October 20, 2015 Oracle Confidential – Restricted
  • 49. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | What is Next? • MySQL Group Replication – Rapid releases. – Improve performance, stability and usability. • MySQL Replication Usability – Instrument even more replication and extend replication P_S tables – Simpler administrative commands • MySQL Replication Performance – Continue to improve multi-threaded (slave) applier – Continue to improve semi-sync Tuesday, October 20, 2015 Oracle Confidential – Restricted 49
  • 50. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Where to go from here? • Packages – http://dev.mysql.com – http://labs.mysql.com • Reference Documentation – http://dev.mysql.com/doc/#manual • Blogs from the Engineers (news, quirks, technical information and much more) – http://mysqlhighavailability.com Tuesday, October 20, 2015 Oracle Confidential – Restricted 50