SlideShare una empresa de Scribd logo
1 de 107
Descargar para leer sin conexión
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.

Más contenido relacionado

La actualidad más candente

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
 

La actualidad más candente (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
 

Destacado

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
 

Destacado (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 a 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 a 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
 

Más de 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
 

Más de 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
 

Último

Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 

Último (20)

Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

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.