SlideShare ist ein Scribd-Unternehmen logo
1 von 72
Downloaden Sie, um offline zu lesen
MySQL Group Replication &
MySQL InnoDB Cluster
Production Ready?
Kenny Gryp   
MySQL Practice Manager
Table of Contents
 
Group Replication
MySQL Shell (AdminAPI)
MySQL Group Replication
MySQL Router
Best Practices
Limitations
Production?
2 / 72
MySQL Group Replication
MySQL InnoDB Cluster
MySQL Group Replication
Developed by Oracle
Generally Available in MySQL 5.7.17 on December 2016
MySQL InnoDB Cluster as Solution
MySQL Group Replication is a MySQL Server plugin that
provides distributed state machine replication with strong
coordination between servers. Servers coordinate
themselves automatically, when they are part of the same
replication group. Any server in the group can process
updates. Con icts are detected and handled automatically.
There is a built-in membership service that keeps the view
of the group consistent and available for all servers at any
given point in time. Servers can leave and join the group and
the view will be updated accordingly.
4 / 72
Async
Async delivery
 
Master -> Replica(s)
Replica 'fetches' binlogs
and executes
external scripts required
for automatic failover, split
brain prevention...
GR
Sync delivery
(at TRX Commit)
Members <-> Members
Majority of members
receive TRX (PAXOS)
Automatic handling of
node status &
membership, leader
election (quorum-based)
Asynchronous Replication vs. GR
5 / 72
Group Replication
Behavior Differences with Async Replication:
GR uses a PAXOS protocol to ensure all nodes receive
data
Increased COMMIT time
similar to PXC (& semi-sync replication)
Easy to con gure/setup (easier than Async GTID Setups)
(Integrated multi-node con ict detection)
6 / 72
Use Cases
Environments Requiring:
Strict Durability requirements
no data loss when a database node fails
(0 RPO master failure):
Consistency: integrated split-brain prevention
(Quorum based)
Faster Failover than standard async
(better RTO master failure)
(Write to multiple nodes simultaneously)
7 / 72
MySQL InnoDB Cluster
8 / 72
Admin API
MySQL Shell
MySQL Shell
"Makes Group Replication Con guration Easy"
Not really 5.7.21 & <= 8.0.4:
#90439: AdminAPI does not change my.cnf
#90438: AdminAPI fails to rejoin instances
10 / 72
MySQL Shell
"Makes Group Replication Con guration Easy"
Not really 5.7.21 & <= 8.0.4:
#90439: AdminAPI does not change my.cnf
#90438: AdminAPI fails to rejoin instances
MySQL 8.0.11 (GA)
(great unicode support)
11 / 72
MySQL Shell
"Makes Group Replication Con guration Easy"
Not really 5.7.21 & <= 8.0.4:
#90439: AdminAPI does not change my.cnf
#90438: AdminAPI fails to rejoin instances
MySQL 8.0.11 (GA)
(great unicode support)
Con g is saved (SET PERSIST)
All actions can be done from a remote mysqlsh
MySQL Group Replication
MySQL Group Replication
Split Brain Prevention
Data Consistency
Usability
Stability
Performance
14 / 72
Split Brain Prevention
MySQL Group Replication
Big improvement over 5.7.17
( rst GA)
Split Brain Prevention
No known split brain issues anymore!
16 / 72
Data Consistency
MySQL Group Replication
Data Consistency
Multi Writer
I have read the MySQL InnoDB cluster manual and
I understand the requirements and limitations
of advanced Multi-Master Mode.
Confirm [y/N]: NO
18 / 72
Data Consistency
Multi Writer
I have read the MySQL InnoDB cluster manual and
I understand the requirements and limitations
of advanced Multi-Master Mode.
Confirm [y/N]: NO
Multi-Master is not recommended
19 / 72
Data Consistency
Multi Writer
I have read the MySQL InnoDB cluster manual and
I understand the requirements and limitations
of advanced Multi-Master Mode.
Confirm [y/N]: NO
Multi-Master is not recommended
#89194: Wrong certi cation lead to data inconsistency
and GR breakage. (Multi-Master, should be xed in 5.7.22
and 8.0.11)
#89938: Rejoin old primary node may duplicate key when
recovery
20 / 72
Usability
MySQL Group Replication
Usability
mysql> INSERT INTO maurage
SELECT null FROM chez_lefred
WHERE dim0s_office IS NULL;
ERROR 3100 (HY000): Error on observer while
running replication hook 'before_commit'.
22 / 72
Usability
mysql> INSERT INTO maurage
SELECT null FROM chez_lefred
WHERE dim0s_office IS NULL;
ERROR 3100 (HY000): Error on observer while
running replication hook 'before_commit'.
Error Log:
Plugin group_replication reported:
'Error on session 75. Transaction of size 19943309
exceeds specified limit 15000000.
To increase the limit please adjust
group_replication_transaction_size_limit option.'
Run function 'before_commit' in plugin
'group_replication' failed
23 / 72
Usability
mysql> COMMIT;
ERROR 1180 (HY000): Got error 149
- 'Lock deadlock; Retry transaction' during COMMIT
24 / 72
Usability
mysql> COMMIT;
ERROR 1180 (HY000): Got error 149
- 'Lock deadlock; Retry transaction' during COMMIT
Nothing in the error log!
Cannot troubleshoot
(Only happens in multi-writer mode)
25 / 72
Usability
mysql> show processlistG
Id: 25
User: root
Host: localhost
db: NULL
Command: Query
Time: 131
State: checking permissions
Info: create database node2
26 / 72
Usability
mysql> show processlistG
Id: 25
User: root
Host: localhost
db: NULL
Command: Query
Time: 131
State: checking permissions
Info: create database node2
no Quorum
gr_unreachable_majority_timeout=0 by default :(
27 / 72
Usability
Features:
No automatic node provisioning
#84730: Cannot troubleshoot Transaction Rollbacks
#90461: Changing replication mode cannot happen
online
#84729: Impossible to block reads on partitioned nodes
#90484: No (easy) way to know if a GR node is writable or
not
#90485: Ignore group_replication_group_seeds nodes if
they are not primary/active
Bug:
Usability
Features & Bugs from Jean-François Gagné:
#89147: ... error messages is ambiguous.
#89145: Provide relay log details in case of Group
Replication applier failure.
#89197: When GR fails, the error message says to
"START SLAVE".
29 / 72
Stability
MySQL Group Replication
Stability
Feature:
#84784: Nodes do not reconnect back to the group
replication once they got disconnected, causing nodes to
drop from the cluster (except last 2 nodes)
Bug:
#90457: mysqld crash with ctrl-c/z'ed
START GROUP_REPLICATION
31 / 72
Performance
MySQL Group Replication
Performance
[ 220s] threads: 16 tps: 10599.99 qps: 10598.99 (r/w/o: 0.00/10598.99/0.00)
[ 221s] threads: 16 tps: 10571.71 qps: 10571.71 (r/w/o: 0.00/10571.71/0.00)
[ 222s] threads: 16 tps: 10307.88 qps: 10307.88 (r/w/o: 0.00/10307.88/0.00)
[ 223s] threads: 16 tps: 8220.26 qps: 8220.26 (r/w/o: 0.00/8220.26/0.00)
[ 224s] threads: 16 tps: 6381.09 qps: 6381.09 (r/w/o: 0.00/6381.09/0.00)
[ 225s] threads: 16 tps: 10348.85 qps: 10348.85 (r/w/o: 0.00/10348.85/0.00)
[ 226s] threads: 16 tps: 9383.95 qps: 9383.95 (r/w/o: 0.00/9383.95/0.00)
[ 227s] threads: 16 tps: 10528.06 qps: 10528.06 (r/w/o: 0.00/10528.06/0.00)
[ 280s] threads: 16 tps: 10335.09 qps: 10335.09 (r/w/o: 0.00/10335.09/0.00)
[ 281s] threads: 16 tps: 10372.06 qps: 10372.06 (r/w/o: 0.00/10372.06/0.00)
[ 282s] threads: 16 tps: 10237.61 qps: 10237.61 (r/w/o: 0.00/10237.61/0.00)
[ 283s] threads: 16 tps: 8206.20 qps: 8206.20 (r/w/o: 0.00/8206.20/0.00)
[ 284s] threads: 16 tps: 6050.79 qps: 6050.79 (r/w/o: 0.00/6050.79/0.00)
[ 285s] threads: 16 tps: 10053.31 qps: 10053.31 (r/w/o: 0.00/10053.31/0.00)
[ 286s] threads: 16 tps: 10208.14 qps: 10208.14 (r/w/o: 0.00/10208.14/0.00)
[ 287s] threads: 16 tps: 10315.78 qps: 10315.78 (r/w/o: 0.00/10315.78/0.00)
33 / 72
Performance
[ 220s] threads: 16 tps: 10599.99 qps: 10598.99 (r/w/o: 0.00/10598.99/0.00)
[ 221s] threads: 16 tps: 10571.71 qps: 10571.71 (r/w/o: 0.00/10571.71/0.00)
[ 222s] threads: 16 tps: 10307.88 qps: 10307.88 (r/w/o: 0.00/10307.88/0.00)
[ 223s] threads: 16 tps: 8220.26 qps: 8220.26 (r/w/o: 0.00/8220.26/0.00)
[ 224s] threads: 16 tps: 6381.09 qps: 6381.09 (r/w/o: 0.00/6381.09/0.00)
[ 225s] threads: 16 tps: 10348.85 qps: 10348.85 (r/w/o: 0.00/10348.85/0.00)
[ 226s] threads: 16 tps: 9383.95 qps: 9383.95 (r/w/o: 0.00/9383.95/0.00)
[ 227s] threads: 16 tps: 10528.06 qps: 10528.06 (r/w/o: 0.00/10528.06/0.00)
[ 280s] threads: 16 tps: 10335.09 qps: 10335.09 (r/w/o: 0.00/10335.09/0.00)
[ 281s] threads: 16 tps: 10372.06 qps: 10372.06 (r/w/o: 0.00/10372.06/0.00)
[ 282s] threads: 16 tps: 10237.61 qps: 10237.61 (r/w/o: 0.00/10237.61/0.00)
[ 283s] threads: 16 tps: 8206.20 qps: 8206.20 (r/w/o: 0.00/8206.20/0.00)
[ 284s] threads: 16 tps: 6050.79 qps: 6050.79 (r/w/o: 0.00/6050.79/0.00)
[ 285s] threads: 16 tps: 10053.31 qps: 10053.31 (r/w/o: 0.00/10053.31/0.00)
[ 286s] threads: 16 tps: 10208.14 qps: 10208.14 (r/w/o: 0.00/10208.14/0.00)
[ 287s] threads: 16 tps: 10315.78 qps: 10315.78 (r/w/o: 0.00/10315.78/0.00)
#84774 Performance drop every 60 seconds
34 / 72
Performance
Split-Brain Consistency & Usability rst
35 / 72
MySQL Router
MySQL Router
Quite simple load balancer:
TCP port for Writes & Reads
TCP port for Reads
Routing Strategies (almost only valuable con guration
setting)
first-available
next-available
round-robin
round-robin-with-fallback
37 / 72
MySQL Router
Quite simple load balancer:
TCP port for Writes & Reads
TCP port for Reads
Routing Strategies (almost only valuable con guration
setting)
first-available
next-available
round-robin
round-robin-with-fallback
#83236: Not possible to see mysqlrouter status
[quote]that's by design
bugs.mysql.com is not a place to ask questions[/quote]
38 / 72
MySQL Router
Limitations:
No transparent read write splitting
No query caching
No connection multiplexing
No way to get the router status
No query rules
No tra c mirroring
No rewall
39 / 72
MySQL Router
Limitations:
No transparent read write splitting
No query caching
No connection multiplexing
No way to get the router status
No query rules
No tra c mirroring
No rewall
Use ProxySQL!
40 / 72
Best Practices
Best Practices - Architecture
Uneven amount of nodes
Not recommended for WAN
=> important timeouts are not con gurable yet
Use an intelligent Load Balancer
=> #84729 Impossible to block reads on partitioned
nodes
42 / 72
Best Practices - Con guration Settings
hostname=RESOLVABLE
super_read_only=ON
group_replication_unreachable_majority_timeout=20
log_error_verbosity=3
group_replication_ssl_mode=REQUIRED
disabled_storage_engines="MyISAM,BLACKHOLE,FEDERATED,
ARCHIVE,MEMORY"
group_replication_auto_increment_increment=1
43 / 72
Best Practices - Con guration Settings
hostname=RESOLVABLE
super_read_only=ON
group_replication_unreachable_majority_timeout=20
log_error_verbosity=3
group_replication_ssl_mode=REQUIRED
disabled_storage_engines="MyISAM,BLACKHOLE,FEDERATED,
ARCHIVE,MEMORY"
group_replication_auto_increment_increment=1
extra when using 5.7 & < 8.0.11
group_replication_transaction_size_limit=150000000
group_replication_group_seeds=<ALL_NODES!>
group_replication_single_primary_mode=ON
group_replication_bootstrap_group=OFF
group_replication_allow_local_disjoint_gtids_join=OFF
44 / 72
Best Practices
hostname=VALID_RESOLVABLE_HOSTNAME
other GR nodes will resolve the hostname to setup
connections
45 / 72
Best Practices
super_read_only=ON
Avoid PEBCAK split brain!
Using mysqlsh with < 8.0.11 does not persist
con guration and GR does not start on boot
=> writeable single mysql node when restarted
46 / 72
Best Practices
gr_unreachable_majority_timeout=20
Applications will get an error instead of hanging forever
(Default 0)
20 seconds will abort group replication and con gure
super_read_only=ON (adapt to your needs)
Drawback: if remaining 2 nodes get partitioned as well, all
nodes go in ERROR and bootstrap is required
47 / 72
Best Practices
log_error_verbosity=3
In MySQL 8, output is scarce, con gure verbosity level 3 to
allow better troubleshooting.
48 / 72
Best Practices
gr_ssl_mode=REQUIRED
DISABLED (default)
Similar to client ssl-mode=REQUIRED
mysqlsh (py): dba.create_cluster('maurage',
(memberSslMode='REQUIRED'))
49 / 72
Best Practices
disabled_storage_engines=
"MyISAM,BLACKHOLE,FEDERATED,
ARCHIVE,MEMORY"
Only InnoDB is supported!
50 / 72
Best Practices
gr_auto_increment_increment=1
Default 7
Single-Primary/Writer is recommended
No need for >1
51 / 72
Best Practices
gr_transaction_size_limit=150000000
< 8.0.2 default: unlimited maximum size of
transactions
>= 8.0.2 default: 143,0511474609MB
Keep Memory available for GR
52 / 72
Best Practices
gr_group_seeds=<ALL_NODES!>
< 8.0.11: with mysqlsh con gured cluster does not
properly con gure seeds causing nodes not to rejoin
#90438
Con gure IP Addresses, not hostnames #90483
53 / 72
Best Practices
gr_single_primary_mode=ON
I have read the MySQL InnoDB cluster manual and
I understand the requirements and limitations
of advanced Multi-Master Mode.
Confirm [y/N]: NO
54 / 72
Best Practices
gr_bootstrap_group=OFF
Do not set this to ON, ONLY when creating a cluster.
does not go to OFF automatically
set back to OFF immediately
=> use
dba.rebootClusterFromCompleteOutage('')
in some scenarios
55 / 72
Best Practices
gr_allow_local_disjoint_gtids_join=OFF
Don't even try to live with errant transactions
Big concern for data consistency
Removed in 8.0.4
56 / 72
Limitations
Limitations
Do not bother using GR if you require:
GET_LOCK()
binlog_format=STATEMENT
Large transactions
SELECT FOR UPDATE (#85998)
IPv6 (#90217)
Non InnoDB Storage Engines
Consistent reads on all nodes
No PK on all tables
58 / 72
Production Ready?
Production Ready?
Good
Solid split brain prevention
mysqlsh in 8.0.11 really starts to show it's power!
60 / 72
Production Ready?
Not So Good
Many of the features listed in this presentation
Bad
#84729: Impossible to block reads on partitioned nodes
#90484: No (easy) way to know if a GR node is writable
Compared to Percona XtraDB Cluster/Galera Cluster:
No automatic node provisioning
Not possible to have synchronous reads
Ugly
#84784: Nodes do not reconnect
Production Ready? - My Opinion
(for the masses)
Component MySQL 5.7 GA MySQL 8.0 GA (+)
MySQL Shell NO YES
MySQL Router NO (#) NO (#)
Group Replication NO (*) NO (*)
62 / 72
Production Ready? - My Opinion
(for the masses)
Component MySQL 5.7 GA MySQL 8.0 GA (+)
MySQL Shell NO YES
MySQL Router NO (#) NO (#)
Group Replication NO (*) NO (*)
(+) MySQL 8.0 is new, expect early adoption issues
(#) Use ProxySQL!
(*) Early Adopters required, much needed feedback to
make the product better.
63 / 72
Production Ready? - My Opinion
(for the masses)
Component MySQL 5.7 GA MySQL 8.0 GA (+)
MySQL Shell NO YES
MySQL Router NO (#) NO (#)
Group Replication NO (*) NO (*)
(+) MySQL 8.0 is new, expect early adoption issues
(#) Use ProxySQL!
(*) Early Adopters required, much needed feedback to
make the product better.
Best Practices!
Ready For Production? (2018-04)
65 / 72
bottled end of 2016
Ready For Production? (2018-04)
66 / 72
bottled end of 2016
delicious gem, still
youthful
Ready For Production? (2018-04)
67 / 72
bottled end of 2016
delicious gem, still
youthful
already very enjoyable for
connoisseurs
Ready For Production? (2018-04)
68 / 72
bottled end of 2016
delicious gem, still
youthful
already very enjoyable for
connoisseurs
great legs
Ready For Production? (2018-04)
69 / 72
bottled end of 2016
delicious gem, still
youthful
already very enjoyable for
connoisseurs
great legs
nice structure
Ready For Production? (2018-04)
70 / 72
bottled end of 2016
delicious gem, still
youthful
already very enjoyable for
connoisseurs
great legs
nice structure
needs some decanting to
become top-knotch
Ready For Production? (2018-04)
71 / 72
bottled end of 2016
delicious gem, still
youthful
already very enjoyable for
connoisseurs
great legs
nice structure
needs some decanting to
become top-knotch
KG: 90 points
Ready For Production? (2018-04)
72 / 72

Weitere Àhnliche Inhalte

Was ist angesagt?

MySQL InnoDB Cluster - Advanced Configuration & Operations
MySQL InnoDB Cluster - Advanced Configuration & OperationsMySQL InnoDB Cluster - Advanced Configuration & Operations
MySQL InnoDB Cluster - Advanced Configuration & OperationsFrederic Descamps
 
MySQL Timeout Variables Explained
MySQL Timeout Variables Explained MySQL Timeout Variables Explained
MySQL Timeout Variables Explained Mydbops
 
Wars of MySQL Cluster ( InnoDB Cluster VS Galera )
Wars of MySQL Cluster ( InnoDB Cluster VS Galera ) Wars of MySQL Cluster ( InnoDB Cluster VS Galera )
Wars of MySQL Cluster ( InnoDB Cluster VS Galera ) Mydbops
 
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
 
High Availability in MySQL 8 using InnoDB Cluster
High Availability in MySQL 8 using InnoDB ClusterHigh Availability in MySQL 8 using InnoDB Cluster
High Availability in MySQL 8 using InnoDB ClusterSven Sandberg
 
The InnoDB Storage Engine for MySQL
The InnoDB Storage Engine for MySQLThe InnoDB Storage Engine for MySQL
The InnoDB Storage Engine for MySQLMorgan Tocker
 
Upgrade from MySQL 5.7 to MySQL 8.0
Upgrade from MySQL 5.7 to MySQL 8.0Upgrade from MySQL 5.7 to MySQL 8.0
Upgrade from MySQL 5.7 to MySQL 8.0Olivier DASINI
 
MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)
MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)
MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)Jean-François Gagné
 
Redo log improvements MYSQL 8.0
Redo log improvements MYSQL 8.0Redo log improvements MYSQL 8.0
Redo log improvements MYSQL 8.0Mydbops
 
Linux tuning to improve PostgreSQL performance
Linux tuning to improve PostgreSQL performanceLinux tuning to improve PostgreSQL performance
Linux tuning to improve PostgreSQL performancePostgreSQL-Consulting
 
ProxySQL and the Tricks Up Its Sleeve - Percona Live 2022.pdf
ProxySQL and the Tricks Up Its Sleeve - Percona Live 2022.pdfProxySQL and the Tricks Up Its Sleeve - Percona Live 2022.pdf
ProxySQL and the Tricks Up Its Sleeve - Percona Live 2022.pdfJesmar Cannao'
 
Almost Perfect Service Discovery and Failover with ProxySQL and Orchestrator
Almost Perfect Service Discovery and Failover with ProxySQL and OrchestratorAlmost Perfect Service Discovery and Failover with ProxySQL and Orchestrator
Almost Perfect Service Discovery and Failover with ProxySQL and OrchestratorJean-François Gagné
 
Advanced Percona XtraDB Cluster in a nutshell... la suite
Advanced Percona XtraDB Cluster in a nutshell... la suiteAdvanced Percona XtraDB Cluster in a nutshell... la suite
Advanced Percona XtraDB Cluster in a nutshell... la suiteKenny Gryp
 
HandsOn ProxySQL Tutorial - PLSC18
HandsOn ProxySQL Tutorial - PLSC18HandsOn ProxySQL Tutorial - PLSC18
HandsOn ProxySQL Tutorial - PLSC18Derek Downey
 
MySQL Advanced Administrator 2021 - ë„€ì˜€íŽëĄœë°”
MySQL Advanced Administrator 2021 - ë„€ì˜€íŽëĄœë°”MySQL Advanced Administrator 2021 - ë„€ì˜€íŽëĄœë°”
MySQL Advanced Administrator 2021 - ë„€ì˜€íŽëĄœë°”NeoClova
 
The Full MySQL and MariaDB Parallel Replication Tutorial
The Full MySQL and MariaDB Parallel Replication TutorialThe Full MySQL and MariaDB Parallel Replication Tutorial
The Full MySQL and MariaDB Parallel Replication TutorialJean-François Gagné
 
Redpanda and ClickHouse
Redpanda and ClickHouseRedpanda and ClickHouse
Redpanda and ClickHouseAltinity Ltd
 
New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)
New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)
New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)Altinity Ltd
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group ReplicationKenny Gryp
 
MySQL GTID 시작하Ʞ
MySQL GTID 시작하ꞰMySQL GTID 시작하Ʞ
MySQL GTID 시작하ꞰI Goo Lee
 

Was ist angesagt? (20)

MySQL InnoDB Cluster - Advanced Configuration & Operations
MySQL InnoDB Cluster - Advanced Configuration & OperationsMySQL InnoDB Cluster - Advanced Configuration & Operations
MySQL InnoDB Cluster - Advanced Configuration & Operations
 
MySQL Timeout Variables Explained
MySQL Timeout Variables Explained MySQL Timeout Variables Explained
MySQL Timeout Variables Explained
 
Wars of MySQL Cluster ( InnoDB Cluster VS Galera )
Wars of MySQL Cluster ( InnoDB Cluster VS Galera ) Wars of MySQL Cluster ( InnoDB Cluster VS Galera )
Wars of MySQL Cluster ( InnoDB Cluster VS Galera )
 
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?
 
High Availability in MySQL 8 using InnoDB Cluster
High Availability in MySQL 8 using InnoDB ClusterHigh Availability in MySQL 8 using InnoDB Cluster
High Availability in MySQL 8 using InnoDB Cluster
 
The InnoDB Storage Engine for MySQL
The InnoDB Storage Engine for MySQLThe InnoDB Storage Engine for MySQL
The InnoDB Storage Engine for MySQL
 
Upgrade from MySQL 5.7 to MySQL 8.0
Upgrade from MySQL 5.7 to MySQL 8.0Upgrade from MySQL 5.7 to MySQL 8.0
Upgrade from MySQL 5.7 to MySQL 8.0
 
MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)
MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)
MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)
 
Redo log improvements MYSQL 8.0
Redo log improvements MYSQL 8.0Redo log improvements MYSQL 8.0
Redo log improvements MYSQL 8.0
 
Linux tuning to improve PostgreSQL performance
Linux tuning to improve PostgreSQL performanceLinux tuning to improve PostgreSQL performance
Linux tuning to improve PostgreSQL performance
 
ProxySQL and the Tricks Up Its Sleeve - Percona Live 2022.pdf
ProxySQL and the Tricks Up Its Sleeve - Percona Live 2022.pdfProxySQL and the Tricks Up Its Sleeve - Percona Live 2022.pdf
ProxySQL and the Tricks Up Its Sleeve - Percona Live 2022.pdf
 
Almost Perfect Service Discovery and Failover with ProxySQL and Orchestrator
Almost Perfect Service Discovery and Failover with ProxySQL and OrchestratorAlmost Perfect Service Discovery and Failover with ProxySQL and Orchestrator
Almost Perfect Service Discovery and Failover with ProxySQL and Orchestrator
 
Advanced Percona XtraDB Cluster in a nutshell... la suite
Advanced Percona XtraDB Cluster in a nutshell... la suiteAdvanced Percona XtraDB Cluster in a nutshell... la suite
Advanced Percona XtraDB Cluster in a nutshell... la suite
 
HandsOn ProxySQL Tutorial - PLSC18
HandsOn ProxySQL Tutorial - PLSC18HandsOn ProxySQL Tutorial - PLSC18
HandsOn ProxySQL Tutorial - PLSC18
 
MySQL Advanced Administrator 2021 - ë„€ì˜€íŽëĄœë°”
MySQL Advanced Administrator 2021 - ë„€ì˜€íŽëĄœë°”MySQL Advanced Administrator 2021 - ë„€ì˜€íŽëĄœë°”
MySQL Advanced Administrator 2021 - ë„€ì˜€íŽëĄœë°”
 
The Full MySQL and MariaDB Parallel Replication Tutorial
The Full MySQL and MariaDB Parallel Replication TutorialThe Full MySQL and MariaDB Parallel Replication Tutorial
The Full MySQL and MariaDB Parallel Replication Tutorial
 
Redpanda and ClickHouse
Redpanda and ClickHouseRedpanda and ClickHouse
Redpanda and ClickHouse
 
New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)
New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)
New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group Replication
 
MySQL GTID 시작하Ʞ
MySQL GTID 시작하ꞰMySQL GTID 시작하Ʞ
MySQL GTID 시작하Ʞ
 

Ähnlich wie MySQL Group Replication - Ready For Production? (2018-04)

Galera Cluster 4 presentation at Percona Live Austin 2019
Galera Cluster 4 presentation at Percona Live Austin 2019 Galera Cluster 4 presentation at Percona Live Austin 2019
Galera Cluster 4 presentation at Percona Live Austin 2019 Sakari Keskitalo
 
Introduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterIntroduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterI Goo Lee
 
Fisl - Deployment
Fisl - DeploymentFisl - Deployment
Fisl - DeploymentFabio Akita
 
MySQL InnoDB Cluster HA Overview & Demo
MySQL InnoDB Cluster HA Overview & DemoMySQL InnoDB Cluster HA Overview & Demo
MySQL InnoDB Cluster HA Overview & DemoKeith Hollman
 
Exploring mysql cluster 7.4
Exploring mysql cluster 7.4Exploring mysql cluster 7.4
Exploring mysql cluster 7.4Ivan Ma
 
ćŸșäșŽMongodbçš„ćŽ‹ćŠ›èŻ„æ”‹ć·„ć…· ycsb的侀äș›æŠ‚æ‹Ź
ćŸșäșŽMongodbçš„ćŽ‹ćŠ›èŻ„æ”‹ć·„ć…· ycsb的侀äș›æŠ‚æ‹ŹćŸșäșŽMongodbçš„ćŽ‹ćŠ›èŻ„æ”‹ć·„ć…· ycsb的侀äș›æŠ‚æ‹Ź
ćŸșäșŽMongodbçš„ćŽ‹ćŠ›èŻ„æ”‹ć·„ć…· ycsb的侀äș›æŠ‚æ‹ŹLouis liu
 
Usenix LISA 2012 - Choosing a Proxy
Usenix LISA 2012 - Choosing a ProxyUsenix LISA 2012 - Choosing a Proxy
Usenix LISA 2012 - Choosing a ProxyLeif Hedstrom
 
MySQL InnoDB Cluster ëŻžëŠŹëłŽêž° (remote cluster test)
MySQL InnoDB Cluster ëŻžëŠŹëłŽêž° (remote cluster test)MySQL InnoDB Cluster ëŻžëŠŹëłŽêž° (remote cluster test)
MySQL InnoDB Cluster ëŻžëŠŹëłŽêž° (remote cluster test)Seungmin Yu
 
An Ensemble Core with Docker - Solving a Real Pain in the PaaS
An Ensemble Core with Docker - Solving a Real Pain in the PaaS An Ensemble Core with Docker - Solving a Real Pain in the PaaS
An Ensemble Core with Docker - Solving a Real Pain in the PaaS Erik Osterman
 
MySQL 101 PHPTek 2017
MySQL 101 PHPTek 2017MySQL 101 PHPTek 2017
MySQL 101 PHPTek 2017Dave Stokes
 
MySQL 5.7 - What's new and How to upgrade
MySQL 5.7 - What's new and How to upgradeMySQL 5.7 - What's new and How to upgrade
MySQL 5.7 - What's new and How to upgradeAbel FlĂłrez
 
КаĐș ĐżĐŸĐœŃŃ‚ŃŒ, Ń‡Ń‚ĐŸ ĐżŃ€ĐŸĐžŃŃ…ĐŸĐŽĐžŃ‚ ĐœĐ° сДрĐČДрД? / АлДĐșŃĐ°ĐœĐŽŃ€ ĐšŃ€ĐžĐ¶Đ°ĐœĐŸĐČсĐșĐžĐč (NatSys Lab.,...
КаĐș ĐżĐŸĐœŃŃ‚ŃŒ, Ń‡Ń‚ĐŸ ĐżŃ€ĐŸĐžŃŃ…ĐŸĐŽĐžŃ‚ ĐœĐ° сДрĐČДрД? / АлДĐșŃĐ°ĐœĐŽŃ€ ĐšŃ€ĐžĐ¶Đ°ĐœĐŸĐČсĐșĐžĐč (NatSys Lab.,...КаĐș ĐżĐŸĐœŃŃ‚ŃŒ, Ń‡Ń‚ĐŸ ĐżŃ€ĐŸĐžŃŃ…ĐŸĐŽĐžŃ‚ ĐœĐ° сДрĐČДрД? / АлДĐșŃĐ°ĐœĐŽŃ€ ĐšŃ€ĐžĐ¶Đ°ĐœĐŸĐČсĐșĐžĐč (NatSys Lab.,...
КаĐș ĐżĐŸĐœŃŃ‚ŃŒ, Ń‡Ń‚ĐŸ ĐżŃ€ĐŸĐžŃŃ…ĐŸĐŽĐžŃ‚ ĐœĐ° сДрĐČДрД? / АлДĐșŃĐ°ĐœĐŽŃ€ ĐšŃ€ĐžĐ¶Đ°ĐœĐŸĐČсĐșĐžĐč (NatSys Lab.,...Ontico
 
Customer Experience: InnoDB Cluster Implementation by PR Karthik
Customer Experience: InnoDB Cluster Implementation by PR KarthikCustomer Experience: InnoDB Cluster Implementation by PR Karthik
Customer Experience: InnoDB Cluster Implementation by PR KarthikMysql User Camp
 
Advanced Apache Cassandra Operations with JMX
Advanced Apache Cassandra Operations with JMXAdvanced Apache Cassandra Operations with JMX
Advanced Apache Cassandra Operations with JMXzznate
 
Advanced Cassandra Operations via JMX (Nate McCall, The Last Pickle) | C* Sum...
Advanced Cassandra Operations via JMX (Nate McCall, The Last Pickle) | C* Sum...Advanced Cassandra Operations via JMX (Nate McCall, The Last Pickle) | C* Sum...
Advanced Cassandra Operations via JMX (Nate McCall, The Last Pickle) | C* Sum...DataStax
 
InnoDB Cluster Experience (MySQL User Camp)
InnoDB Cluster Experience (MySQL User Camp)InnoDB Cluster Experience (MySQL User Camp)
InnoDB Cluster Experience (MySQL User Camp)Mydbops
 
NYC Java Meetup - Profiling and Performance
NYC Java Meetup - Profiling and PerformanceNYC Java Meetup - Profiling and Performance
NYC Java Meetup - Profiling and PerformanceJason Shao
 
Deployment de Rails
Deployment de RailsDeployment de Rails
Deployment de Railselliando dias
 
Monitoring all Elements of Your Database Operations With Zabbix
Monitoring all Elements of Your Database Operations With ZabbixMonitoring all Elements of Your Database Operations With Zabbix
Monitoring all Elements of Your Database Operations With ZabbixZabbix
 

Ähnlich wie MySQL Group Replication - Ready For Production? (2018-04) (20)

Galera Cluster 4 presentation at Percona Live Austin 2019
Galera Cluster 4 presentation at Percona Live Austin 2019 Galera Cluster 4 presentation at Percona Live Austin 2019
Galera Cluster 4 presentation at Percona Live Austin 2019
 
Introduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterIntroduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB Cluster
 
Fisl - Deployment
Fisl - DeploymentFisl - Deployment
Fisl - Deployment
 
MySQL InnoDB Cluster HA Overview & Demo
MySQL InnoDB Cluster HA Overview & DemoMySQL InnoDB Cluster HA Overview & Demo
MySQL InnoDB Cluster HA Overview & Demo
 
Exploring mysql cluster 7.4
Exploring mysql cluster 7.4Exploring mysql cluster 7.4
Exploring mysql cluster 7.4
 
ćŸșäșŽMongodbçš„ćŽ‹ćŠ›èŻ„æ”‹ć·„ć…· ycsb的侀äș›æŠ‚æ‹Ź
ćŸșäșŽMongodbçš„ćŽ‹ćŠ›èŻ„æ”‹ć·„ć…· ycsb的侀äș›æŠ‚æ‹ŹćŸșäșŽMongodbçš„ćŽ‹ćŠ›èŻ„æ”‹ć·„ć…· ycsb的侀äș›æŠ‚æ‹Ź
ćŸșäșŽMongodbçš„ćŽ‹ćŠ›èŻ„æ”‹ć·„ć…· ycsb的侀äș›æŠ‚æ‹Ź
 
Usenix LISA 2012 - Choosing a Proxy
Usenix LISA 2012 - Choosing a ProxyUsenix LISA 2012 - Choosing a Proxy
Usenix LISA 2012 - Choosing a Proxy
 
MySQL InnoDB Cluster ëŻžëŠŹëłŽêž° (remote cluster test)
MySQL InnoDB Cluster ëŻžëŠŹëłŽêž° (remote cluster test)MySQL InnoDB Cluster ëŻžëŠŹëłŽêž° (remote cluster test)
MySQL InnoDB Cluster ëŻžëŠŹëłŽêž° (remote cluster test)
 
An Ensemble Core with Docker - Solving a Real Pain in the PaaS
An Ensemble Core with Docker - Solving a Real Pain in the PaaS An Ensemble Core with Docker - Solving a Real Pain in the PaaS
An Ensemble Core with Docker - Solving a Real Pain in the PaaS
 
MySQL 101 PHPTek 2017
MySQL 101 PHPTek 2017MySQL 101 PHPTek 2017
MySQL 101 PHPTek 2017
 
MySQL 5.7 - What's new and How to upgrade
MySQL 5.7 - What's new and How to upgradeMySQL 5.7 - What's new and How to upgrade
MySQL 5.7 - What's new and How to upgrade
 
КаĐș ĐżĐŸĐœŃŃ‚ŃŒ, Ń‡Ń‚ĐŸ ĐżŃ€ĐŸĐžŃŃ…ĐŸĐŽĐžŃ‚ ĐœĐ° сДрĐČДрД? / АлДĐșŃĐ°ĐœĐŽŃ€ ĐšŃ€ĐžĐ¶Đ°ĐœĐŸĐČсĐșĐžĐč (NatSys Lab.,...
КаĐș ĐżĐŸĐœŃŃ‚ŃŒ, Ń‡Ń‚ĐŸ ĐżŃ€ĐŸĐžŃŃ…ĐŸĐŽĐžŃ‚ ĐœĐ° сДрĐČДрД? / АлДĐșŃĐ°ĐœĐŽŃ€ ĐšŃ€ĐžĐ¶Đ°ĐœĐŸĐČсĐșĐžĐč (NatSys Lab.,...КаĐș ĐżĐŸĐœŃŃ‚ŃŒ, Ń‡Ń‚ĐŸ ĐżŃ€ĐŸĐžŃŃ…ĐŸĐŽĐžŃ‚ ĐœĐ° сДрĐČДрД? / АлДĐșŃĐ°ĐœĐŽŃ€ ĐšŃ€ĐžĐ¶Đ°ĐœĐŸĐČсĐșĐžĐč (NatSys Lab.,...
КаĐș ĐżĐŸĐœŃŃ‚ŃŒ, Ń‡Ń‚ĐŸ ĐżŃ€ĐŸĐžŃŃ…ĐŸĐŽĐžŃ‚ ĐœĐ° сДрĐČДрД? / АлДĐșŃĐ°ĐœĐŽŃ€ ĐšŃ€ĐžĐ¶Đ°ĐœĐŸĐČсĐșĐžĐč (NatSys Lab.,...
 
Customer Experience: InnoDB Cluster Implementation by PR Karthik
Customer Experience: InnoDB Cluster Implementation by PR KarthikCustomer Experience: InnoDB Cluster Implementation by PR Karthik
Customer Experience: InnoDB Cluster Implementation by PR Karthik
 
Advanced Apache Cassandra Operations with JMX
Advanced Apache Cassandra Operations with JMXAdvanced Apache Cassandra Operations with JMX
Advanced Apache Cassandra Operations with JMX
 
Advanced Cassandra Operations via JMX (Nate McCall, The Last Pickle) | C* Sum...
Advanced Cassandra Operations via JMX (Nate McCall, The Last Pickle) | C* Sum...Advanced Cassandra Operations via JMX (Nate McCall, The Last Pickle) | C* Sum...
Advanced Cassandra Operations via JMX (Nate McCall, The Last Pickle) | C* Sum...
 
Advanced Cassandra
Advanced CassandraAdvanced Cassandra
Advanced Cassandra
 
InnoDB Cluster Experience (MySQL User Camp)
InnoDB Cluster Experience (MySQL User Camp)InnoDB Cluster Experience (MySQL User Camp)
InnoDB Cluster Experience (MySQL User Camp)
 
NYC Java Meetup - Profiling and Performance
NYC Java Meetup - Profiling and PerformanceNYC Java Meetup - Profiling and Performance
NYC Java Meetup - Profiling and Performance
 
Deployment de Rails
Deployment de RailsDeployment de Rails
Deployment de Rails
 
Monitoring all Elements of Your Database Operations With Zabbix
Monitoring all Elements of Your Database Operations With ZabbixMonitoring all Elements of Your Database Operations With Zabbix
Monitoring all Elements of Your Database Operations With Zabbix
 

Mehr von Kenny Gryp

MySQL Database Architectures - 2022-08
MySQL Database Architectures - 2022-08MySQL Database Architectures - 2022-08
MySQL Database Architectures - 2022-08Kenny Gryp
 
MySQL Operator for Kubernetes
MySQL Operator for KubernetesMySQL Operator for Kubernetes
MySQL Operator for KubernetesKenny Gryp
 
MySQL Database Architectures - 2020-10
MySQL Database Architectures -  2020-10MySQL Database Architectures -  2020-10
MySQL Database Architectures - 2020-10Kenny Gryp
 
MySQL InnoDB Cluster / ReplicaSet - Tutorial
MySQL InnoDB Cluster / ReplicaSet - TutorialMySQL InnoDB Cluster / ReplicaSet - Tutorial
MySQL InnoDB Cluster / ReplicaSet - TutorialKenny Gryp
 
MySQL Connectors 8.0.19 & DNS SRV
MySQL Connectors 8.0.19 & DNS SRVMySQL Connectors 8.0.19 & DNS SRV
MySQL Connectors 8.0.19 & DNS SRVKenny Gryp
 
Reducing Risk When Upgrading MySQL
Reducing Risk When Upgrading MySQLReducing Risk When Upgrading MySQL
Reducing Risk When Upgrading MySQLKenny Gryp
 
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group ReplicationPercona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group ReplicationKenny Gryp
 
Multi Source Replication With MySQL 5.7 @ Verisure
Multi Source Replication With MySQL 5.7 @ VerisureMulti Source Replication With MySQL 5.7 @ Verisure
Multi Source Replication With MySQL 5.7 @ VerisureKenny Gryp
 
MySQL Group Replication - HandsOn Tutorial
MySQL Group Replication - HandsOn TutorialMySQL Group Replication - HandsOn Tutorial
MySQL Group Replication - HandsOn TutorialKenny Gryp
 
Online MySQL Backups with Percona XtraBackup
Online MySQL Backups with Percona XtraBackupOnline MySQL Backups with Percona XtraBackup
Online MySQL Backups with Percona XtraBackupKenny Gryp
 
Java MySQL Connector & Connection Pool Features & Optimization
Java MySQL Connector & Connection Pool Features & OptimizationJava MySQL Connector & Connection Pool Features & Optimization
Java MySQL Connector & Connection Pool Features & OptimizationKenny Gryp
 
Percona XtraDB Cluster
Percona XtraDB ClusterPercona XtraDB Cluster
Percona XtraDB ClusterKenny Gryp
 

Mehr von Kenny Gryp (12)

MySQL Database Architectures - 2022-08
MySQL Database Architectures - 2022-08MySQL Database Architectures - 2022-08
MySQL Database Architectures - 2022-08
 
MySQL Operator for Kubernetes
MySQL Operator for KubernetesMySQL Operator for Kubernetes
MySQL Operator for Kubernetes
 
MySQL Database Architectures - 2020-10
MySQL Database Architectures -  2020-10MySQL Database Architectures -  2020-10
MySQL Database Architectures - 2020-10
 
MySQL InnoDB Cluster / ReplicaSet - Tutorial
MySQL InnoDB Cluster / ReplicaSet - TutorialMySQL InnoDB Cluster / ReplicaSet - Tutorial
MySQL InnoDB Cluster / ReplicaSet - Tutorial
 
MySQL Connectors 8.0.19 & DNS SRV
MySQL Connectors 8.0.19 & DNS SRVMySQL Connectors 8.0.19 & DNS SRV
MySQL Connectors 8.0.19 & DNS SRV
 
Reducing Risk When Upgrading MySQL
Reducing Risk When Upgrading MySQLReducing Risk When Upgrading MySQL
Reducing Risk When Upgrading MySQL
 
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group ReplicationPercona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
 
Multi Source Replication With MySQL 5.7 @ Verisure
Multi Source Replication With MySQL 5.7 @ VerisureMulti Source Replication With MySQL 5.7 @ Verisure
Multi Source Replication With MySQL 5.7 @ Verisure
 
MySQL Group Replication - HandsOn Tutorial
MySQL Group Replication - HandsOn TutorialMySQL Group Replication - HandsOn Tutorial
MySQL Group Replication - HandsOn Tutorial
 
Online MySQL Backups with Percona XtraBackup
Online MySQL Backups with Percona XtraBackupOnline MySQL Backups with Percona XtraBackup
Online MySQL Backups with Percona XtraBackup
 
Java MySQL Connector & Connection Pool Features & Optimization
Java MySQL Connector & Connection Pool Features & OptimizationJava MySQL Connector & Connection Pool Features & Optimization
Java MySQL Connector & Connection Pool Features & Optimization
 
Percona XtraDB Cluster
Percona XtraDB ClusterPercona XtraDB Cluster
Percona XtraDB Cluster
 

KĂŒrzlich hochgeladen

%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
call girls in Vaishali (Ghaziabad) 🔝 >àŒ’8448380779 🔝 genuine Escort Service đŸ”âœ”ïžâœ”ïž
call girls in Vaishali (Ghaziabad) 🔝 >àŒ’8448380779 🔝 genuine Escort Service đŸ”âœ”ïžâœ”ïžcall girls in Vaishali (Ghaziabad) 🔝 >àŒ’8448380779 🔝 genuine Escort Service đŸ”âœ”ïžâœ”ïž
call girls in Vaishali (Ghaziabad) 🔝 >àŒ’8448380779 🔝 genuine Escort Service đŸ”âœ”ïžâœ”ïžDelhi Call girls
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
Pharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodologyPharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodologyAnusha Are
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...kalichargn70th171
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxalwaysnagaraju26
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
Chinsurah Escorts ☎8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎8617697112 Starting From 5K to 15K High Profile Escorts ...Nitya salvi
 

KĂŒrzlich hochgeladen (20)

%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide Deck
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
call girls in Vaishali (Ghaziabad) 🔝 >àŒ’8448380779 🔝 genuine Escort Service đŸ”âœ”ïžâœ”ïž
call girls in Vaishali (Ghaziabad) 🔝 >àŒ’8448380779 🔝 genuine Escort Service đŸ”âœ”ïžâœ”ïžcall girls in Vaishali (Ghaziabad) 🔝 >àŒ’8448380779 🔝 genuine Escort Service đŸ”âœ”ïžâœ”ïž
call girls in Vaishali (Ghaziabad) 🔝 >àŒ’8448380779 🔝 genuine Escort Service đŸ”âœ”ïžâœ”ïž
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Pharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodologyPharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodology
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Chinsurah Escorts ☎8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎8617697112 Starting From 5K to 15K High Profile Escorts ...
 

MySQL Group Replication - Ready For Production? (2018-04)

  • 1. MySQL Group Replication & MySQL InnoDB Cluster Production Ready? Kenny Gryp    MySQL Practice Manager
  • 2. Table of Contents   Group Replication MySQL Shell (AdminAPI) MySQL Group Replication MySQL Router Best Practices Limitations Production? 2 / 72
  • 4. MySQL Group Replication Developed by Oracle Generally Available in MySQL 5.7.17 on December 2016 MySQL InnoDB Cluster as Solution MySQL Group Replication is a MySQL Server plugin that provides distributed state machine replication with strong coordination between servers. Servers coordinate themselves automatically, when they are part of the same replication group. Any server in the group can process updates. Con icts are detected and handled automatically. There is a built-in membership service that keeps the view of the group consistent and available for all servers at any given point in time. Servers can leave and join the group and the view will be updated accordingly. 4 / 72
  • 5. Async Async delivery   Master -> Replica(s) Replica 'fetches' binlogs and executes external scripts required for automatic failover, split brain prevention... GR Sync delivery (at TRX Commit) Members <-> Members Majority of members receive TRX (PAXOS) Automatic handling of node status & membership, leader election (quorum-based) Asynchronous Replication vs. GR 5 / 72
  • 6. Group Replication Behavior Differences with Async Replication: GR uses a PAXOS protocol to ensure all nodes receive data Increased COMMIT time similar to PXC (& semi-sync replication) Easy to con gure/setup (easier than Async GTID Setups) (Integrated multi-node con ict detection) 6 / 72
  • 7. Use Cases Environments Requiring: Strict Durability requirements no data loss when a database node fails (0 RPO master failure): Consistency: integrated split-brain prevention (Quorum based) Faster Failover than standard async (better RTO master failure) (Write to multiple nodes simultaneously) 7 / 72
  • 10. MySQL Shell "Makes Group Replication Con guration Easy" Not really 5.7.21 & <= 8.0.4: #90439: AdminAPI does not change my.cnf #90438: AdminAPI fails to rejoin instances 10 / 72
  • 11. MySQL Shell "Makes Group Replication Con guration Easy" Not really 5.7.21 & <= 8.0.4: #90439: AdminAPI does not change my.cnf #90438: AdminAPI fails to rejoin instances MySQL 8.0.11 (GA) (great unicode support) 11 / 72
  • 12. MySQL Shell "Makes Group Replication Con guration Easy" Not really 5.7.21 & <= 8.0.4: #90439: AdminAPI does not change my.cnf #90438: AdminAPI fails to rejoin instances MySQL 8.0.11 (GA) (great unicode support) Con g is saved (SET PERSIST) All actions can be done from a remote mysqlsh
  • 14. MySQL Group Replication Split Brain Prevention Data Consistency Usability Stability Performance 14 / 72
  • 15. Split Brain Prevention MySQL Group Replication
  • 16. Big improvement over 5.7.17 ( rst GA) Split Brain Prevention No known split brain issues anymore! 16 / 72
  • 18. Data Consistency Multi Writer I have read the MySQL InnoDB cluster manual and I understand the requirements and limitations of advanced Multi-Master Mode. Confirm [y/N]: NO 18 / 72
  • 19. Data Consistency Multi Writer I have read the MySQL InnoDB cluster manual and I understand the requirements and limitations of advanced Multi-Master Mode. Confirm [y/N]: NO Multi-Master is not recommended 19 / 72
  • 20. Data Consistency Multi Writer I have read the MySQL InnoDB cluster manual and I understand the requirements and limitations of advanced Multi-Master Mode. Confirm [y/N]: NO Multi-Master is not recommended #89194: Wrong certi cation lead to data inconsistency and GR breakage. (Multi-Master, should be xed in 5.7.22 and 8.0.11) #89938: Rejoin old primary node may duplicate key when recovery 20 / 72
  • 22. Usability mysql> INSERT INTO maurage SELECT null FROM chez_lefred WHERE dim0s_office IS NULL; ERROR 3100 (HY000): Error on observer while running replication hook 'before_commit'. 22 / 72
  • 23. Usability mysql> INSERT INTO maurage SELECT null FROM chez_lefred WHERE dim0s_office IS NULL; ERROR 3100 (HY000): Error on observer while running replication hook 'before_commit'. Error Log: Plugin group_replication reported: 'Error on session 75. Transaction of size 19943309 exceeds specified limit 15000000. To increase the limit please adjust group_replication_transaction_size_limit option.' Run function 'before_commit' in plugin 'group_replication' failed 23 / 72
  • 24. Usability mysql> COMMIT; ERROR 1180 (HY000): Got error 149 - 'Lock deadlock; Retry transaction' during COMMIT 24 / 72
  • 25. Usability mysql> COMMIT; ERROR 1180 (HY000): Got error 149 - 'Lock deadlock; Retry transaction' during COMMIT Nothing in the error log! Cannot troubleshoot (Only happens in multi-writer mode) 25 / 72
  • 26. Usability mysql> show processlistG Id: 25 User: root Host: localhost db: NULL Command: Query Time: 131 State: checking permissions Info: create database node2 26 / 72
  • 27. Usability mysql> show processlistG Id: 25 User: root Host: localhost db: NULL Command: Query Time: 131 State: checking permissions Info: create database node2 no Quorum gr_unreachable_majority_timeout=0 by default :( 27 / 72
  • 28. Usability Features: No automatic node provisioning #84730: Cannot troubleshoot Transaction Rollbacks #90461: Changing replication mode cannot happen online #84729: Impossible to block reads on partitioned nodes #90484: No (easy) way to know if a GR node is writable or not #90485: Ignore group_replication_group_seeds nodes if they are not primary/active Bug:
  • 29. Usability Features & Bugs from Jean-François GagnĂ©: #89147: ... error messages is ambiguous. #89145: Provide relay log details in case of Group Replication applier failure. #89197: When GR fails, the error message says to "START SLAVE". 29 / 72
  • 31. Stability Feature: #84784: Nodes do not reconnect back to the group replication once they got disconnected, causing nodes to drop from the cluster (except last 2 nodes) Bug: #90457: mysqld crash with ctrl-c/z'ed START GROUP_REPLICATION 31 / 72
  • 33. Performance [ 220s] threads: 16 tps: 10599.99 qps: 10598.99 (r/w/o: 0.00/10598.99/0.00) [ 221s] threads: 16 tps: 10571.71 qps: 10571.71 (r/w/o: 0.00/10571.71/0.00) [ 222s] threads: 16 tps: 10307.88 qps: 10307.88 (r/w/o: 0.00/10307.88/0.00) [ 223s] threads: 16 tps: 8220.26 qps: 8220.26 (r/w/o: 0.00/8220.26/0.00) [ 224s] threads: 16 tps: 6381.09 qps: 6381.09 (r/w/o: 0.00/6381.09/0.00) [ 225s] threads: 16 tps: 10348.85 qps: 10348.85 (r/w/o: 0.00/10348.85/0.00) [ 226s] threads: 16 tps: 9383.95 qps: 9383.95 (r/w/o: 0.00/9383.95/0.00) [ 227s] threads: 16 tps: 10528.06 qps: 10528.06 (r/w/o: 0.00/10528.06/0.00) [ 280s] threads: 16 tps: 10335.09 qps: 10335.09 (r/w/o: 0.00/10335.09/0.00) [ 281s] threads: 16 tps: 10372.06 qps: 10372.06 (r/w/o: 0.00/10372.06/0.00) [ 282s] threads: 16 tps: 10237.61 qps: 10237.61 (r/w/o: 0.00/10237.61/0.00) [ 283s] threads: 16 tps: 8206.20 qps: 8206.20 (r/w/o: 0.00/8206.20/0.00) [ 284s] threads: 16 tps: 6050.79 qps: 6050.79 (r/w/o: 0.00/6050.79/0.00) [ 285s] threads: 16 tps: 10053.31 qps: 10053.31 (r/w/o: 0.00/10053.31/0.00) [ 286s] threads: 16 tps: 10208.14 qps: 10208.14 (r/w/o: 0.00/10208.14/0.00) [ 287s] threads: 16 tps: 10315.78 qps: 10315.78 (r/w/o: 0.00/10315.78/0.00) 33 / 72
  • 34. Performance [ 220s] threads: 16 tps: 10599.99 qps: 10598.99 (r/w/o: 0.00/10598.99/0.00) [ 221s] threads: 16 tps: 10571.71 qps: 10571.71 (r/w/o: 0.00/10571.71/0.00) [ 222s] threads: 16 tps: 10307.88 qps: 10307.88 (r/w/o: 0.00/10307.88/0.00) [ 223s] threads: 16 tps: 8220.26 qps: 8220.26 (r/w/o: 0.00/8220.26/0.00) [ 224s] threads: 16 tps: 6381.09 qps: 6381.09 (r/w/o: 0.00/6381.09/0.00) [ 225s] threads: 16 tps: 10348.85 qps: 10348.85 (r/w/o: 0.00/10348.85/0.00) [ 226s] threads: 16 tps: 9383.95 qps: 9383.95 (r/w/o: 0.00/9383.95/0.00) [ 227s] threads: 16 tps: 10528.06 qps: 10528.06 (r/w/o: 0.00/10528.06/0.00) [ 280s] threads: 16 tps: 10335.09 qps: 10335.09 (r/w/o: 0.00/10335.09/0.00) [ 281s] threads: 16 tps: 10372.06 qps: 10372.06 (r/w/o: 0.00/10372.06/0.00) [ 282s] threads: 16 tps: 10237.61 qps: 10237.61 (r/w/o: 0.00/10237.61/0.00) [ 283s] threads: 16 tps: 8206.20 qps: 8206.20 (r/w/o: 0.00/8206.20/0.00) [ 284s] threads: 16 tps: 6050.79 qps: 6050.79 (r/w/o: 0.00/6050.79/0.00) [ 285s] threads: 16 tps: 10053.31 qps: 10053.31 (r/w/o: 0.00/10053.31/0.00) [ 286s] threads: 16 tps: 10208.14 qps: 10208.14 (r/w/o: 0.00/10208.14/0.00) [ 287s] threads: 16 tps: 10315.78 qps: 10315.78 (r/w/o: 0.00/10315.78/0.00) #84774 Performance drop every 60 seconds 34 / 72
  • 35. Performance Split-Brain Consistency & Usability rst 35 / 72
  • 37. MySQL Router Quite simple load balancer: TCP port for Writes & Reads TCP port for Reads Routing Strategies (almost only valuable con guration setting) first-available next-available round-robin round-robin-with-fallback 37 / 72
  • 38. MySQL Router Quite simple load balancer: TCP port for Writes & Reads TCP port for Reads Routing Strategies (almost only valuable con guration setting) first-available next-available round-robin round-robin-with-fallback #83236: Not possible to see mysqlrouter status [quote]that's by design bugs.mysql.com is not a place to ask questions[/quote] 38 / 72
  • 39. MySQL Router Limitations: No transparent read write splitting No query caching No connection multiplexing No way to get the router status No query rules No tra c mirroring No rewall 39 / 72
  • 40. MySQL Router Limitations: No transparent read write splitting No query caching No connection multiplexing No way to get the router status No query rules No tra c mirroring No rewall Use ProxySQL! 40 / 72
  • 42. Best Practices - Architecture Uneven amount of nodes Not recommended for WAN => important timeouts are not con gurable yet Use an intelligent Load Balancer => #84729 Impossible to block reads on partitioned nodes 42 / 72
  • 43. Best Practices - Con guration Settings hostname=RESOLVABLE super_read_only=ON group_replication_unreachable_majority_timeout=20 log_error_verbosity=3 group_replication_ssl_mode=REQUIRED disabled_storage_engines="MyISAM,BLACKHOLE,FEDERATED, ARCHIVE,MEMORY" group_replication_auto_increment_increment=1 43 / 72
  • 44. Best Practices - Con guration Settings hostname=RESOLVABLE super_read_only=ON group_replication_unreachable_majority_timeout=20 log_error_verbosity=3 group_replication_ssl_mode=REQUIRED disabled_storage_engines="MyISAM,BLACKHOLE,FEDERATED, ARCHIVE,MEMORY" group_replication_auto_increment_increment=1 extra when using 5.7 & < 8.0.11 group_replication_transaction_size_limit=150000000 group_replication_group_seeds=<ALL_NODES!> group_replication_single_primary_mode=ON group_replication_bootstrap_group=OFF group_replication_allow_local_disjoint_gtids_join=OFF 44 / 72
  • 45. Best Practices hostname=VALID_RESOLVABLE_HOSTNAME other GR nodes will resolve the hostname to setup connections 45 / 72
  • 46. Best Practices super_read_only=ON Avoid PEBCAK split brain! Using mysqlsh with < 8.0.11 does not persist con guration and GR does not start on boot => writeable single mysql node when restarted 46 / 72
  • 47. Best Practices gr_unreachable_majority_timeout=20 Applications will get an error instead of hanging forever (Default 0) 20 seconds will abort group replication and con gure super_read_only=ON (adapt to your needs) Drawback: if remaining 2 nodes get partitioned as well, all nodes go in ERROR and bootstrap is required 47 / 72
  • 48. Best Practices log_error_verbosity=3 In MySQL 8, output is scarce, con gure verbosity level 3 to allow better troubleshooting. 48 / 72
  • 49. Best Practices gr_ssl_mode=REQUIRED DISABLED (default) Similar to client ssl-mode=REQUIRED mysqlsh (py): dba.create_cluster('maurage', (memberSslMode='REQUIRED')) 49 / 72
  • 52. Best Practices gr_transaction_size_limit=150000000 < 8.0.2 default: unlimited maximum size of transactions >= 8.0.2 default: 143,0511474609MB Keep Memory available for GR 52 / 72
  • 53. Best Practices gr_group_seeds=<ALL_NODES!> < 8.0.11: with mysqlsh con gured cluster does not properly con gure seeds causing nodes not to rejoin #90438 Con gure IP Addresses, not hostnames #90483 53 / 72
  • 54. Best Practices gr_single_primary_mode=ON I have read the MySQL InnoDB cluster manual and I understand the requirements and limitations of advanced Multi-Master Mode. Confirm [y/N]: NO 54 / 72
  • 55. Best Practices gr_bootstrap_group=OFF Do not set this to ON, ONLY when creating a cluster. does not go to OFF automatically set back to OFF immediately => use dba.rebootClusterFromCompleteOutage('') in some scenarios 55 / 72
  • 56. Best Practices gr_allow_local_disjoint_gtids_join=OFF Don't even try to live with errant transactions Big concern for data consistency Removed in 8.0.4 56 / 72
  • 58. Limitations Do not bother using GR if you require: GET_LOCK() binlog_format=STATEMENT Large transactions SELECT FOR UPDATE (#85998) IPv6 (#90217) Non InnoDB Storage Engines Consistent reads on all nodes No PK on all tables 58 / 72
  • 60. Production Ready? Good Solid split brain prevention mysqlsh in 8.0.11 really starts to show it's power! 60 / 72
  • 61. Production Ready? Not So Good Many of the features listed in this presentation Bad #84729: Impossible to block reads on partitioned nodes #90484: No (easy) way to know if a GR node is writable Compared to Percona XtraDB Cluster/Galera Cluster: No automatic node provisioning Not possible to have synchronous reads Ugly #84784: Nodes do not reconnect
  • 62. Production Ready? - My Opinion (for the masses) Component MySQL 5.7 GA MySQL 8.0 GA (+) MySQL Shell NO YES MySQL Router NO (#) NO (#) Group Replication NO (*) NO (*) 62 / 72
  • 63. Production Ready? - My Opinion (for the masses) Component MySQL 5.7 GA MySQL 8.0 GA (+) MySQL Shell NO YES MySQL Router NO (#) NO (#) Group Replication NO (*) NO (*) (+) MySQL 8.0 is new, expect early adoption issues (#) Use ProxySQL! (*) Early Adopters required, much needed feedback to make the product better. 63 / 72
  • 64. Production Ready? - My Opinion (for the masses) Component MySQL 5.7 GA MySQL 8.0 GA (+) MySQL Shell NO YES MySQL Router NO (#) NO (#) Group Replication NO (*) NO (*) (+) MySQL 8.0 is new, expect early adoption issues (#) Use ProxySQL! (*) Early Adopters required, much needed feedback to make the product better. Best Practices!
  • 65. Ready For Production? (2018-04) 65 / 72
  • 66. bottled end of 2016 Ready For Production? (2018-04) 66 / 72
  • 67. bottled end of 2016 delicious gem, still youthful Ready For Production? (2018-04) 67 / 72
  • 68. bottled end of 2016 delicious gem, still youthful already very enjoyable for connoisseurs Ready For Production? (2018-04) 68 / 72
  • 69. bottled end of 2016 delicious gem, still youthful already very enjoyable for connoisseurs great legs Ready For Production? (2018-04) 69 / 72
  • 70. bottled end of 2016 delicious gem, still youthful already very enjoyable for connoisseurs great legs nice structure Ready For Production? (2018-04) 70 / 72
  • 71. bottled end of 2016 delicious gem, still youthful already very enjoyable for connoisseurs great legs nice structure needs some decanting to become top-knotch Ready For Production? (2018-04) 71 / 72
  • 72. bottled end of 2016 delicious gem, still youthful already very enjoyable for connoisseurs great legs nice structure needs some decanting to become top-knotch KG: 90 points Ready For Production? (2018-04) 72 / 72