SlideShare a Scribd company logo
1 of 107
Download to read offline
MySQL Replication and
Scalability
Shivji Jha
Software Developer,
MySQL Replication Team
2 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Safe Harbour 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.
3 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Overview
MySQL Replication: Discover What's New
Overview: MySQL Replication
Consistency: Lossless Semi-Sync
Slave Throughput: Improved Multi-Threaded Slave
Flexibility: Multi-Source Replication
Monitoring: Performance_Schema Tables
Next steps
4 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
“In my opinion, MySQL is the only database we
would ever trust to power the Zappos.com
website.”
"On any given day we can sell close to
300,000 tickets on the Web site using
MySQL as the database to search for
events. It is amazing."
"craigslist infrastructure could
not have handled the
exponential growth in traffic
without MySQL.”
“We are one of the largest MySQL
web sites in production
MySQL Replication In Action on the Web
“As a leader in our field, we are committed to
providing the best service to our users, and a
web experience that meets members
expectations and that starts with IT”
5 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
What is
Replication?
6 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Replication: Copy Changes Master → Slave
 MySQL Master Server
●
Changes data
●
Sends changes to slave
 MySQL Slave Server
●
Receives changes from master
●
Applies received changes to database
M S
7 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Replication: Copy Changes Master → Slave
M M/S S
S
S
S
M
Server can be master, slave or both
Master can have multiple slaves
8 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Replication: Copy Changes Master → Slave
S
M
M
Slave can only have one master
S
M
M
Slave can have multiple masters!
labs.mysql.com
labs
Yippee!
9 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Replication: Copy Changes Master → Slave
M/S
Circular replication is also possible
M/S
M/S
M/S
M/S
M/S
10 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Replication: Copy Changes Master → Slave
Filters on slave
SM
Replication
filter
I have a lot
of tables
I only have
table_1
11 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Why Use
Replication?
12 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Why Replication? – Performance
Read scale-out
M S
write clients read clients
13 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Why Replication? – Performance
Read scale-out
M S
write clients read clients
More
reads?
More
slaves!
14 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Why Replication? – Performance
Read scale-out
M S
S
S
S
M
write clients read clients read clients
write clients
More
reads?
More
slaves!
15 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Why Replication? – Redundancy
 If master crashes, promote slave to master
C
B
A
16 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Why Replication? – Redundancy
 If master crashes, promote slave to master
C
B
ACrash
17 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Why Replication? – Redundancy
 If master crashes, promote slave to master
C
B
A
B is the
new master
18 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Why Replication? – Online backup/reporting
 Expensive queries on slave(s)
M S
Regular clients
 Reports
 Big queries
 Business intelligence
19 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Why Replication? – Long-distance Data
Distribution
CB
BAAC
Image from
www.ginkgomaps.com
20 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
How Does
Replication
Work?
21 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
All Transactions Written to Binary Log
A
binary log
Client
22 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
All Transactions Written to Binary Log
create table t (a int);
A
binary log
Client
23 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
All Transactions Written to Binary Log
create table t (a int);
Table t
create...
A
binary log
Client
24 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
All Transactions Written to Binary Log
create table t (a int);
insert into t values (1);
Table t
create...
A
binary log
Client
25 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
All Transactions Written to Binary Log
create table t (a int);
insert into t values (1);
Table t
1
create...
insert...A
binary log
Client
26 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Slave Initiates Replication
B
binary log
A
binary log
Client
1. Slave sends request
for replication to start
to master
2. Master sends stream
of replication data
to slave
27 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Binary Log Sent to Slave, Re-applied
B
binary log
A
binary log
Client
28 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
Binary Log Sent to Slave, Re-applied
B
binary log
A
binary log
Client
29 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
Binary Log Sent to Slave, Re-applied
Table t
B
binary log
create...
A
binary log
Client
30 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
Binary Log Sent to Slave, Re-applied
Table t Table t
create...
B
binary log
create...
A
binary log
Client
31 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
insert...
Binary Log Sent to Slave, Re-applied
Table t Table t
create...
B
binary log
create...
A
binary log
Client
32 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
insert...
Binary Log Sent to Slave, Re-applied
Table t
1
Table t
create...
B
binary log
create...
insert...A
binary log
Client
33 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
insert...
Binary Log Sent to Slave, Re-applied
Table t
1
Table t
1
create...
insert...B
binary log
create...
insert...A
binary log
Client
34 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Actually, Transactions Land in Slave's Relay Log
B
binary logrelay log
A
binary log
Client
35 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
Actually, Transactions Land in Slave's Relay Log
B
binary logrelay log
A
binary log
Client
36 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
Actually, Transactions Land in Slave's Relay Log
B
binary logrelay log
create...
A
binary log
Client
Table t
37 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
Actually, Transactions Land in Slave's Relay Log
B
binary log
create...
relay log
create...
A
binary log
Client
Table t
38 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
Actually, Transactions Land in Slave's Relay Log
create...
B
binary log
create...
relay log
create...
A
binary log
Client
Table t Table t
39 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
Replication is Asynchronous
create...
B
binary log
create...
relay log
create...
A
binary log
Client
Table t Table t
Transaction
applied here
and
copied here
THEN
applied here
THEN
ack'ed
40 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
insert...
Replication is Asynchronous
create...
B
binary log
create...
relay log
create...
A
binary log
Client
Table t Table t
Transaction
applied here
and
copied here
THEN
applied here
THEN
ack'ed
41 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
insert...
Replication is Asynchronous
create...
B
binary log
create...
relay log
create...
insert...A
binary log
Client
Table t
1
Table t
Transaction
applied here
and
copied here
THEN
applied here
THEN
ack'ed
42 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
insert...
Replication is Asynchronous
create...
B
binary log
create...
relay log
create...
insert...A
binary log
Client
Table t
1
Table t
Transaction
applied here
and
copied here
THEN
applied here
THEN
ack'ed
43 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
insert...
Replication is Asynchronous
create...
B
binary log
create...
insert...
relay log
create...
insert...A
binary log
Client
Table t
1
Table t
Transaction
applied here
and
copied here
THEN
applied here
THEN
ack'ed
44 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
insert...
Replication is Asynchronous
create...
insert...B
binary log
create...
insert...
relay log
create...
insert...A
binary log
Client
Table t
1
Table t
1Transaction
applied here
and
copied here
THEN
applied here
THEN
ack'ed
45 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Overview
MySQL Replication: Discover What's New
Overview: MySQL Replication
Consistency: Lossless Semi-Sync
Slave Throughput: Improved Multi-Threaded Slave
Flexibility: Multi-Source Replication
Monitoring: Performance_Schema Tables
Next steps
46 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
What is
Semi-Synchronous
Replication?
47 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Asynchronous vs Semi-sync Replication
 By default, replication is asynchronous
●
In parallel: Master acks to app and sends transaction to slave
●
Fast
●
Changes lost if master dies
 MySQL 5.5: semi-synchronous replication possible
●
In sequence: slave receives transaction, then master acks to app
●
Slower: Master waits for slave
●
Less risk for lost updates
48 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
Semi-Synchronous Replication (MySQL 5.5)
create...
B
binary log
create...
relay log
create...
A
binary log
Client
Table t Table t
Transaction
applied here
THEN
copied here
and
applied here
THEN
ack'ed
49 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
insert...
Semi-Synchronous Replication (MySQL 5.5)
create...
B
binary log
create...
relay log
create...
A
binary log
Client
Table t Table t
Transaction
applied here
and
applied here
THEN
copied here
THEN
ack'ed
50 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
insert...
Semi-Synchronous Replication (MySQL 5.5)
create...
B
binary log
create...
relay log
create...
insert...A
binary log
Client
Table t
1
Table t
Transaction
applied here
and
applied here
THEN
copied here
THEN
ack'ed
51 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
insert...
Semi-Synchronous Replication (MySQL 5.5)
create...
B
binary log
create...
insert...
relay log
create...
insert...A
binary log
Client
Table t
1
Table t
Transaction
applied here
and
applied here
THEN
copied here
THEN
ack'ed
52 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
insert...
Semi-Synchronous Replication (MySQL 5.5)
create...
B
binary log
create...
insert...
relay log
create...
insert...A
binary log
Client
Table t
1
Table t
Transaction
applied here
and
applied here
THEN
copied here
THEN
ack'ed
53 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
insert...
Semi-Synchronous Replication (MySQL 5.5)
create...
B
binary log
create...
insert...
relay log
create...
insert...A
binary log
Client
Table t
1
Table t
Transaction
applied here
and
applied here
THEN
copied here
THEN
ack'ed
1
2
Slave tells master
when to ack!
54 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
insert...
Semi-Synchronous Replication (MySQL 5.5)
create...
insert...B
binary log
create...
insert...
relay log
create...
insert...A
binary log
Client
Table t
1
Table t
1Transaction
applied here
and
applied here
THEN
copied here
THEN
ack'ed
55 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
What's New in
Semi-Synchronous
Replication?
56 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Loss-Less Semi-Sync Replication (MySQL 5.7.2)
 MySQL 5.5:
semi-synchronous replication
●
Master commit
●
Slave receive
●
Client ack
.If master crashes
between 1 and 2,
committed data is lost
.Concurrent clients
may have seen the transaction
 MySQL 5.7.2:
loss-less semi-sync replication
●
Slave receive
●
Master commit
●
Client ack
.If master crashes, all
committed data is on slave
57 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
Loss-Less Semi-Sync Replication (MySQL 5.7.2)
create...
B
binary log
create...
relay log
create...
A
binary log
Client
Table t Table t
THEN com-
mitted here
and
applied here
Transaction
copied here
and
ack'ed
58 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
insert...
Loss-Less Semi-Sync Replication (MySQL 5.7.2)
create...
B
binary log
create...
relay log
create...
A
binary log
Client
Table t Table t
THEN com-
mitted here
and
applied here
Transaction
copied here
and
ack'ed
59 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
insert...
Loss-Less Semi-Sync Replication (MySQL 5.7.2)
create...
B
binary log
create...
insert...
relay log
create...
insert...A
binary log
Client
Table t Table t
and
applied here
THEN com-
mitted here
Transaction
copied here
and
ack'ed
60 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
insert...
Loss-Less Semi-Sync Replication (MySQL 5.7.2)
create...
B
binary log
create...
insert...
relay log
create...
insert...A
binary log
Client
Table t
1
Table t
and
applied here
Transaction
copied here
and
ack'ed
THEN com-
mitted here
61 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
insert...
Loss-Less Semi-Sync Replication (MySQL 5.7.2)
create...
B
binary log
create...
insert...
relay log
create...
insert...A
binary log
Client
Table t
1
Table t
and
applied here
Transaction
copied here
1
2
Slave tells master
when to commit!
and
ack'ed
THEN com-
mitted here
62 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
insert...
Loss-Less Semi-Sync Replication (MySQL 5.7.2)
create...
B
binary log
create...
insert...
relay log
create...
insert...A
binary log
Client
Table t
1
Table t
and
applied here
THEN com-
mitted here
Transaction
copied here
and
ack'ed
63 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
create...
insert...
Loss-Less Semi-Sync Replication (MySQL 5.7.2)
create...
insert...B
binary log
create...
insert...
relay log
create...
insert...A
binary log
Client
Table t
1
Table t
1and
applied here
THEN com-
mitted here
Transaction
copied here
and
ack'ed
64 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Loss-Less Semi-Sync Replication (MySQL 5.7.2)
 Summary
●
MySQL 5.7.2: loss-less semi-synchronous replication possible
●
If master crashes, all committed data is on slave
●
To enable:
master> SET GLOBAL
rpl_semi_sync_master_wait_point = AFTER_SYNC;
●
(default: AFTER_COMMIT – for 5.5 behavior)
65 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Overview
MySQL Replication: Discover What's New
Overview: MySQL Replication
Consistency: Lossless Semi-Sync
Slave Throughput: Improved Multi-Threaded Slave
Flexibility: Multi-Source Replication
Monitoring: Performance_Schema Tables
Next steps
66 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
What is
Multi-Threaded
Slave?
67 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
A
binary log
 Before MySQL 5.6: Single-threaded slave
Improved Multi-Threaded Slave
B
relay logClient
Client
Client
68 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
A
binary log
 Before MySQL 5.6: Single-threaded slave
Improved Multi-Threaded Slave
B
relay log
Transactions
applied
in parallel
Client
Client
Client
Transactions
logged
in sequence
Transactions
applied
in sequence
69 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
A
binary log
 Before MySQL 5.6: Single-threaded slave
Improved Multi-Threaded Slave
B
relay log
Transactions
applied
in parallel
Client
Client
Client
Transactions
logged
in sequence
Transactions
applied
in sequence
Bottleneck!
70 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
A
binary log
 MySQL 5.6: Multi-threaded slave by database
Improved Multi-Threaded Slave
B
relay log
Transactions
applied
in parallel
Client
Client
Client
Transactions
logged
in sequence
Transactions
applied
in parallel
71 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
A
binary log
 MySQL 5.6: Multi-threaded slave by database
●
Different databases go to different threads
Improved Multi-Threaded Slave
B
relay logClient
Client
Client
DB1
DB2
DB3
72 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
A
binary log
 MySQL 5.6: Multi-threaded slave by database
●
Different databases go to different threads
●
Great for some applications, BUT:
●
No improvement if there is only one database
●
May break cross-database consistency
Improved Multi-Threaded Slave
B
relay logClient
Client
Client
DB1
DB2
DB3
73 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
What's New in
Multi-Threaded
Slave?
74 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
A
binary log
 MySQL 5.7.2: Multi-threaded slave by master concurrency
●
Transactions that were prepared at the same time on master
cannot conflict
●
Master stores a logical timestamp in the binary log
●
Slave applies transactions with same timestamp in parallel
Improved Multi-Threaded Slave
B
relay logClient
Client
Client
75 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
A
binary log
 MySQL 5.7.2: Multi-threaded slave by master concurrency
●
Works always
●
Even for one-database applications
●
Consistent
Improved Multi-Threaded Slave
B
relay logClient
Client
Client
76 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
A
binary log
 MySQL 5.7.2: Multi-threaded slave by master concurrency
●
To enable:
slave> SET GLOBAL
slave_parallel_type = logical_clock;
(default: database – for 5.6 behavior)
Improved Multi-Threaded Slave
B
relay logClient
Client
Client
77 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Overview
MySQL Replication: Discover What's New
Overview: MySQL Replication
Consistency: Lossless Semi-Sync
Slave Throughput: Improved Multi-Threaded Slave
Flexibility: Multi-Source Replication
Monitoring: Performance_Schema Tables
Next steps
78 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Multi-Source Replication
What is
Multi-Source
Replication?
79 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Multi-Source Replication
 Before: Slave can have one master
 Labs release: Slave can have multiple masters
S
M
M
80 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Multi-Source Replication
 Note
●
No conflict detection/resolution
●
Not update everywhere
●
Not synchronous
 The masters must have conflict-free workloads!
81 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Multi-Source Replication
 Slave can have multiple masters
 Preview release: labs.mysql.com
●
Not for production yet
●
Known and unknown limitations and bugs
●
Try it out and give feedback!
S
M
M
82 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Why Use
Multi-Source
Replication?
83 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Multi-Source Replication
for Data Analytics
Business Intelligence
Data analytics
Backup
etc
M
M
M
Database 2
Database 3
Database 1
S
Database 1, 2, 3
84 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Multi-Source Replication
for Merging Shards
M
M
Shard 2
Shard 1
S
New Shard
85 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
How Does
Multi-Source
Work?
86 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Multi-Source Replication
relay log
relay log
relay log
A
B
C
D
87 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Multi-Source + Multi-Threaded
relay log
relay log
relay log
A
B
C
D
88 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Multi-Source Replication
D
relay log
relay log
relay log
A
B
C
D
Channel = Full slave pipeline
89 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Multi-Source Replication
D
relay log
relay log
relay log
A
B
C
D
Channel = Full slave pipeline
Channels are named
my_channel
another_channel
third_channel
90 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Multi-Source Replication
 Setting up
 CHANGE MASTER TO […] FOR CHANNEL = 'name'
91 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Multi-Source Replication
 Other replication commands:
     START SLAVE […] FOR CHANNEL = 'name'
STOP SLAVE […] FOR CHANNEL = 'name'
RESET SLAVE […] FOR CHANNEL = 'name'
FLUSH RELAY LOGS FOR CHANNEL = 'name'
SHOW RELAY LOG EVENTS FOR CHANNEL = 'name'
START SLAVE […] FOR ALL CHANNELS
STOP SLAVE […] FOR ALL CHANNELS
RESET SLAVE […] FOR ALL CHANNELS
SELECT MASTER_POS_WAIT('file', pos[, timeout][, 'channel'])
92 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Multi-Source Replication
 Compatibility
    CHANGE MASTER TO […]   (with no channel specified)
 START SLAVE […] (with no channel specified)
etc
… are the same as …
CHANGE MASTER TO […] FOR CHANNEL = ''
START SLAVE […] FOR CHANNEL = ''
 etc
93 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Overview
MySQL Replication: Discover What's New
Overview: MySQL Replication
Consistency: Lossless Semi-Sync
Slave Throughput: Improved Multi-Threaded Slave
Flexibility: Multi-Source Replication
Monitoring: Performance_Schema Tables
Next steps
94 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Monitoring with Performance_Schema
 Traditional replication monitoring:
SHOW SLAVE STATUS;
– Simple
– Not SQL friendly – no WHERE, no joins, etc
– Multi-source has per-source status
– Multi-threaded slave has per-applier status
 5.7.2: Performance_Schema tables for replication slave
95 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Monitoring with Performance_Schema
relay log
execute status
by coordinator
execute status
by worker
execute
configuration
execute
status
connection
configuration
connection
status
96 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Monitoring with Performance_Schema
 6 tables in performance_schema database:
replication_connection_configuration
replication_connection_status
replication_execute_configuration
replication_execute_status
replication_execute_status_by_coordinator
replication_execute_status_by_worker
 Consistent semantics across tables
 Consistent naming across tables
One row for each worker
in each multi-source channel
One row
for each
multi-source
channel
97 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Monitoring with Performance_Schema
 Example: Connection status
mysql> select * from performance_schema.replication_connection_statusG
*************************** 1. row ***************************
            CHANNEL_NAME: CHANNEL1
             SOURCE_UUID: 7cff7406­23ca­11e3­ac3e­5c260a83b12b
               THREAD_ID: 13
           SERVICE_STATE: ON
RECEIVED_TRANSACTION_SET: 7cff7406­23ca­11e3­ac3e­5c260a83b12b:1­4
       LAST_ERROR_NUMBER: 0
      LAST_ERROR_MESSAGE:
    LAST_ERROR_TIMESTAMP: 0000­00­00 00:00:00
*************************** 2. row ***************************
            CHANNEL_NAME: CHANNEL2
                        ⋮ 
One row for each channel
98 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Monitoring with Performance_Schema
 Example: Connection status
mysql> select * from performance_schema.replication_connection_statusG
*************************** 1. row ***************************
            CHANNEL_NAME: CHANNEL1
             SOURCE_UUID: 7cff7406­23ca­11e3­ac3e­5c260a83b12b
               THREAD_ID: 13
           SERVICE_STATE: ON
RECEIVED_TRANSACTION_SET: 7cff7406­23ca­11e3­ac3e­5c260a83b12b:1­4
       LAST_ERROR_NUMBER: 0
      LAST_ERROR_MESSAGE:
    LAST_ERROR_TIMESTAMP: 0000­00­00 00:00:00
*************************** 2. row ***************************
            CHANNEL_NAME: CHANNEL2
                        ⋮ 
The master's server_uuid
99 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Monitoring with Performance_Schema
 Example: Connection status
mysql> select * from performance_schema.replication_connection_statusG
*************************** 1. row ***************************
            CHANNEL_NAME: CHANNEL1
             SOURCE_UUID: 7cff7406­23ca­11e3­ac3e­5c260a83b12b
               THREAD_ID: 13
           SERVICE_STATE: ON
RECEIVED_TRANSACTION_SET: 7cff7406­23ca­11e3­ac3e­5c260a83b12b:1­4
       LAST_ERROR_NUMBER: 0
      LAST_ERROR_MESSAGE:
    LAST_ERROR_TIMESTAMP: 0000­00­00 00:00:00
*************************** 2. row ***************************
            CHANNEL_NAME: CHANNEL2
                        ⋮ 
Thread id and status
100 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Monitoring with Performance_Schema
 Example: Connection status
mysql> select * from performance_schema.replication_connection_statusG
*************************** 1. row ***************************
            CHANNEL_NAME: CHANNEL1
             SOURCE_UUID: 7cff7406­23ca­11e3­ac3e­5c260a83b12b
               THREAD_ID: 13
           SERVICE_STATE: ON
RECEIVED_TRANSACTION_SET: 7cff7406­23ca­11e3­ac3e­5c260a83b12b:1­4
       LAST_ERROR_NUMBER: 0
      LAST_ERROR_MESSAGE:
    LAST_ERROR_TIMESTAMP: 0000­00­00 00:00:00
*************************** 2. row ***************************
            CHANNEL_NAME: CHANNEL2
                        ⋮ 
Set of transactions
received through this channel
101 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Monitoring with Performance_Schema
 Example: Connection status
mysql> select * from performance_schema.replication_connection_statusG
*************************** 1. row ***************************
            CHANNEL_NAME: CHANNEL1
             SOURCE_UUID: 7cff7406­23ca­11e3­ac3e­5c260a83b12b
               THREAD_ID: 13
           SERVICE_STATE: ON
RECEIVED_TRANSACTION_SET: 7cff7406­23ca­11e3­ac3e­5c260a83b12b:1­4
       LAST_ERROR_NUMBER: 0
      LAST_ERROR_MESSAGE:
    LAST_ERROR_TIMESTAMP: 0000­00­00 00:00:00
*************************** 2. row ***************************
            CHANNEL_NAME: CHANNEL2
                        ⋮ 
Error status
102 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Monitoring with Performance_Schema
 Example: Connection status
mysql> select * from performance_schema.replication_connection_statusG
*************************** 1. row ***************************
            CHANNEL_NAME: CHANNEL1
             SOURCE_UUID: 7cff7406­23ca­11e3­ac3e­5c260a83b12b
               THREAD_ID: NULL
           SERVICE_STATE: OFF
RECEIVED_TRANSACTION_SET: 7cff7406­23ca­11e3­ac3e­5c260a83b12b:1­4
       LAST_ERROR_NUMBER: 1045
      LAST_ERROR_MESSAGE: error connecting to master 'me@host:13000' …
    LAST_ERROR_TIMESTAMP: 2013­11­09 21:03:23
*************************** 2. row ***************************
            CHANNEL_NAME: CHANNEL2
                        ⋮ 
Error status
103 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Monitoring with Performance_Schema
 Example: Connection status
mysql> select * from performance_schema.replication_connection_statusG
*************************** 1. row ***************************
            CHANNEL_NAME: CHANNEL1
             SOURCE_UUID: 7cff7406­23ca­11e3­ac3e­5c260a83b12b
               THREAD_ID: NULL
           SERVICE_STATE: OFF
RECEIVED_TRANSACTION_SET: 7cff7406­23ca­11e3­ac3e­5c260a83b12b:1­4
       LAST_ERROR_NUMBER: 1045
      LAST_ERROR_MESSAGE: error connecting to master 'me@host:13000' …
    LAST_ERROR_TIMESTAMP: 2013­11­09 21:03:23
*************************** 2. row ***************************
            CHANNEL_NAME: CHANNEL2
                        ⋮ 
Thread stopped
on error
104 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Overview
MySQL Replication: Discover What's New
Overview: MySQL Replication
Consistency: Lossless Semi-Sync
Slave Throughput: Improved Multi-Threaded Slave
Flexibility: Multi-Source Replication
Monitoring: Performance_Schema Tables
Next steps
105 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
 Try it out!
●
MySQL 5.6:
http://dev.mysql.com/downloads/mysql/
●
MySQL 5.7.4:
http://dev.mysql.com/downloads/mysql/5.7.html
●
Labs release:
http://labs.mysql.com
 Read the manual!
●
http://dev.mysql.com/doc/refman/5.7/en/index.html
Next Steps
106 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
 Send us feedback!
●
Shivji Kumar Jha
shivji.jha@oracle.com
●
Sven Sandberg
sven.sandberg@oracle.com
●
Luís Soares
luis.soares@oracle.com
 File bugs!
●
http://bugs.mysql.com
Next Steps
107 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.

More Related Content

What's hot

MySQL InnoDB Cluster / ReplicaSet - Tutorial
MySQL InnoDB Cluster / ReplicaSet - TutorialMySQL InnoDB Cluster / ReplicaSet - Tutorial
MySQL InnoDB Cluster / ReplicaSet - TutorialKenny Gryp
 
MySQL Group Replication - HandsOn Tutorial
MySQL Group Replication - HandsOn TutorialMySQL Group Replication - HandsOn Tutorial
MySQL Group Replication - HandsOn TutorialKenny Gryp
 
MySQL Cluster as Transactional NoSQL (KVS)
MySQL Cluster as Transactional NoSQL (KVS)MySQL Cluster as Transactional NoSQL (KVS)
MySQL Cluster as Transactional NoSQL (KVS)Ryusuke Kajiyama
 
20140722 Taiwan MySQL User Group Meeting Tech Updates
20140722 Taiwan MySQL User Group Meeting Tech Updates20140722 Taiwan MySQL User Group Meeting Tech Updates
20140722 Taiwan MySQL User Group Meeting Tech UpdatesRyusuke Kajiyama
 
MySQL Manchester TT - Replication Features
MySQL Manchester TT  - Replication FeaturesMySQL Manchester TT  - Replication Features
MySQL Manchester TT - Replication FeaturesMark Swarbrick
 
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
 
TWJUG August, MySQL JDBC Driver "Connector/J"
TWJUG August, MySQL JDBC Driver "Connector/J"TWJUG August, MySQL JDBC Driver "Connector/J"
TWJUG August, MySQL JDBC Driver "Connector/J"Ryusuke Kajiyama
 
Elastic Scalability in MySQL Fabric Using OpenStack
Elastic Scalability in MySQL Fabric Using OpenStackElastic Scalability in MySQL Fabric Using OpenStack
Elastic Scalability in MySQL Fabric Using OpenStackMats Kindahl
 
TWJUG August, What's new in MySQL 5.7 RC
TWJUG August, What's new in MySQL 5.7 RCTWJUG August, What's new in MySQL 5.7 RC
TWJUG August, What's new in MySQL 5.7 RCRyusuke Kajiyama
 
Disaster Recovery with MySQL InnoDB ClusterSet - What is it and how do I use it?
Disaster Recovery with MySQL InnoDB ClusterSet - What is it and how do I use it?Disaster Recovery with MySQL InnoDB ClusterSet - What is it and how do I use it?
Disaster Recovery with MySQL InnoDB ClusterSet - What is it and how do I use it?Miguel Araújo
 
MySQL London Tech Tour March 2015 - MySQL Fabric
MySQL London Tech Tour March 2015 - MySQL FabricMySQL London Tech Tour March 2015 - MySQL Fabric
MySQL London Tech Tour March 2015 - MySQL FabricMark Swarbrick
 
WebSocket in Enterprise Applications 2015
WebSocket in Enterprise Applications 2015WebSocket in Enterprise Applications 2015
WebSocket in Enterprise Applications 2015Pavel Bucek
 
MySQL Tech Tour 2015 - Alt Intro
MySQL Tech Tour 2015 - Alt IntroMySQL Tech Tour 2015 - Alt Intro
MySQL Tech Tour 2015 - Alt IntroMark Swarbrick
 
MySQL HA Alternatives 2010
MySQL  HA  Alternatives 2010MySQL  HA  Alternatives 2010
MySQL HA Alternatives 2010Kris Buytaert
 
MySQL Shell - The DevOps Tool for MySQL
MySQL Shell - The DevOps Tool for MySQLMySQL Shell - The DevOps Tool for MySQL
MySQL Shell - The DevOps Tool for MySQLMiguel Araújo
 
JavaOne 2014 BOF4241 What's Next for JSF?
JavaOne 2014 BOF4241 What's Next for JSF?JavaOne 2014 BOF4241 What's Next for JSF?
JavaOne 2014 BOF4241 What's Next for JSF?Edward Burns
 
Java EE 7 for WebLogic 12c Developers
Java EE 7 for WebLogic 12c DevelopersJava EE 7 for WebLogic 12c Developers
Java EE 7 for WebLogic 12c DevelopersBruno Borges
 
WebSockets in Enterprise Applications
WebSockets in Enterprise ApplicationsWebSockets in Enterprise Applications
WebSockets in Enterprise ApplicationsPavel Bucek
 
NoSQL no MySQL 5.7
NoSQL no MySQL 5.7NoSQL no MySQL 5.7
NoSQL no MySQL 5.7MySQL Brasil
 

What's hot (20)

MySQL InnoDB Cluster / ReplicaSet - Tutorial
MySQL InnoDB Cluster / ReplicaSet - TutorialMySQL InnoDB Cluster / ReplicaSet - Tutorial
MySQL InnoDB Cluster / ReplicaSet - Tutorial
 
MySQL Group Replication - HandsOn Tutorial
MySQL Group Replication - HandsOn TutorialMySQL Group Replication - HandsOn Tutorial
MySQL Group Replication - HandsOn Tutorial
 
MySQL Cluster as Transactional NoSQL (KVS)
MySQL Cluster as Transactional NoSQL (KVS)MySQL Cluster as Transactional NoSQL (KVS)
MySQL Cluster as Transactional NoSQL (KVS)
 
20140722 Taiwan MySQL User Group Meeting Tech Updates
20140722 Taiwan MySQL User Group Meeting Tech Updates20140722 Taiwan MySQL User Group Meeting Tech Updates
20140722 Taiwan MySQL User Group Meeting Tech Updates
 
MySQL Manchester TT - Replication Features
MySQL Manchester TT  - Replication FeaturesMySQL Manchester TT  - Replication Features
MySQL Manchester TT - Replication Features
 
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
 
TWJUG August, MySQL JDBC Driver "Connector/J"
TWJUG August, MySQL JDBC Driver "Connector/J"TWJUG August, MySQL JDBC Driver "Connector/J"
TWJUG August, MySQL JDBC Driver "Connector/J"
 
Elastic Scalability in MySQL Fabric Using OpenStack
Elastic Scalability in MySQL Fabric Using OpenStackElastic Scalability in MySQL Fabric Using OpenStack
Elastic Scalability in MySQL Fabric Using OpenStack
 
TWJUG August, What's new in MySQL 5.7 RC
TWJUG August, What's new in MySQL 5.7 RCTWJUG August, What's new in MySQL 5.7 RC
TWJUG August, What's new in MySQL 5.7 RC
 
Disaster Recovery with MySQL InnoDB ClusterSet - What is it and how do I use it?
Disaster Recovery with MySQL InnoDB ClusterSet - What is it and how do I use it?Disaster Recovery with MySQL InnoDB ClusterSet - What is it and how do I use it?
Disaster Recovery with MySQL InnoDB ClusterSet - What is it and how do I use it?
 
MySQL Fabric
MySQL FabricMySQL Fabric
MySQL Fabric
 
MySQL London Tech Tour March 2015 - MySQL Fabric
MySQL London Tech Tour March 2015 - MySQL FabricMySQL London Tech Tour March 2015 - MySQL Fabric
MySQL London Tech Tour March 2015 - MySQL Fabric
 
WebSocket in Enterprise Applications 2015
WebSocket in Enterprise Applications 2015WebSocket in Enterprise Applications 2015
WebSocket in Enterprise Applications 2015
 
MySQL Tech Tour 2015 - Alt Intro
MySQL Tech Tour 2015 - Alt IntroMySQL Tech Tour 2015 - Alt Intro
MySQL Tech Tour 2015 - Alt Intro
 
MySQL HA Alternatives 2010
MySQL  HA  Alternatives 2010MySQL  HA  Alternatives 2010
MySQL HA Alternatives 2010
 
MySQL Shell - The DevOps Tool for MySQL
MySQL Shell - The DevOps Tool for MySQLMySQL Shell - The DevOps Tool for MySQL
MySQL Shell - The DevOps Tool for MySQL
 
JavaOne 2014 BOF4241 What's Next for JSF?
JavaOne 2014 BOF4241 What's Next for JSF?JavaOne 2014 BOF4241 What's Next for JSF?
JavaOne 2014 BOF4241 What's Next for JSF?
 
Java EE 7 for WebLogic 12c Developers
Java EE 7 for WebLogic 12c DevelopersJava EE 7 for WebLogic 12c Developers
Java EE 7 for WebLogic 12c Developers
 
WebSockets in Enterprise Applications
WebSockets in Enterprise ApplicationsWebSockets in Enterprise Applications
WebSockets in Enterprise Applications
 
NoSQL no MySQL 5.7
NoSQL no MySQL 5.7NoSQL no MySQL 5.7
NoSQL no MySQL 5.7
 

Viewers also liked

NoSQL and SQL - blending the best of both worlds
NoSQL and SQL - blending the best of both worldsNoSQL and SQL - blending the best of both worlds
NoSQL and SQL - blending the best of both worldsAndrew Morgan
 
MySQL High Availability Solutions - Feb 2015 webinar
MySQL High Availability Solutions - Feb 2015 webinarMySQL High Availability Solutions - Feb 2015 webinar
MySQL High Availability Solutions - Feb 2015 webinarAndrew Morgan
 
Building a Scalable Architecture for web apps
Building a Scalable Architecture for web appsBuilding a Scalable Architecture for web apps
Building a Scalable Architecture for web appsDirecti Group
 
Seminar : "The Future of MySQL - Roadmap to Success" session MySQL ...
Seminar : "The Future of MySQL - Roadmap to Success" session MySQL ...Seminar : "The Future of MySQL - Roadmap to Success" session MySQL ...
Seminar : "The Future of MySQL - Roadmap to Success" session MySQL ...Software Park Thailand
 
Mysql cluster introduction
Mysql cluster introductionMysql cluster introduction
Mysql cluster introductionAndrew Morgan
 
Successful MySQL Scalability
Successful MySQL ScalabilitySuccessful MySQL Scalability
Successful MySQL ScalabilityRonald Bradford
 
Seminar : "The Future of MYSQL - Roadmap to Success" session MySQL...
Seminar : "The Future of MYSQL - Roadmap to Success"  session MySQL...Seminar : "The Future of MYSQL - Roadmap to Success"  session MySQL...
Seminar : "The Future of MYSQL - Roadmap to Success" session MySQL...Software Park Thailand
 
Seminar : "The Future of MySQL - Roadmap to Success" session MySQL ...
Seminar : "The Future of MySQL - Roadmap to Success" session MySQL ...Seminar : "The Future of MySQL - Roadmap to Success" session MySQL ...
Seminar : "The Future of MySQL - Roadmap to Success" session MySQL ...Software Park Thailand
 
Best practices for MySQL High Availability
Best practices for MySQL High AvailabilityBest practices for MySQL High Availability
Best practices for MySQL High AvailabilityColin Charles
 
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)Andrew Morgan
 
FOSDEM 2015 - NoSQL and SQL the best of both worlds
FOSDEM 2015 - NoSQL and SQL the best of both worldsFOSDEM 2015 - NoSQL and SQL the best of both worlds
FOSDEM 2015 - NoSQL and SQL the best of both worldsAndrew Morgan
 
7 Stages of Scaling Web Applications
7 Stages of Scaling Web Applications7 Stages of Scaling Web Applications
7 Stages of Scaling Web ApplicationsDavid Mitzenmacher
 
Facebook architecture presentation: scalability challenge
Facebook architecture presentation: scalability challengeFacebook architecture presentation: scalability challenge
Facebook architecture presentation: scalability challengeCristina Munoz
 
Architecture of a Modern Web App
Architecture of a Modern Web AppArchitecture of a Modern Web App
Architecture of a Modern Web Appscothis
 

Viewers also liked (15)

MySQL Cluster Basics
MySQL Cluster BasicsMySQL Cluster Basics
MySQL Cluster Basics
 
NoSQL and SQL - blending the best of both worlds
NoSQL and SQL - blending the best of both worldsNoSQL and SQL - blending the best of both worlds
NoSQL and SQL - blending the best of both worlds
 
MySQL High Availability Solutions - Feb 2015 webinar
MySQL High Availability Solutions - Feb 2015 webinarMySQL High Availability Solutions - Feb 2015 webinar
MySQL High Availability Solutions - Feb 2015 webinar
 
Building a Scalable Architecture for web apps
Building a Scalable Architecture for web appsBuilding a Scalable Architecture for web apps
Building a Scalable Architecture for web apps
 
Seminar : "The Future of MySQL - Roadmap to Success" session MySQL ...
Seminar : "The Future of MySQL - Roadmap to Success" session MySQL ...Seminar : "The Future of MySQL - Roadmap to Success" session MySQL ...
Seminar : "The Future of MySQL - Roadmap to Success" session MySQL ...
 
Mysql cluster introduction
Mysql cluster introductionMysql cluster introduction
Mysql cluster introduction
 
Successful MySQL Scalability
Successful MySQL ScalabilitySuccessful MySQL Scalability
Successful MySQL Scalability
 
Seminar : "The Future of MYSQL - Roadmap to Success" session MySQL...
Seminar : "The Future of MYSQL - Roadmap to Success"  session MySQL...Seminar : "The Future of MYSQL - Roadmap to Success"  session MySQL...
Seminar : "The Future of MYSQL - Roadmap to Success" session MySQL...
 
Seminar : "The Future of MySQL - Roadmap to Success" session MySQL ...
Seminar : "The Future of MySQL - Roadmap to Success" session MySQL ...Seminar : "The Future of MySQL - Roadmap to Success" session MySQL ...
Seminar : "The Future of MySQL - Roadmap to Success" session MySQL ...
 
Best practices for MySQL High Availability
Best practices for MySQL High AvailabilityBest practices for MySQL High Availability
Best practices for MySQL High Availability
 
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
 
FOSDEM 2015 - NoSQL and SQL the best of both worlds
FOSDEM 2015 - NoSQL and SQL the best of both worldsFOSDEM 2015 - NoSQL and SQL the best of both worlds
FOSDEM 2015 - NoSQL and SQL the best of both worlds
 
7 Stages of Scaling Web Applications
7 Stages of Scaling Web Applications7 Stages of Scaling Web Applications
7 Stages of Scaling Web Applications
 
Facebook architecture presentation: scalability challenge
Facebook architecture presentation: scalability challengeFacebook architecture presentation: scalability challenge
Facebook architecture presentation: scalability challenge
 
Architecture of a Modern Web App
Architecture of a Modern Web AppArchitecture of a Modern Web App
Architecture of a Modern Web App
 

Similar to MySQL Developer Day conference: MySQL Replication and Scalability

Drupal Camp Göteborg 2013: Skalbarhet och tillgänglighet med MySQL-replikering
Drupal Camp Göteborg 2013: Skalbarhet och tillgänglighet med MySQL-replikeringDrupal Camp Göteborg 2013: Skalbarhet och tillgänglighet med MySQL-replikering
Drupal Camp Göteborg 2013: Skalbarhet och tillgänglighet med MySQL-replikeringSven Sandberg
 
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
 
MySQL Shell/AdminAPI - MySQL Architectures Made Easy For All!
MySQL Shell/AdminAPI - MySQL Architectures Made Easy For All!MySQL Shell/AdminAPI - MySQL Architectures Made Easy For All!
MySQL Shell/AdminAPI - MySQL Architectures Made Easy For All!Miguel Araújo
 
UKOUG2018 - I Know what you did Last Summer [in my Database].pptx
UKOUG2018 - I Know what you did Last Summer [in my Database].pptxUKOUG2018 - I Know what you did Last Summer [in my Database].pptx
UKOUG2018 - I Know what you did Last Summer [in my Database].pptxMarco Gralike
 
Using The Mysql Binary Log As A Change Stream
Using The Mysql Binary Log As A Change StreamUsing The Mysql Binary Log As A Change Stream
Using The Mysql Binary Log As A Change StreamLuís Soares
 
MySQL InnoDB Cluster and Group Replication in a nutshell hands-on tutorial
MySQL InnoDB Cluster and Group Replication in a nutshell  hands-on tutorialMySQL InnoDB Cluster and Group Replication in a nutshell  hands-on tutorial
MySQL InnoDB Cluster and Group Replication in a nutshell hands-on tutorialFrederic Descamps
 
Replication featuresinmysql5.7andbeyond osi-final
Replication featuresinmysql5.7andbeyond osi-finalReplication featuresinmysql5.7andbeyond osi-final
Replication featuresinmysql5.7andbeyond osi-finalSujatha Sivakumar
 
Pivotal CenturyLink Cloud Platform Seminar Presentations: Architecture & Oper...
Pivotal CenturyLink Cloud Platform Seminar Presentations: Architecture & Oper...Pivotal CenturyLink Cloud Platform Seminar Presentations: Architecture & Oper...
Pivotal CenturyLink Cloud Platform Seminar Presentations: Architecture & Oper...VMware Tanzu
 
Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7MySQL Brasil
 
MySQL 8 High Availability with InnoDB Clusters
MySQL 8 High Availability with InnoDB ClustersMySQL 8 High Availability with InnoDB Clusters
MySQL 8 High Availability with InnoDB ClustersMiguel Araújo
 
MySQL For Linux Sysadmins
MySQL For Linux SysadminsMySQL For Linux Sysadmins
MySQL For Linux SysadminsMorgan Tocker
 
BGOUG 2014: Developing Using MySQL
BGOUG 2014: Developing Using MySQLBGOUG 2014: Developing Using MySQL
BGOUG 2014: Developing Using MySQLGeorgi Kodinov
 
Using Databases and Containers From Development to Deployment
Using Databases and Containers  From Development to DeploymentUsing Databases and Containers  From Development to Deployment
Using Databases and Containers From Development to DeploymentAerospike, Inc.
 
KSCOPE Cloud Services and the Self Service Portal
KSCOPE Cloud Services  and the Self Service PortalKSCOPE Cloud Services  and the Self Service Portal
KSCOPE Cloud Services and the Self Service PortalKellyn Pot'Vin-Gorman
 
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...GeneXus
 
MySQL Proxy. A powerful, flexible MySQL toolbox.
MySQL Proxy. A powerful, flexible MySQL toolbox.MySQL Proxy. A powerful, flexible MySQL toolbox.
MySQL Proxy. A powerful, flexible MySQL toolbox.Miguel Araújo
 
MySQL 5.7 Replication News
MySQL 5.7 Replication News MySQL 5.7 Replication News
MySQL 5.7 Replication News Ted Wennmark
 
Oracle Enterprise Manager for MySQL
Oracle Enterprise Manager for MySQLOracle Enterprise Manager for MySQL
Oracle Enterprise Manager for MySQLMario Beck
 

Similar to MySQL Developer Day conference: MySQL Replication and Scalability (20)

Drupal Camp Göteborg 2013: Skalbarhet och tillgänglighet med MySQL-replikering
Drupal Camp Göteborg 2013: Skalbarhet och tillgänglighet med MySQL-replikeringDrupal Camp Göteborg 2013: Skalbarhet och tillgänglighet med MySQL-replikering
Drupal Camp Göteborg 2013: Skalbarhet och tillgänglighet med MySQL-replikering
 
Replication Whats New in Mysql 8
Replication Whats New in Mysql 8Replication Whats New in Mysql 8
Replication Whats New in Mysql 8
 
MySQL Shell/AdminAPI - MySQL Architectures Made Easy For All!
MySQL Shell/AdminAPI - MySQL Architectures Made Easy For All!MySQL Shell/AdminAPI - MySQL Architectures Made Easy For All!
MySQL Shell/AdminAPI - MySQL Architectures Made Easy For All!
 
UKOUG2018 - I Know what you did Last Summer [in my Database].pptx
UKOUG2018 - I Know what you did Last Summer [in my Database].pptxUKOUG2018 - I Know what you did Last Summer [in my Database].pptx
UKOUG2018 - I Know what you did Last Summer [in my Database].pptx
 
Using The Mysql Binary Log As A Change Stream
Using The Mysql Binary Log As A Change StreamUsing The Mysql Binary Log As A Change Stream
Using The Mysql Binary Log As A Change Stream
 
MySQL user camp march 11th 2016
MySQL user camp march 11th 2016MySQL user camp march 11th 2016
MySQL user camp march 11th 2016
 
MySQL InnoDB Cluster and Group Replication in a nutshell hands-on tutorial
MySQL InnoDB Cluster and Group Replication in a nutshell  hands-on tutorialMySQL InnoDB Cluster and Group Replication in a nutshell  hands-on tutorial
MySQL InnoDB Cluster and Group Replication in a nutshell hands-on tutorial
 
Replication featuresinmysql5.7andbeyond osi-final
Replication featuresinmysql5.7andbeyond osi-finalReplication featuresinmysql5.7andbeyond osi-final
Replication featuresinmysql5.7andbeyond osi-final
 
Pivotal CenturyLink Cloud Platform Seminar Presentations: Architecture & Oper...
Pivotal CenturyLink Cloud Platform Seminar Presentations: Architecture & Oper...Pivotal CenturyLink Cloud Platform Seminar Presentations: Architecture & Oper...
Pivotal CenturyLink Cloud Platform Seminar Presentations: Architecture & Oper...
 
Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7
 
SD Times - Docker v2
SD Times - Docker v2SD Times - Docker v2
SD Times - Docker v2
 
MySQL 8 High Availability with InnoDB Clusters
MySQL 8 High Availability with InnoDB ClustersMySQL 8 High Availability with InnoDB Clusters
MySQL 8 High Availability with InnoDB Clusters
 
MySQL For Linux Sysadmins
MySQL For Linux SysadminsMySQL For Linux Sysadmins
MySQL For Linux Sysadmins
 
BGOUG 2014: Developing Using MySQL
BGOUG 2014: Developing Using MySQLBGOUG 2014: Developing Using MySQL
BGOUG 2014: Developing Using MySQL
 
Using Databases and Containers From Development to Deployment
Using Databases and Containers  From Development to DeploymentUsing Databases and Containers  From Development to Deployment
Using Databases and Containers From Development to Deployment
 
KSCOPE Cloud Services and the Self Service Portal
KSCOPE Cloud Services  and the Self Service PortalKSCOPE Cloud Services  and the Self Service Portal
KSCOPE Cloud Services and the Self Service Portal
 
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...
 
MySQL Proxy. A powerful, flexible MySQL toolbox.
MySQL Proxy. A powerful, flexible MySQL toolbox.MySQL Proxy. A powerful, flexible MySQL toolbox.
MySQL Proxy. A powerful, flexible MySQL toolbox.
 
MySQL 5.7 Replication News
MySQL 5.7 Replication News MySQL 5.7 Replication News
MySQL 5.7 Replication News
 
Oracle Enterprise Manager for MySQL
Oracle Enterprise Manager for MySQLOracle Enterprise Manager for MySQL
Oracle Enterprise Manager for MySQL
 

More from Shivji Kumar Jha

Navigating Transactions: ACID Complexity in Modern Databases
Navigating Transactions: ACID Complexity in Modern DatabasesNavigating Transactions: ACID Complexity in Modern Databases
Navigating Transactions: ACID Complexity in Modern DatabasesShivji Kumar Jha
 
Druid Summit 2023 : Changing Druid Ingestion from 3 hours to 5 minutes
Druid Summit 2023 : Changing Druid Ingestion from 3 hours to 5 minutesDruid Summit 2023 : Changing Druid Ingestion from 3 hours to 5 minutes
Druid Summit 2023 : Changing Druid Ingestion from 3 hours to 5 minutesShivji Kumar Jha
 
pulsar-platformatory-meetup-2.pptx
pulsar-platformatory-meetup-2.pptxpulsar-platformatory-meetup-2.pptx
pulsar-platformatory-meetup-2.pptxShivji Kumar Jha
 
Pulsar Summit Asia 2022 - Streaming wars and How Apache Pulsar is acing the b...
Pulsar Summit Asia 2022 - Streaming wars and How Apache Pulsar is acing the b...Pulsar Summit Asia 2022 - Streaming wars and How Apache Pulsar is acing the b...
Pulsar Summit Asia 2022 - Streaming wars and How Apache Pulsar is acing the b...Shivji Kumar Jha
 
Pulsar Summit Asia 2022 - Keeping on top of hybrid cloud usage with Pulsar
Pulsar Summit Asia 2022 - Keeping on top of hybrid cloud usage with PulsarPulsar Summit Asia 2022 - Keeping on top of hybrid cloud usage with Pulsar
Pulsar Summit Asia 2022 - Keeping on top of hybrid cloud usage with PulsarShivji Kumar Jha
 
Pulsar summit asia 2021: Designing Pulsar for Isolation
Pulsar summit asia 2021: Designing Pulsar for IsolationPulsar summit asia 2021: Designing Pulsar for Isolation
Pulsar summit asia 2021: Designing Pulsar for IsolationShivji Kumar Jha
 
Event sourcing Live 2021: Streaming App Changes to Event Store
Event sourcing Live 2021: Streaming App Changes to Event StoreEvent sourcing Live 2021: Streaming App Changes to Event Store
Event sourcing Live 2021: Streaming App Changes to Event StoreShivji Kumar Jha
 
Apache Con 2021 Structured Data Streaming
Apache Con 2021 Structured Data StreamingApache Con 2021 Structured Data Streaming
Apache Con 2021 Structured Data StreamingShivji Kumar Jha
 
Apache Con 2021 : Apache Bookkeeper Key Value Store and use cases
Apache Con 2021 : Apache Bookkeeper Key Value Store and use casesApache Con 2021 : Apache Bookkeeper Key Value Store and use cases
Apache Con 2021 : Apache Bookkeeper Key Value Store and use casesShivji Kumar Jha
 
How pulsar stores data at Pulsar-na-summit-2021.pptx (1)
How pulsar stores data at Pulsar-na-summit-2021.pptx (1)How pulsar stores data at Pulsar-na-summit-2021.pptx (1)
How pulsar stores data at Pulsar-na-summit-2021.pptx (1)Shivji Kumar Jha
 
Pulsar Summit Asia - Structured Data Stream with Apache Pulsar
Pulsar Summit Asia - Structured Data Stream with Apache PulsarPulsar Summit Asia - Structured Data Stream with Apache Pulsar
Pulsar Summit Asia - Structured Data Stream with Apache PulsarShivji Kumar Jha
 
Pulsar Summit Asia - Running a secure pulsar cluster
Pulsar Summit Asia -  Running a secure pulsar clusterPulsar Summit Asia -  Running a secure pulsar cluster
Pulsar Summit Asia - Running a secure pulsar clusterShivji Kumar Jha
 
lessons from managing a pulsar cluster
 lessons from managing a pulsar cluster lessons from managing a pulsar cluster
lessons from managing a pulsar clusterShivji Kumar Jha
 
MySQL User Camp: MySQL Cluster
MySQL User Camp: MySQL ClusterMySQL User Camp: MySQL Cluster
MySQL User Camp: MySQL ClusterShivji Kumar Jha
 

More from Shivji Kumar Jha (15)

Navigating Transactions: ACID Complexity in Modern Databases
Navigating Transactions: ACID Complexity in Modern DatabasesNavigating Transactions: ACID Complexity in Modern Databases
Navigating Transactions: ACID Complexity in Modern Databases
 
Druid Summit 2023 : Changing Druid Ingestion from 3 hours to 5 minutes
Druid Summit 2023 : Changing Druid Ingestion from 3 hours to 5 minutesDruid Summit 2023 : Changing Druid Ingestion from 3 hours to 5 minutes
Druid Summit 2023 : Changing Druid Ingestion from 3 hours to 5 minutes
 
osi-oss-dbs.pptx
osi-oss-dbs.pptxosi-oss-dbs.pptx
osi-oss-dbs.pptx
 
pulsar-platformatory-meetup-2.pptx
pulsar-platformatory-meetup-2.pptxpulsar-platformatory-meetup-2.pptx
pulsar-platformatory-meetup-2.pptx
 
Pulsar Summit Asia 2022 - Streaming wars and How Apache Pulsar is acing the b...
Pulsar Summit Asia 2022 - Streaming wars and How Apache Pulsar is acing the b...Pulsar Summit Asia 2022 - Streaming wars and How Apache Pulsar is acing the b...
Pulsar Summit Asia 2022 - Streaming wars and How Apache Pulsar is acing the b...
 
Pulsar Summit Asia 2022 - Keeping on top of hybrid cloud usage with Pulsar
Pulsar Summit Asia 2022 - Keeping on top of hybrid cloud usage with PulsarPulsar Summit Asia 2022 - Keeping on top of hybrid cloud usage with Pulsar
Pulsar Summit Asia 2022 - Keeping on top of hybrid cloud usage with Pulsar
 
Pulsar summit asia 2021: Designing Pulsar for Isolation
Pulsar summit asia 2021: Designing Pulsar for IsolationPulsar summit asia 2021: Designing Pulsar for Isolation
Pulsar summit asia 2021: Designing Pulsar for Isolation
 
Event sourcing Live 2021: Streaming App Changes to Event Store
Event sourcing Live 2021: Streaming App Changes to Event StoreEvent sourcing Live 2021: Streaming App Changes to Event Store
Event sourcing Live 2021: Streaming App Changes to Event Store
 
Apache Con 2021 Structured Data Streaming
Apache Con 2021 Structured Data StreamingApache Con 2021 Structured Data Streaming
Apache Con 2021 Structured Data Streaming
 
Apache Con 2021 : Apache Bookkeeper Key Value Store and use cases
Apache Con 2021 : Apache Bookkeeper Key Value Store and use casesApache Con 2021 : Apache Bookkeeper Key Value Store and use cases
Apache Con 2021 : Apache Bookkeeper Key Value Store and use cases
 
How pulsar stores data at Pulsar-na-summit-2021.pptx (1)
How pulsar stores data at Pulsar-na-summit-2021.pptx (1)How pulsar stores data at Pulsar-na-summit-2021.pptx (1)
How pulsar stores data at Pulsar-na-summit-2021.pptx (1)
 
Pulsar Summit Asia - Structured Data Stream with Apache Pulsar
Pulsar Summit Asia - Structured Data Stream with Apache PulsarPulsar Summit Asia - Structured Data Stream with Apache Pulsar
Pulsar Summit Asia - Structured Data Stream with Apache Pulsar
 
Pulsar Summit Asia - Running a secure pulsar cluster
Pulsar Summit Asia -  Running a secure pulsar clusterPulsar Summit Asia -  Running a secure pulsar cluster
Pulsar Summit Asia - Running a secure pulsar cluster
 
lessons from managing a pulsar cluster
 lessons from managing a pulsar cluster lessons from managing a pulsar cluster
lessons from managing a pulsar cluster
 
MySQL User Camp: MySQL Cluster
MySQL User Camp: MySQL ClusterMySQL User Camp: MySQL Cluster
MySQL User Camp: MySQL Cluster
 

Recently uploaded

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 

Recently uploaded (20)

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 

MySQL Developer Day conference: MySQL Replication and Scalability

  • 1. MySQL Replication and Scalability Shivji Jha Software Developer, MySQL Replication Team
  • 2. 2 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Safe Harbour 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.
  • 3. 3 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Overview MySQL Replication: Discover What's New Overview: MySQL Replication Consistency: Lossless Semi-Sync Slave Throughput: Improved Multi-Threaded Slave Flexibility: Multi-Source Replication Monitoring: Performance_Schema Tables Next steps
  • 4. 4 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. “In my opinion, MySQL is the only database we would ever trust to power the Zappos.com website.” "On any given day we can sell close to 300,000 tickets on the Web site using MySQL as the database to search for events. It is amazing." "craigslist infrastructure could not have handled the exponential growth in traffic without MySQL.” “We are one of the largest MySQL web sites in production MySQL Replication In Action on the Web “As a leader in our field, we are committed to providing the best service to our users, and a web experience that meets members expectations and that starts with IT”
  • 5. 5 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. What is Replication?
  • 6. 6 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Replication: Copy Changes Master → Slave  MySQL Master Server ● Changes data ● Sends changes to slave  MySQL Slave Server ● Receives changes from master ● Applies received changes to database M S
  • 7. 7 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Replication: Copy Changes Master → Slave M M/S S S S S M Server can be master, slave or both Master can have multiple slaves
  • 8. 8 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Replication: Copy Changes Master → Slave S M M Slave can only have one master S M M Slave can have multiple masters! labs.mysql.com labs Yippee!
  • 9. 9 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Replication: Copy Changes Master → Slave M/S Circular replication is also possible M/S M/S M/S M/S M/S
  • 10. 10 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Replication: Copy Changes Master → Slave Filters on slave SM Replication filter I have a lot of tables I only have table_1
  • 11. 11 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Why Use Replication?
  • 12. 12 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Why Replication? – Performance Read scale-out M S write clients read clients
  • 13. 13 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Why Replication? – Performance Read scale-out M S write clients read clients More reads? More slaves!
  • 14. 14 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Why Replication? – Performance Read scale-out M S S S S M write clients read clients read clients write clients More reads? More slaves!
  • 15. 15 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Why Replication? – Redundancy  If master crashes, promote slave to master C B A
  • 16. 16 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Why Replication? – Redundancy  If master crashes, promote slave to master C B ACrash
  • 17. 17 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Why Replication? – Redundancy  If master crashes, promote slave to master C B A B is the new master
  • 18. 18 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Why Replication? – Online backup/reporting  Expensive queries on slave(s) M S Regular clients  Reports  Big queries  Business intelligence
  • 19. 19 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Why Replication? – Long-distance Data Distribution CB BAAC Image from www.ginkgomaps.com
  • 20. 20 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. How Does Replication Work?
  • 21. 21 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. All Transactions Written to Binary Log A binary log Client
  • 22. 22 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. All Transactions Written to Binary Log create table t (a int); A binary log Client
  • 23. 23 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. All Transactions Written to Binary Log create table t (a int); Table t create... A binary log Client
  • 24. 24 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. All Transactions Written to Binary Log create table t (a int); insert into t values (1); Table t create... A binary log Client
  • 25. 25 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. All Transactions Written to Binary Log create table t (a int); insert into t values (1); Table t 1 create... insert...A binary log Client
  • 26. 26 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Slave Initiates Replication B binary log A binary log Client 1. Slave sends request for replication to start to master 2. Master sends stream of replication data to slave
  • 27. 27 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Binary Log Sent to Slave, Re-applied B binary log A binary log Client
  • 28. 28 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. create... Binary Log Sent to Slave, Re-applied B binary log A binary log Client
  • 29. 29 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. create... Binary Log Sent to Slave, Re-applied Table t B binary log create... A binary log Client
  • 30. 30 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. create... Binary Log Sent to Slave, Re-applied Table t Table t create... B binary log create... A binary log Client
  • 31. 31 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. create... insert... Binary Log Sent to Slave, Re-applied Table t Table t create... B binary log create... A binary log Client
  • 32. 32 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. create... insert... Binary Log Sent to Slave, Re-applied Table t 1 Table t create... B binary log create... insert...A binary log Client
  • 33. 33 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. create... insert... Binary Log Sent to Slave, Re-applied Table t 1 Table t 1 create... insert...B binary log create... insert...A binary log Client
  • 34. 34 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Actually, Transactions Land in Slave's Relay Log B binary logrelay log A binary log Client
  • 35. 35 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. create... Actually, Transactions Land in Slave's Relay Log B binary logrelay log A binary log Client
  • 36. 36 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. create... Actually, Transactions Land in Slave's Relay Log B binary logrelay log create... A binary log Client Table t
  • 37. 37 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. create... Actually, Transactions Land in Slave's Relay Log B binary log create... relay log create... A binary log Client Table t
  • 38. 38 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. create... Actually, Transactions Land in Slave's Relay Log create... B binary log create... relay log create... A binary log Client Table t Table t
  • 39. 39 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. create... Replication is Asynchronous create... B binary log create... relay log create... A binary log Client Table t Table t Transaction applied here and copied here THEN applied here THEN ack'ed
  • 40. 40 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. create... insert... Replication is Asynchronous create... B binary log create... relay log create... A binary log Client Table t Table t Transaction applied here and copied here THEN applied here THEN ack'ed
  • 41. 41 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. create... insert... Replication is Asynchronous create... B binary log create... relay log create... insert...A binary log Client Table t 1 Table t Transaction applied here and copied here THEN applied here THEN ack'ed
  • 42. 42 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. create... insert... Replication is Asynchronous create... B binary log create... relay log create... insert...A binary log Client Table t 1 Table t Transaction applied here and copied here THEN applied here THEN ack'ed
  • 43. 43 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. create... insert... Replication is Asynchronous create... B binary log create... insert... relay log create... insert...A binary log Client Table t 1 Table t Transaction applied here and copied here THEN applied here THEN ack'ed
  • 44. 44 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. create... insert... Replication is Asynchronous create... insert...B binary log create... insert... relay log create... insert...A binary log Client Table t 1 Table t 1Transaction applied here and copied here THEN applied here THEN ack'ed
  • 45. 45 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Overview MySQL Replication: Discover What's New Overview: MySQL Replication Consistency: Lossless Semi-Sync Slave Throughput: Improved Multi-Threaded Slave Flexibility: Multi-Source Replication Monitoring: Performance_Schema Tables Next steps
  • 46. 46 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. What is Semi-Synchronous Replication?
  • 47. 47 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Asynchronous vs Semi-sync Replication  By default, replication is asynchronous ● In parallel: Master acks to app and sends transaction to slave ● Fast ● Changes lost if master dies  MySQL 5.5: semi-synchronous replication possible ● In sequence: slave receives transaction, then master acks to app ● Slower: Master waits for slave ● Less risk for lost updates
  • 48. 48 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. create... Semi-Synchronous Replication (MySQL 5.5) create... B binary log create... relay log create... A binary log Client Table t Table t Transaction applied here THEN copied here and applied here THEN ack'ed
  • 49. 49 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. create... insert... Semi-Synchronous Replication (MySQL 5.5) create... B binary log create... relay log create... A binary log Client Table t Table t Transaction applied here and applied here THEN copied here THEN ack'ed
  • 50. 50 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. create... insert... Semi-Synchronous Replication (MySQL 5.5) create... B binary log create... relay log create... insert...A binary log Client Table t 1 Table t Transaction applied here and applied here THEN copied here THEN ack'ed
  • 51. 51 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. create... insert... Semi-Synchronous Replication (MySQL 5.5) create... B binary log create... insert... relay log create... insert...A binary log Client Table t 1 Table t Transaction applied here and applied here THEN copied here THEN ack'ed
  • 52. 52 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. create... insert... Semi-Synchronous Replication (MySQL 5.5) create... B binary log create... insert... relay log create... insert...A binary log Client Table t 1 Table t Transaction applied here and applied here THEN copied here THEN ack'ed
  • 53. 53 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. create... insert... Semi-Synchronous Replication (MySQL 5.5) create... B binary log create... insert... relay log create... insert...A binary log Client Table t 1 Table t Transaction applied here and applied here THEN copied here THEN ack'ed 1 2 Slave tells master when to ack!
  • 54. 54 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. create... insert... Semi-Synchronous Replication (MySQL 5.5) create... insert...B binary log create... insert... relay log create... insert...A binary log Client Table t 1 Table t 1Transaction applied here and applied here THEN copied here THEN ack'ed
  • 55. 55 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. What's New in Semi-Synchronous Replication?
  • 56. 56 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Loss-Less Semi-Sync Replication (MySQL 5.7.2)  MySQL 5.5: semi-synchronous replication ● Master commit ● Slave receive ● Client ack .If master crashes between 1 and 2, committed data is lost .Concurrent clients may have seen the transaction  MySQL 5.7.2: loss-less semi-sync replication ● Slave receive ● Master commit ● Client ack .If master crashes, all committed data is on slave
  • 57. 57 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. create... Loss-Less Semi-Sync Replication (MySQL 5.7.2) create... B binary log create... relay log create... A binary log Client Table t Table t THEN com- mitted here and applied here Transaction copied here and ack'ed
  • 58. 58 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. create... insert... Loss-Less Semi-Sync Replication (MySQL 5.7.2) create... B binary log create... relay log create... A binary log Client Table t Table t THEN com- mitted here and applied here Transaction copied here and ack'ed
  • 59. 59 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. create... insert... Loss-Less Semi-Sync Replication (MySQL 5.7.2) create... B binary log create... insert... relay log create... insert...A binary log Client Table t Table t and applied here THEN com- mitted here Transaction copied here and ack'ed
  • 60. 60 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. create... insert... Loss-Less Semi-Sync Replication (MySQL 5.7.2) create... B binary log create... insert... relay log create... insert...A binary log Client Table t 1 Table t and applied here Transaction copied here and ack'ed THEN com- mitted here
  • 61. 61 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. create... insert... Loss-Less Semi-Sync Replication (MySQL 5.7.2) create... B binary log create... insert... relay log create... insert...A binary log Client Table t 1 Table t and applied here Transaction copied here 1 2 Slave tells master when to commit! and ack'ed THEN com- mitted here
  • 62. 62 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. create... insert... Loss-Less Semi-Sync Replication (MySQL 5.7.2) create... B binary log create... insert... relay log create... insert...A binary log Client Table t 1 Table t and applied here THEN com- mitted here Transaction copied here and ack'ed
  • 63. 63 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. create... insert... Loss-Less Semi-Sync Replication (MySQL 5.7.2) create... insert...B binary log create... insert... relay log create... insert...A binary log Client Table t 1 Table t 1and applied here THEN com- mitted here Transaction copied here and ack'ed
  • 64. 64 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Loss-Less Semi-Sync Replication (MySQL 5.7.2)  Summary ● MySQL 5.7.2: loss-less semi-synchronous replication possible ● If master crashes, all committed data is on slave ● To enable: master> SET GLOBAL rpl_semi_sync_master_wait_point = AFTER_SYNC; ● (default: AFTER_COMMIT – for 5.5 behavior)
  • 65. 65 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Overview MySQL Replication: Discover What's New Overview: MySQL Replication Consistency: Lossless Semi-Sync Slave Throughput: Improved Multi-Threaded Slave Flexibility: Multi-Source Replication Monitoring: Performance_Schema Tables Next steps
  • 66. 66 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. What is Multi-Threaded Slave?
  • 67. 67 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. A binary log  Before MySQL 5.6: Single-threaded slave Improved Multi-Threaded Slave B relay logClient Client Client
  • 68. 68 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. A binary log  Before MySQL 5.6: Single-threaded slave Improved Multi-Threaded Slave B relay log Transactions applied in parallel Client Client Client Transactions logged in sequence Transactions applied in sequence
  • 69. 69 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. A binary log  Before MySQL 5.6: Single-threaded slave Improved Multi-Threaded Slave B relay log Transactions applied in parallel Client Client Client Transactions logged in sequence Transactions applied in sequence Bottleneck!
  • 70. 70 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. A binary log  MySQL 5.6: Multi-threaded slave by database Improved Multi-Threaded Slave B relay log Transactions applied in parallel Client Client Client Transactions logged in sequence Transactions applied in parallel
  • 71. 71 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. A binary log  MySQL 5.6: Multi-threaded slave by database ● Different databases go to different threads Improved Multi-Threaded Slave B relay logClient Client Client DB1 DB2 DB3
  • 72. 72 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. A binary log  MySQL 5.6: Multi-threaded slave by database ● Different databases go to different threads ● Great for some applications, BUT: ● No improvement if there is only one database ● May break cross-database consistency Improved Multi-Threaded Slave B relay logClient Client Client DB1 DB2 DB3
  • 73. 73 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. What's New in Multi-Threaded Slave?
  • 74. 74 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. A binary log  MySQL 5.7.2: Multi-threaded slave by master concurrency ● Transactions that were prepared at the same time on master cannot conflict ● Master stores a logical timestamp in the binary log ● Slave applies transactions with same timestamp in parallel Improved Multi-Threaded Slave B relay logClient Client Client
  • 75. 75 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. A binary log  MySQL 5.7.2: Multi-threaded slave by master concurrency ● Works always ● Even for one-database applications ● Consistent Improved Multi-Threaded Slave B relay logClient Client Client
  • 76. 76 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. A binary log  MySQL 5.7.2: Multi-threaded slave by master concurrency ● To enable: slave> SET GLOBAL slave_parallel_type = logical_clock; (default: database – for 5.6 behavior) Improved Multi-Threaded Slave B relay logClient Client Client
  • 77. 77 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Overview MySQL Replication: Discover What's New Overview: MySQL Replication Consistency: Lossless Semi-Sync Slave Throughput: Improved Multi-Threaded Slave Flexibility: Multi-Source Replication Monitoring: Performance_Schema Tables Next steps
  • 78. 78 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Multi-Source Replication What is Multi-Source Replication?
  • 79. 79 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Multi-Source Replication  Before: Slave can have one master  Labs release: Slave can have multiple masters S M M
  • 80. 80 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Multi-Source Replication  Note ● No conflict detection/resolution ● Not update everywhere ● Not synchronous  The masters must have conflict-free workloads!
  • 81. 81 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Multi-Source Replication  Slave can have multiple masters  Preview release: labs.mysql.com ● Not for production yet ● Known and unknown limitations and bugs ● Try it out and give feedback! S M M
  • 82. 82 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Why Use Multi-Source Replication?
  • 83. 83 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Multi-Source Replication for Data Analytics Business Intelligence Data analytics Backup etc M M M Database 2 Database 3 Database 1 S Database 1, 2, 3
  • 84. 84 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Multi-Source Replication for Merging Shards M M Shard 2 Shard 1 S New Shard
  • 85. 85 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. How Does Multi-Source Work?
  • 86. 86 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Multi-Source Replication relay log relay log relay log A B C D
  • 87. 87 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Multi-Source + Multi-Threaded relay log relay log relay log A B C D
  • 88. 88 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Multi-Source Replication D relay log relay log relay log A B C D Channel = Full slave pipeline
  • 89. 89 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Multi-Source Replication D relay log relay log relay log A B C D Channel = Full slave pipeline Channels are named my_channel another_channel third_channel
  • 90. 90 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Multi-Source Replication  Setting up  CHANGE MASTER TO […] FOR CHANNEL = 'name'
  • 91. 91 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Multi-Source Replication  Other replication commands:      START SLAVE […] FOR CHANNEL = 'name' STOP SLAVE […] FOR CHANNEL = 'name' RESET SLAVE […] FOR CHANNEL = 'name' FLUSH RELAY LOGS FOR CHANNEL = 'name' SHOW RELAY LOG EVENTS FOR CHANNEL = 'name' START SLAVE […] FOR ALL CHANNELS STOP SLAVE […] FOR ALL CHANNELS RESET SLAVE […] FOR ALL CHANNELS SELECT MASTER_POS_WAIT('file', pos[, timeout][, 'channel'])
  • 92. 92 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Multi-Source Replication  Compatibility     CHANGE MASTER TO […]   (with no channel specified)  START SLAVE […] (with no channel specified) etc … are the same as … CHANGE MASTER TO […] FOR CHANNEL = '' START SLAVE […] FOR CHANNEL = ''  etc
  • 93. 93 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Overview MySQL Replication: Discover What's New Overview: MySQL Replication Consistency: Lossless Semi-Sync Slave Throughput: Improved Multi-Threaded Slave Flexibility: Multi-Source Replication Monitoring: Performance_Schema Tables Next steps
  • 94. 94 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Monitoring with Performance_Schema  Traditional replication monitoring: SHOW SLAVE STATUS; – Simple – Not SQL friendly – no WHERE, no joins, etc – Multi-source has per-source status – Multi-threaded slave has per-applier status  5.7.2: Performance_Schema tables for replication slave
  • 95. 95 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Monitoring with Performance_Schema relay log execute status by coordinator execute status by worker execute configuration execute status connection configuration connection status
  • 96. 96 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Monitoring with Performance_Schema  6 tables in performance_schema database: replication_connection_configuration replication_connection_status replication_execute_configuration replication_execute_status replication_execute_status_by_coordinator replication_execute_status_by_worker  Consistent semantics across tables  Consistent naming across tables One row for each worker in each multi-source channel One row for each multi-source channel
  • 97. 97 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Monitoring with Performance_Schema  Example: Connection status mysql> select * from performance_schema.replication_connection_statusG *************************** 1. row ***************************             CHANNEL_NAME: CHANNEL1              SOURCE_UUID: 7cff7406­23ca­11e3­ac3e­5c260a83b12b                THREAD_ID: 13            SERVICE_STATE: ON RECEIVED_TRANSACTION_SET: 7cff7406­23ca­11e3­ac3e­5c260a83b12b:1­4        LAST_ERROR_NUMBER: 0       LAST_ERROR_MESSAGE:     LAST_ERROR_TIMESTAMP: 0000­00­00 00:00:00 *************************** 2. row ***************************             CHANNEL_NAME: CHANNEL2                         ⋮  One row for each channel
  • 98. 98 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Monitoring with Performance_Schema  Example: Connection status mysql> select * from performance_schema.replication_connection_statusG *************************** 1. row ***************************             CHANNEL_NAME: CHANNEL1              SOURCE_UUID: 7cff7406­23ca­11e3­ac3e­5c260a83b12b                THREAD_ID: 13            SERVICE_STATE: ON RECEIVED_TRANSACTION_SET: 7cff7406­23ca­11e3­ac3e­5c260a83b12b:1­4        LAST_ERROR_NUMBER: 0       LAST_ERROR_MESSAGE:     LAST_ERROR_TIMESTAMP: 0000­00­00 00:00:00 *************************** 2. row ***************************             CHANNEL_NAME: CHANNEL2                         ⋮  The master's server_uuid
  • 99. 99 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Monitoring with Performance_Schema  Example: Connection status mysql> select * from performance_schema.replication_connection_statusG *************************** 1. row ***************************             CHANNEL_NAME: CHANNEL1              SOURCE_UUID: 7cff7406­23ca­11e3­ac3e­5c260a83b12b                THREAD_ID: 13            SERVICE_STATE: ON RECEIVED_TRANSACTION_SET: 7cff7406­23ca­11e3­ac3e­5c260a83b12b:1­4        LAST_ERROR_NUMBER: 0       LAST_ERROR_MESSAGE:     LAST_ERROR_TIMESTAMP: 0000­00­00 00:00:00 *************************** 2. row ***************************             CHANNEL_NAME: CHANNEL2                         ⋮  Thread id and status
  • 100. 100 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Monitoring with Performance_Schema  Example: Connection status mysql> select * from performance_schema.replication_connection_statusG *************************** 1. row ***************************             CHANNEL_NAME: CHANNEL1              SOURCE_UUID: 7cff7406­23ca­11e3­ac3e­5c260a83b12b                THREAD_ID: 13            SERVICE_STATE: ON RECEIVED_TRANSACTION_SET: 7cff7406­23ca­11e3­ac3e­5c260a83b12b:1­4        LAST_ERROR_NUMBER: 0       LAST_ERROR_MESSAGE:     LAST_ERROR_TIMESTAMP: 0000­00­00 00:00:00 *************************** 2. row ***************************             CHANNEL_NAME: CHANNEL2                         ⋮  Set of transactions received through this channel
  • 101. 101 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Monitoring with Performance_Schema  Example: Connection status mysql> select * from performance_schema.replication_connection_statusG *************************** 1. row ***************************             CHANNEL_NAME: CHANNEL1              SOURCE_UUID: 7cff7406­23ca­11e3­ac3e­5c260a83b12b                THREAD_ID: 13            SERVICE_STATE: ON RECEIVED_TRANSACTION_SET: 7cff7406­23ca­11e3­ac3e­5c260a83b12b:1­4        LAST_ERROR_NUMBER: 0       LAST_ERROR_MESSAGE:     LAST_ERROR_TIMESTAMP: 0000­00­00 00:00:00 *************************** 2. row ***************************             CHANNEL_NAME: CHANNEL2                         ⋮  Error status
  • 102. 102 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Monitoring with Performance_Schema  Example: Connection status mysql> select * from performance_schema.replication_connection_statusG *************************** 1. row ***************************             CHANNEL_NAME: CHANNEL1              SOURCE_UUID: 7cff7406­23ca­11e3­ac3e­5c260a83b12b                THREAD_ID: NULL            SERVICE_STATE: OFF RECEIVED_TRANSACTION_SET: 7cff7406­23ca­11e3­ac3e­5c260a83b12b:1­4        LAST_ERROR_NUMBER: 1045       LAST_ERROR_MESSAGE: error connecting to master 'me@host:13000' …     LAST_ERROR_TIMESTAMP: 2013­11­09 21:03:23 *************************** 2. row ***************************             CHANNEL_NAME: CHANNEL2                         ⋮  Error status
  • 103. 103 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Monitoring with Performance_Schema  Example: Connection status mysql> select * from performance_schema.replication_connection_statusG *************************** 1. row ***************************             CHANNEL_NAME: CHANNEL1              SOURCE_UUID: 7cff7406­23ca­11e3­ac3e­5c260a83b12b                THREAD_ID: NULL            SERVICE_STATE: OFF RECEIVED_TRANSACTION_SET: 7cff7406­23ca­11e3­ac3e­5c260a83b12b:1­4        LAST_ERROR_NUMBER: 1045       LAST_ERROR_MESSAGE: error connecting to master 'me@host:13000' …     LAST_ERROR_TIMESTAMP: 2013­11­09 21:03:23 *************************** 2. row ***************************             CHANNEL_NAME: CHANNEL2                         ⋮  Thread stopped on error
  • 104. 104 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Overview MySQL Replication: Discover What's New Overview: MySQL Replication Consistency: Lossless Semi-Sync Slave Throughput: Improved Multi-Threaded Slave Flexibility: Multi-Source Replication Monitoring: Performance_Schema Tables Next steps
  • 105. 105 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.  Try it out! ● MySQL 5.6: http://dev.mysql.com/downloads/mysql/ ● MySQL 5.7.4: http://dev.mysql.com/downloads/mysql/5.7.html ● Labs release: http://labs.mysql.com  Read the manual! ● http://dev.mysql.com/doc/refman/5.7/en/index.html Next Steps
  • 106. 106 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.  Send us feedback! ● Shivji Kumar Jha shivji.jha@oracle.com ● Sven Sandberg sven.sandberg@oracle.com ● Luís Soares luis.soares@oracle.com  File bugs! ● http://bugs.mysql.com Next Steps
  • 107. 107 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.