MySQL High Availability



1. MySQL High Availability And other stuff worth talking about Peter Zaitsev CEO Moscow MySQL Users Group Meetup July 11th, 2017 1 © 2017 Percona

2.Few Words about Percona 2 © 2017 Percona

3.Percona’s Purpose To Champion Unbiased Open Source Database Solutions 3 © 2017 Percona

4.We Do Support, Managed Services for MySQL and MongoDB Also Consulting and Training Helping companies to migrate to Open Source Database Develop Open Source Software Solutions to maximize your success 4 © 2017 Percona

5.Broad Software Ecosystem Support MySQL Percona Server MariaDB Percona XtraDB Cluster Percona Server for Galera Cluster for MySQL MariaDB Galera Cluster MongoDB MongoDB Amazon RDS for Google CloudSQL MySQL/MariaDB/Aurora 5 © 2017 Percona

6. 100% Free and Open Source Software Percona Server Percona Server Percona XtraDB for MySQL for MongoDB Cluster Percona Percona Percona Toolkit Monitoring and Xtrabackup Management 6 6 © 2017 Percona

7.MySQL High Availability 7 © 2017 Percona

8.What is High Availability What Do you Think ? 8 © 2017 Percona

9.I think… Serving All the Clients Correctly all the Time 9 © 2017 Percona

10.Performance and High Availability Unacceptable performance can be indistinguishable from downtime 10 © 2017 Percona

11.High Availability is Never Perfect Can be measured in terms of “time” where system was •99.9% or “3 nines” available Can be measured in the terms of •Good to consider cases successful requests served of partial availability 11 © 2017 Percona

12.Is Perfect High Availability the Goal ? has the “downtime budget” 12 © 2017 Percona

13.To have Good High Availability Go down Recover faster “less” 13 © 2017 Percona

14.Not a Database Problem Systems Problem But Database is the key component 14 © 2017 Percona

15.Achieving High Availability Technology Process Aspects Aspects 15 © 2017 Percona

16.Technology Aspects Designing and Building Highly Available System 16 © 2017 Percona

17.Technology Aspects Focus on Technology in this presentation, it is what MySQL Specific 17 © 2017 Percona

18.Process Aspects Managing System in Highly Available way 18 © 2017 Percona

19.Process – General Best Practices Quality Assurance for Code and Operations Practices Tables and Query Review Performance Testing Capacity Planning Clear Roll Back Process Being able to disable feature “live” “On Call” for devs and ops 19 © 2017 Percona

20.High Availability through Redundancy “Server” Redundancy Network Redundancy Data Center Redundancy 20 © 2017 Percona

21.Stateless vs Stateful for HA Stateless • Multiple instances • High Availability is easy • Need to “Maintain state in highly Stateful available fashion” • Much harder problem 21 © 2017 Percona

22.Database are… Stateful 22 © 2017 Percona

23.High Level Thoughts Lets think about database as a black box 23 © 2017 Percona

24.HA Concerns for Databases • What kind of guarantees do I have about my data Durability being persisted Change Visibility • How my changes are propagated and become visible ? • Which failures system is designed to handle and how it Failure Handling reacts Performance • HA is never free. How are we paying for guarantees 24 © 2017 Percona

25.Replication With Stateful Systems HA requires maintaining multiple copies of data 25 © 2017 Percona

26.Focus Focus on Database Engine level Replication as Most Common 26 © 2017 Percona

27.Things To Consider How Mechanics of Who and How Replication is Failover and Detects Failure Happening Recovery 27 © 2017 Percona

28.MySQL Options 28 © 2017 Percona

29.MySQL Options to Consider MySQL Replication MySQL Group Replication Galera and Percona XtraDB Cluster 29 © 2017 Percona