SlideShare a Scribd company logo
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.
Ad

More Related Content

What's hot (20)

MySQL InnoDB Cluster / ReplicaSet - Tutorial
MySQL InnoDB Cluster / ReplicaSet - TutorialMySQL InnoDB Cluster / ReplicaSet - Tutorial
MySQL InnoDB Cluster / ReplicaSet - Tutorial
Kenny Gryp
 
MySQL Group Replication - HandsOn Tutorial
MySQL Group Replication - HandsOn TutorialMySQL Group Replication - HandsOn Tutorial
MySQL Group Replication - HandsOn Tutorial
Kenny 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 Updates
Ryusuke Kajiyama
 
MySQL Manchester TT - Replication Features
MySQL Manchester TT  - Replication FeaturesMySQL Manchester TT  - Replication Features
MySQL Manchester TT - Replication Features
Mark 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 Core
Alfranio 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 OpenStack
Mats 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 RC
Ryusuke 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 Fabric
MySQL FabricMySQL Fabric
MySQL Fabric
Mark Swarbrick
 
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
Mark Swarbrick
 
WebSocket in Enterprise Applications 2015
WebSocket in Enterprise Applications 2015WebSocket in Enterprise Applications 2015
WebSocket in Enterprise Applications 2015
Pavel Bucek
 
MySQL Tech Tour 2015 - Alt Intro
MySQL Tech Tour 2015 - Alt IntroMySQL Tech Tour 2015 - Alt Intro
MySQL Tech Tour 2015 - Alt Intro
Mark Swarbrick
 
MySQL HA Alternatives 2010
MySQL  HA  Alternatives 2010MySQL  HA  Alternatives 2010
MySQL HA Alternatives 2010
Kris 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 MySQL
Miguel 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 Developers
Bruno Borges
 
WebSockets in Enterprise Applications
WebSockets in Enterprise ApplicationsWebSockets in Enterprise Applications
WebSockets in Enterprise Applications
Pavel Bucek
 
NoSQL no MySQL 5.7
NoSQL no MySQL 5.7NoSQL no MySQL 5.7
NoSQL no MySQL 5.7
MySQL Brasil
 
MySQL InnoDB Cluster / ReplicaSet - Tutorial
MySQL InnoDB Cluster / ReplicaSet - TutorialMySQL InnoDB Cluster / ReplicaSet - Tutorial
MySQL InnoDB Cluster / ReplicaSet - Tutorial
Kenny Gryp
 
MySQL Group Replication - HandsOn Tutorial
MySQL Group Replication - HandsOn TutorialMySQL Group Replication - HandsOn Tutorial
MySQL Group Replication - HandsOn Tutorial
Kenny 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 Updates
Ryusuke Kajiyama
 
MySQL Manchester TT - Replication Features
MySQL Manchester TT  - Replication FeaturesMySQL Manchester TT  - Replication Features
MySQL Manchester TT - Replication Features
Mark 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 Core
Alfranio 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 OpenStack
Mats 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 RC
Ryusuke 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 Fabric
Mark Swarbrick
 
WebSocket in Enterprise Applications 2015
WebSocket in Enterprise Applications 2015WebSocket in Enterprise Applications 2015
WebSocket in Enterprise Applications 2015
Pavel Bucek
 
MySQL Tech Tour 2015 - Alt Intro
MySQL Tech Tour 2015 - Alt IntroMySQL Tech Tour 2015 - Alt Intro
MySQL Tech Tour 2015 - Alt Intro
Mark Swarbrick
 
MySQL HA Alternatives 2010
MySQL  HA  Alternatives 2010MySQL  HA  Alternatives 2010
MySQL HA Alternatives 2010
Kris 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 MySQL
Miguel 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 Developers
Bruno Borges
 
WebSockets in Enterprise Applications
WebSockets in Enterprise ApplicationsWebSockets in Enterprise Applications
WebSockets in Enterprise Applications
Pavel Bucek
 
NoSQL no MySQL 5.7
NoSQL no MySQL 5.7NoSQL no MySQL 5.7
NoSQL no MySQL 5.7
MySQL Brasil
 

Viewers also liked (15)

MySQL Cluster Basics
MySQL Cluster BasicsMySQL Cluster Basics
MySQL Cluster Basics
Wagner Bianchi
 
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
Andrew 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 webinar
Andrew 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 apps
Directi 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 introduction
Andrew Morgan
 
Successful MySQL Scalability
Successful MySQL ScalabilitySuccessful MySQL Scalability
Successful MySQL Scalability
Ronald 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 Availability
Colin 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 worlds
Andrew Morgan
 
7 Stages of Scaling Web Applications
7 Stages of Scaling Web Applications7 Stages of Scaling Web Applications
7 Stages of Scaling Web Applications
David Mitzenmacher
 
Facebook architecture presentation: scalability challenge
Facebook architecture presentation: scalability challengeFacebook architecture presentation: scalability challenge
Facebook architecture presentation: scalability challenge
Cristina Munoz
 
Architecture of a Modern Web App
Architecture of a Modern Web AppArchitecture of a Modern Web App
Architecture of a Modern Web App
scothis
 
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
Andrew 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 webinar
Andrew 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 apps
Directi 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 introduction
Andrew Morgan
 
Successful MySQL Scalability
Successful MySQL ScalabilitySuccessful MySQL Scalability
Successful MySQL Scalability
Ronald 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 Availability
Colin 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 worlds
Andrew Morgan
 
7 Stages of Scaling Web Applications
7 Stages of Scaling Web Applications7 Stages of Scaling Web Applications
7 Stages of Scaling Web Applications
David Mitzenmacher
 
Facebook architecture presentation: scalability challenge
Facebook architecture presentation: scalability challengeFacebook architecture presentation: scalability challenge
Facebook architecture presentation: scalability challenge
Cristina Munoz
 
Architecture of a Modern Web App
Architecture of a Modern Web AppArchitecture of a Modern Web App
Architecture of a Modern Web App
scothis
 
Ad

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

Drupal Camp Göteborg 2013: Skalbarhet och tillgänglighet med MySQL-replikering
Drupal Camp Göteborg 2013: Skalbarhet och tillgänglighet med MySQL-replikeringDrupal Camp Göteborg 2013: Skalbarhet och tillgänglighet med MySQL-replikering
Drupal Camp Göteborg 2013: Skalbarhet och tillgänglighet med MySQL-replikering
Sven Sandberg
 
Replication Whats New in Mysql 8
Replication Whats New in Mysql 8Replication Whats New in Mysql 8
Replication Whats New in Mysql 8
Luí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].pptx
Marco 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 Stream
Luís Soares
 
MySQL user camp march 11th 2016
MySQL user camp march 11th 2016MySQL user camp march 11th 2016
MySQL user camp march 11th 2016
Venkatesh Duggirala
 
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
Frederic Descamps
 
Replication featuresinmysql5.7andbeyond osi-final
Replication featuresinmysql5.7andbeyond osi-finalReplication featuresinmysql5.7andbeyond osi-final
Replication featuresinmysql5.7andbeyond osi-final
Sujatha 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.7
MySQL Brasil
 
SD Times - Docker v2
SD Times - Docker v2SD Times - Docker v2
SD Times - Docker v2
Alvin Richards
 
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
Miguel Araújo
 
MySQL For Linux Sysadmins
MySQL For Linux SysadminsMySQL For Linux Sysadmins
MySQL For Linux Sysadmins
Morgan Tocker
 
BGOUG 2014: Developing Using MySQL
BGOUG 2014: Developing Using MySQLBGOUG 2014: Developing Using MySQL
BGOUG 2014: Developing Using MySQL
Georgi 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 Deployment
Aerospike, 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 Portal
Kellyn 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 MySQL
Mario Beck
 
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
Sven Sandberg
 
Replication Whats New in Mysql 8
Replication Whats New in Mysql 8Replication Whats New in Mysql 8
Replication Whats New in Mysql 8
Luí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].pptx
Marco 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 Stream
Luí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 tutorial
Frederic Descamps
 
Replication featuresinmysql5.7andbeyond osi-final
Replication featuresinmysql5.7andbeyond osi-finalReplication featuresinmysql5.7andbeyond osi-final
Replication featuresinmysql5.7andbeyond osi-final
Sujatha 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.7
MySQL 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 Clusters
Miguel Araújo
 
MySQL For Linux Sysadmins
MySQL For Linux SysadminsMySQL For Linux Sysadmins
MySQL For Linux Sysadmins
Morgan Tocker
 
BGOUG 2014: Developing Using MySQL
BGOUG 2014: Developing Using MySQLBGOUG 2014: Developing Using MySQL
BGOUG 2014: Developing Using MySQL
Georgi 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 Deployment
Aerospike, 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 Portal
Kellyn 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 MySQL
Mario Beck
 
Ad

More from Shivji Kumar Jha (16)

Batch to near-realtime: inspired by a real production incident
Batch to near-realtime: inspired by a real production incidentBatch to near-realtime: inspired by a real production incident
Batch to near-realtime: inspired by a real production incident
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 Databases
Shivji 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 minutes
Shivji Kumar Jha
 
osi-oss-dbs.pptx
osi-oss-dbs.pptxosi-oss-dbs.pptx
osi-oss-dbs.pptx
Shivji Kumar Jha
 
pulsar-platformatory-meetup-2.pptx
pulsar-platformatory-meetup-2.pptxpulsar-platformatory-meetup-2.pptx
pulsar-platformatory-meetup-2.pptx
Shivji 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 Pulsar
Shivji 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 Isolation
Shivji 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 Store
Shivji Kumar Jha
 
Apache Con 2021 Structured Data Streaming
Apache Con 2021 Structured Data StreamingApache Con 2021 Structured Data Streaming
Apache Con 2021 Structured Data Streaming
Shivji 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 cases
Shivji 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 Pulsar
Shivji 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 cluster
Shivji 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 cluster
Shivji Kumar Jha
 
MySQL User Camp: MySQL Cluster
MySQL User Camp: MySQL ClusterMySQL User Camp: MySQL Cluster
MySQL User Camp: MySQL Cluster
Shivji Kumar Jha
 
Batch to near-realtime: inspired by a real production incident
Batch to near-realtime: inspired by a real production incidentBatch to near-realtime: inspired by a real production incident
Batch to near-realtime: inspired by a real production incident
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 Databases
Shivji 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 minutes
Shivji Kumar Jha
 
pulsar-platformatory-meetup-2.pptx
pulsar-platformatory-meetup-2.pptxpulsar-platformatory-meetup-2.pptx
pulsar-platformatory-meetup-2.pptx
Shivji 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 Pulsar
Shivji 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 Isolation
Shivji 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 Store
Shivji Kumar Jha
 
Apache Con 2021 Structured Data Streaming
Apache Con 2021 Structured Data StreamingApache Con 2021 Structured Data Streaming
Apache Con 2021 Structured Data Streaming
Shivji 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 cases
Shivji 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 Pulsar
Shivji 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 cluster
Shivji 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 cluster
Shivji Kumar Jha
 
MySQL User Camp: MySQL Cluster
MySQL User Camp: MySQL ClusterMySQL User Camp: MySQL Cluster
MySQL User Camp: MySQL Cluster
Shivji Kumar Jha
 

Recently uploaded (20)

Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 

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 [email protected] ● Sven Sandberg [email protected] ● Luís Soares [email protected]  File bugs! ● http://bugs.mysql.com Next Steps
  • 107. 107 | Copyright © 2014, Oracle and/or its affiliates. All rights reserved.