Using MySQL for Distributed Database Architectures
In modern data architectures, we’re increasingly moving from single node design systems to distributed architectures using multiple nodes – often spread across multiple databases and multiple continents. Such architectures bring many benefits (such as scalability and resiliency), but can also bring a lot of pain if not correctly architected.
In this presentation we will look into how we can use MySQL to engineer such systems.
Firstly, we will look into the application data requirements that can shape which distributed architectures will work for your application, and what are their benefits and tradeoffs.
Secondly, we will look into how to implement the architectures with MySQL, using conventional and proven options such as MySQL Replication, as well as newer options such as:
-
MySQL Multi-Source Replication
-
MySQL Group Replication
-
Percona XtraDB Cluster and Galera
-
Application-driven replication using Kafka
Finally, since a common cause of production problems is a misunderstanding of how distributed systems are designed to behave during failure, we will look at what can commonly happen to cause architecture scenarios to fail.