replic8 - Replication in MySQL 8

82
The Eighth Generation of MySQL Replication Sven Sandberg ([email protected]) MySQL Replication Core Team Lead replic8

Transcript of replic8 - Replication in MySQL 8

The Eighth Generation of MySQL Replication

Sven Sandberg ([email protected])MySQL Replication Core Team Lead

replic8

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 2

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.

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 3

there’s no deb8:it’s never too l8to replic8with version 8

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 4

OverviewBackground: (Group) Replication

8.0: Performance

8.0: Monitoring

8.0: Operations

More!

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 5

MySQL Group ReplicationTraditional database● Many clients● One server

server

clients

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 6

MySQL Group Replication

serverA

serverB

serverC

clientsGroup Replication● Many clients● Many servers● Read scalability● Write everywhere*● Elastic,

Highly available● Agreement on:

● Members● Message delivery● State updates

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 7

MySQL Group Replication

serverA

serverB

W WW

serverC

R RR R RRclients

Group Replication● Many clients● Many servers● Read scalability● Write everywhere*● Elastic,

Highly available● Agreement on:

● Members● Message delivery● State updates

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 8

MySQL Group Replication

serverA

serverB

W RW

serverC

R W RWclients

WR

Group Replication● Many clients● Many servers● Read scalability● Write everywhere*● Elastic,

Highly available● Agreement on:

● Members● Message delivery● State updates

Limitations apply!https://dev.mysql.com/doc/refman/8.0/en/group-replication-limitations.html

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 9

MySQL Group Replication

serverA

serverB

W RW

serverC

R W RWclients

serverD

WR

Group Replication● Many clients● Many servers● Read scalability● Write everywhere*● Elastic,

Highly available● Agreement on:

● Members● Message delivery● State updates

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 10

MySQL Group Replication

serverA

serverB

W RW

serverC

WR R W RWclients

serverD

serverE

Group Replication● Many clients● Many servers● Read scalability● Write everywhere*● Elastic,

Highly available● Agreement on:

● Members● Message delivery● State updates

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 11

MySQL Group Replication

serverA

serverB

W RW

serverC

R WR W RWclients

serverD

serverE

Group Replication● Many clients● Many servers● Read scalability● Write everywhere*● Elastic,

Highly available● Agreement on:

● Members● Message delivery● State updates

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 12

MySQL Group Replication

serverA

serverB

W RW

serverC

R WR W RWclients

serverD

serverE

Group Replication● Many clients● Many servers● Read scalability● Write everywhere*● Elastic,

Highly available● Agreement on:

● Members● Message delivery● State updates

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 13

MySQL Group Replication

serverA

serverB

W RW

serverC

R WR W RWclients

serverE

Group Replication● Many clients● Many servers● Read scalability● Write everywhere*● Elastic,

Highly available● Agreement on:

● Members● Message delivery● State updates

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 14

MySQL Group Replication

serverA

serverB

W RW

serverC

R WR W RWclients

serverE

Group Replication● Many clients● Many servers● Read scalability● Write everywhere*● Elastic,

Highly available● Agreement on:

● Members● Message delivery● State updates

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 15

MySQL Group Replication

serverA

serverB

W RW

serverC

R WR W RWclients

Group Replication● Many clients● Many servers● Read scalability● Write everywhere*● Elastic,

Highly available● Agreement on:

● Members● Message delivery● State updates

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 16

MySQL Group Replication

serverA

serverB

W RW

serverC

R WR W RWclients

We are 3:A, B, C!

We are 3:A, B, C!

We are 3:A, B, C!

Group Replication● Many clients● Many servers● Read scalability● Write everywhere*● Elastic,

Highly available● Agreement on:

● Members● Message delivery● State updates

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 17

MySQL Group Replication

serverA

serverB

W RW

serverC

R WR W RWclients

Group Replication● Many clients● Many servers● Read scalability● Write everywhere*● Elastic,

Highly available● Agreement on:

● Members● Message delivery● State updates

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 18

MySQL Group Replication

serverA

serverB

W RW R WR W RWclients

You and me:A and B!

You and me:A and B!

Group Replication● Many clients● Many servers● Read scalability● Write everywhere*● Elastic,

Highly available● Agreement on:

● Members● Message delivery● State updates

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 19

MySQL Group Replication

serverA

serverB

W RW R WR W RWclients

Group Replication● Many clients● Many servers● Read scalability● Write everywhere*● Elastic,

Highly available● Agreement on:

● Members● Message delivery● State updates

B B A A

All receive insame order

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 20

MySQL Group Replication

serverA

serverB

W RW R WR W RWclients

Group Replication● Many clients● Many servers● Read scalability● Write everywhere*● Elastic,

Highly available● Agreement on:

● Members● Message delivery● State updates

Tablerow 1row 2row 3

Queue

insert row 4

Tablerow 1row 2

Queue

insert row 3insert row 4

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 21

MySQL Group ReplicationGroup Replication● Many clients● Many servers● Read scalability● Write everywhere*● Elastic,

Highly available● Agreement on:

● Members● Message delivery● State updates

Summary:

GR in 8 is gr8

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 22

MySQL Async Replication

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 23

MySQL Async Replication

Example: Async replication between geo-distributed groups

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 24

Replication Architecture: Applier Pipeline

Replica

RelayLog

WorkerQueues

WorkerThreads

Coordinator Thread

ReceiverThread

network

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 25

Replication Architecture: Applier Pipeline

Replica

RelayLog

WorkerQueues

WorkerThreads

Coordinator Thread

ReceiverThread

network

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 26

Replication Architecture: Applier Pipeline

Replica

RelayLog

WorkerQueues

WorkerThreads

Coordinator Thread

ReceiverThread

network

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 27

Replication Architecture: Applier Pipeline

Replica

RelayLog

WorkerQueues

WorkerThreads

Coordinator Thread

ReceiverThread

network

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 28

Replication Architecture: Applier Pipeline

Replica

RelayLog

WorkerQueues

WorkerThreads

Coordinator Thread

ReceiverThread

network

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 29

Replication Architecture: Applier Pipeline

Replica

RelayLog

WorkerQueues

WorkerThreads

Coordinator Thread

ReceiverThread

network

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 30

Replication Architecture: Applier Pipeline

Replica

RelayLog

WorkerQueues

WorkerThreads

Coordinator Thread

ReceiverThread

network

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 31

Replication Architecture: Applier Pipeline

Replica

RelayLog

WorkerQueues

WorkerThreads

Coordinator Thread

ReceiverThread

network

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 32

Replication Architecture: Applier Pipeline

Replica

RelayLog

WorkerQueues

WorkerThreads

Coordinator Thread

ReceiverThread

network

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 33

Replication Architecture: Applier Pipeline

Replica

RelayLog

WorkerQueues

WorkerThreads

Coordinator Thread

ReceiverThread

network

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 34

Replication Architecture: Applier Pipeline

Replica

RelayLog

WorkerQueues

WorkerThreads

Coordinator Thread

ReceiverThread

network

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 35

Replication Architecture: Applier Pipeline

Replica

RelayLog

WorkerQueues

WorkerThreads

Coordinator Thread

ReceiverThread

network

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 36

Replication Architecture: Applier Pipeline

Replica

RelayLog

WorkerQueues

WorkerThreads

Coordinator Thread

ReceiverThread

network

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 37

Replication Architecture: Applier Pipeline

Replica

RelayLog

WorkerQueues

WorkerThreads

Coordinator Thread

ReceiverThread

network

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 38

Replication Architecture: Applier Pipeline

Replica

RelayLog

WorkerQueues

WorkerThreads

Coordinator Thread

ReceiverThread

network

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 39

Replication Architecture: Applier Pipeline

Replica

RelayLog

WorkerQueues

WorkerThreads

Coordinator Thread

ReceiverThread

network

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 40

Replication Architecture: Applier Pipeline

Replica

RelayLog

WorkerQueues

WorkerThreads

Coordinator Thread

ReceiverThread

network

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 41

Replication Architecture: Applier Pipeline

Replica

RelayLog

WorkerQueues

WorkerThreads

Coordinator Thread

ReceiverThread

network

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 42

Replication Architecture: Applier Pipeline

Replica

RelayLog

WorkerQueues

WorkerThreads

Coordinator Thread

ReceiverThread

network

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 43

Replication Architecture: Applier Pipeline

Replica

RelayLog

WorkerQueues

WorkerThreads

Coordinator Thread

ReceiverThread

network

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 44

Replication Architecture: Applier Pipeline

Replica

RelayLog

WorkerQueues

WorkerThreads

Coordinator Thread

ReceiverThread

network

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 45

OverviewBackground: (Group) Replication

8.0: Performance

8.0: Monitoring

8.0: Operations

More!

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 46

8.0 Performance: Writeset Parallelization Replica can apply more transactions in parallel

– Able to keep worker threads busy– Can now use the full potential of the applier pipeline

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 47

8.0 Performance: Writeset Parallelization 5.6: parallelize transactions that modify different databases

parallel isolated isolated isolated

5.7: parallelize transactions that committed together

parallel parallel

8.0: parallelize transactions that modify disjoint sets of rows

always >= 3 transactions applying in parallel in this example

db1 db2 db3 db3 db3 db3

row 1 row 2,3 row 4 row 1,5 row 6 row 4

Typical parallelism:close to primary

Typical parallelism:less than primary

Typical parallelism:more than primary

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 48

8.0 Performance: Writeset Parallelization To enable:primary> SET binlog_transaction_dependency_tracking = WRITESET;replica> SET slave_parallel_workers = 4, slave_parallel_type = LOGICAL_CLOCK, slave_preserve_commit_order = 1;

Note: slave_preserve_commit_order = 1:– Apply in parallel, commit in order– Preserves application constraints between transactions:

serverA

Constraint: “trx1 must commit before trx2”w trx1, trx2

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 49

8.0 Performance: Applier Pipeline Parallelize reads and writes to relay log

Performance for free

Replica

RelayLog

WorkerQueues

WorkerThreads

Coordinator Thread

ReceiverThread

network

trx1

trx1

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 50

8.0 Performance: Efficient JSON Replication Document store / NOSQL is now efficient! UPDATE t SET j = JSON_REPLACE(j, “$[0].x.y[8]”, 7);

Replicate only the modified part Huge saving for small changes in big documents

JSON document

modified part

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 51

8.0 Performance: Efficient JSON Replication Enable:

SET GLOBAL binlog_row_image = MINIMAL, binlog_row_value_options = PARTIAL_JSON;

JSON_SET, JSON_REPLACE, JSON_REMOVE– And also composition: JSON_SET(JSON_REMOVE(...))

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 52

OverviewBackground: (Group) Replication

8.0: Performance

8.0: Monitoring

8.0: Operations

More!

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 53

machine Cmachine C machine Dmachine D

8.0 Monitoring: Lag Difference in server states,

measured in microseconds between commits,between:

– Replica and primary– Hops in topology– Stages of applier

machine Bmachine B

B C D

machine Amachine A

A

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 54

machine Cmachine C machine Dmachine D

8.0 Monitoring: Lag Difference in server states,

measured in microseconds between commits,between:

– Replica and primary– Hops in topology– Stages of applier

machine Bmachine B

B C D

machine Amachine A

A

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 55

machine Cmachine C machine Dmachine D

8.0 Monitoring: Lag Difference in server states,

measured in microseconds between commits,between:

– Replica and primary– Hops in topology– Stages of applier

machine Bmachine B

B C D

machine Amachine A

A

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 56

machine Cmachine C machine Dmachine D

8.0 Monitoring: Lag Difference in server states,

measured in microseconds between commits,between:

– Replica and primary– Hops in topology– Stages of applier

machine Bmachine B

B C D

machine Amachine A

Aoriginalcommit

timestamp

immediatecommit

timestamp

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 57

machine Cmachine C machine Dmachine D

8.0 Monitoring: Lag Difference in server states,

measured in microseconds between commits,between:

– Replica and primary– Hops in topology– Stages of applier

machine Bmachine B

B C D

machine Amachine A

Aoriginalcommit

timestamp

immediatecommit

timestamp

This transaction’s latency vs primary:

SELECT LAST_APPLIED_TRANSACTION_END_APPLY_TIMESTAMP - LAST_APPLIED_TRANSACTION_ORIGINAL_COMMIT_TIMESTAMP FROM performance_schema. replication_applier_status_by_worker WHERE LAST_APPLIED_TRANSACTION_END_APPLY_TIMESTAMP = MAX(LAST_APPLIED_TRANSACTION_END_APPLY_TIMESTAMP)

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 58

machine Cmachine C machine Dmachine D

8.0 Monitoring: Lag Difference in server states,

measured in microseconds between commits,between:

– Replica and primary– Hops in topology– Stages of applier

machine Bmachine B

B C D

machine Amachine A

Aoriginalcommit

timestamp

immediatecommit

timestamp

This transaction’s latency vs last hop:

SELECT LAST_APPLIED_TRANSACTION_END_APPLY_TIMESTAMP - LAST_APPLIED_TRANSACTION_IMMEDIATE_COMMIT_TIMESTAMP FROM performance_schema. replication_applier_status_by_worker WHERE LAST_APPLIED_TRANSACTION_END_APPLY_TIMESTAMP = MAX(LAST_APPLIED_TRANSACTION_END_APPLY_TIMESTAMP)

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 59

machine Cmachine C machine Dmachine D

8.0 Monitoring: Lag Difference in server states,

measured in microseconds between commits,between:

– Replica and primary– Hops in topology– Stages of applier

machine Bmachine B

B C D

machine Amachine A

Aoriginalcommit

timestamp

immediatecommit

timestamp

These transactions’ latencies vs last hop:

SELECT APPLYING_TRANSACTION_START_APPLY_TIMESTAMP – APPLYING_TRANSACTION_IMMEDIATE_COMMIT_TIMESTAMP FROM performance_schema. replication_applier_status_by_worker

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 60

machine Cmachine C machine Dmachine D

8.0 Monitoring: Lag Difference in server states,

measured in microseconds between commits,between:

– Replica and primary– Hops in topology– Stages of applier

machine Bmachine B

B C D

machine Amachine A

Aoriginalcommit

timestamp

immediatecommit

timestamp

This transaction’s latency vs last hop:

SELECT LAST_PROCESSED_TRANSACTION_END_BUFFER_TIMESTAMP – LAST_PROCESSED_TRANSACTION_IMMEDIATE_COMMIT_TIMESTAMP FROM performance_schema. replication_applier_status_by_coordinator

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 61

machine Cmachine C machine Dmachine D

8.0 Monitoring: Lag Difference in server states,

measured in microseconds between commits,between:

– Replica and primary– Hops in topology– Stages of applier

machine Bmachine B

B C D

machine Amachine A

Aoriginalcommit

timestamp

immediatecommit

timestamp

This transaction’s latency vs last hop:

SELECT PROCESSING_TRANSACTION_END_BUFFER_TIMESTAMP – PROCESSING_TRANSACTION_IMMEDIATE_COMMIT_TIMESTAMP FROM performance_schema. replication_applier_status_by_coordinator

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 62

machine Cmachine C machine Dmachine D

8.0 Monitoring: Lag Difference in server states,

measured in microseconds between commits,between:

– Replica and primary– Hops in topology– Stages of applier

machine Bmachine B

B C D

machine Amachine A

Aoriginalcommit

timestamp

immediatecommit

timestamp

This transaction’s latency vs last hop:

SELECT LAST_QUEUED_TRANSACTION_END_QUEUE_TIMESTAMP – LAST_QUEUED_TRANSACTION_IMMEDIATE_COMMIT_TIMESTAMP FROM performance_schema. replication_connection_status

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 63

machine Cmachine C machine Dmachine D

8.0 Monitoring: Lag Difference in server states,

measured in microseconds between commits,between:

– Replica and primary– Hops in topology– Stages of applier

machine Bmachine B

B C D

machine Amachine A

Aoriginalcommit

timestamp

immediatecommit

timestamp

This transaction’s latency vs last hop:

SELECT QUEUEING_TRANSACTION_END_QUEUE_TIMESTAMP – QUEUEING_TRANSACTION_IMMEDIATE_COMMIT_TIMESTAMP FROM performance_schema. replication_connection_status

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 64

8.0 Monitoring: Group Members Who are in this group?

– server_uuid, host, port, MySQL version Who is the primary? Online status of each node

mysql> SELECT … FROM performance_schema.replication_group_membersMEMBER_ID MEMBER_HOST MEMBER_PORT MEMBER_STATE MEMBER_ROLE MEMBER_VERSION<uuid-A> murkla 3306 ONLINE PRIMARY 5.7.20<uuid-B> kremla 3306 ONLINE SECONDARY 5.7.21<uuid-C> kantarell 3306 UNREACHABLE SECONDARY 8.0.3

New in 8.0

B5.7.21

A5.7.20

C8.0.3

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 65

8.0 Monitoring: Group Member Statistics Statistics used to diagnose group members

– Conflict ratio of the group– Conflict ratio of each member (multi-primary)– Is any member falling behind on certification or applying?

Table performance_schema.replication_group_member_stats:counts of transactions, by member:

– Positively/negatively certified transactions of any origin– Positively/negatively certified transactions from the node– Transactions waiting to be certified– Certified transactions waiting to be applied

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 66

OverviewBackground: (Group) Replication

8.0: Performance

8.0: Monitoring

8.0: Operations

More!

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 67

8.0 Operations: Multi-source Filters

Users Posts

Aggr-egate

users bio groups posts com-ments

users

No filter

-

-replic

ate-ignore

-

ta

ble=db.users

only users

users bio groups posts com-ments

Different filters ontwo channels

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 68

8.0 Operations: Set Next Primary

B

A

C

W WW

SET group_replication_member_weight = [0-100]

Dw=25 w=20

R RR R RR R RR

w=10w=15

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 69

W WW

8.0 Operations: Set Next Primary

B

A

Cw=15

Dw=10 w=25 w=20

R RR R RR R RR

SET group_replication_member_weight = [0-100]

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 70

8.0 Operations: Set Next Primary

B

C

Dw=10 w=25 w=20

? ? ?

W WW R RR R RR R RR

SET group_replication_member_weight = [0-100]

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 71

SET group_replication_member_weight = [0-100]

8.0 Operations: Set Next Primary

B

C

Dw=10 w=25 w=20

? ? ?

W WW R RR R RR R RR

25 is the biggest→ C is new primary

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 72

8.0 Operations: Set Next Primary

B

C

Dw=10 w=25 w=20

W WW R RR R RR R RR

SET group_replication_member_weight = [0-100]

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 73

8.0 Operations: No Writes After Leaving Group

B

A

C

D

W WW

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 74

8.0 Operations: No Writes After Leaving Group

B

A

C

D

Locally on A:

STOP GROUP REPLICATION

W WW

1. Disallow new writes2. Wait for ongoing writes3. Leave group

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 75

8.0 Operations: No Writes After Leaving Group

B

A

C

D

Locally on A:

STOP GROUP REPLICATION

W WW

1. Disallow new writes2. Wait for ongoing writes3. Leave group

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 76

W WW

8.0 Operations: No Writes After Leaving Group

B

A

C

D

Locally on A:STOP GROUP REPLICATION

1. Disallow new writes2. Wait for ongoing writes3. Leave group

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 77

OverviewBackground: (Group) Replication

8.0: Performance

8.0: Monitoring

8.0: Operations

More!

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 78

More!Global performance: Flow control tuning (throttle writes to sustain replicas)

Usability: Better default configuration Monitoring: Monitor replication even when disk full Monitoring: Currently applying query, even for row-based replication Recoverability: Recover DDL after crash Interoperability: Metadata in binary log (full type information for DML) Interoperability: Transaction byte-length in binary log Operations: GTID support for restoring backup on non-empty server Operations: Specify binary log file number after RESET MASTER Operations: Specify how long binary log files are kept, with second precision Operations: Group Replication support for SAVEPOINT Debugging: Group Replication: message bus logging Maintenance: Removed 4.x/5.0 compatibility code

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 79

Contributions! Thank you:

Davi * 2DanielDaniël * 2Laurynas * 5OvaisTsubasa * 2Yura

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 80

“I can’t w8 to replic8 with version 8” Evalu8

https://dev.mysql.com/downloads/mysql Educ8

http://dev.mysql.com/doc/refman/8.0/en/group-replication.html http://dev.mysql.com/doc/refman/8.0/en/replication.html

Contempl8http://mysqlhighavailability.com

Cooper8https://bugs.mysql.com

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 81

Thank You!& cu l8r, m8s

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 82