ACIDic Clusters: Review of current relational databases with synchronous replication

Replication and High Availability Strategies
2 April 1:20PM - 2:10PM @ Ballroom C

Experience level: 
50 minutes conference
ACIDic Clusters: Review of current relational databases with synchronous replication. ===================================================================== This talk reviews database clusters of our time which employ synchronous replication while being ACID compliant. ACID compliance implies ability to support transactions across nodes. As part of this talk, PXC (Percona XtraDB Cluster)/Galera, Google F1 based on Spanner/CFS and MySQL Cluster will be considered. Primary objective here is to expound features of each in order to highlight differentiating factors and commonality between them. They will be reviewed on following aspects: a) Architecture: The layering that exists between different subsystems, external dependencies (like CFS in case of F1), geographical awareness. b) Relational nature: To what extent are each of these relational. Do they also support NoSQL features? How relational are they wrt. MySQL/SQL. - In addition, any APIs supported will be discussed. c) Degree of synchronicity: Synchronous replication, as we are familiar with, taxes the latency of a cluster. There are various strategies employed by each/some of them to obviate this latency. These will be discussed. - Closely related is the issue of Quorum and how it is established and preserved in cases of split-brain. d) Ease of transition: This is for those who are using MySQL async replication and want to switch to a synchronous replication. Main issue here is the amount of work required and associated changes in architecture. Architecture discussed earlier (in #a) will be recalled again. e) Sharding - Not all of them support sharding. Though sharding is not an essential requirement of a synchronous cluster, there are use cases where it may be useful, hence will be discussed. f) Operational usage; This will deal with aspects of day-to-day operation such as backup and restore, high availability mechanisms. Integration with other HA systems will also be discussed. g) Limitations: No system is without limitations. It is the these limitations which help while choosing a product to fit into higher scheme of things given above factors. These will be discussed briefly as well.


Software Engineer, Distributed Systems, Yelp, Yelp
Raghavendra Prabhu works as a Software Engineer in Distributed Systems team at Yelp. Prior to that he was the Product Lead of Galera-based Percona XtraDB Cluster (PXC) at Percona. He also works on Xtrabackup and Percona Server intermittently. He joined Percona in the fall of 2011. Before joining, he worked at Yahoo! SDC, Bangalore for 3 years as Systems Engineer, primarily dealing with databases (MySQL and Yahoo Sherpa/PNUTS) and configuration management. Raghavendra's main interests include databases, virtualization and containers, distributed systems, operating systems including linux kernel. He also likes to contribute and has contributed code upstream to several FOSS projects — for more details on that visit In his spare time, he likes to read books, technical papers/literature, listen to music, hack on software, nature hiking, and exploring in general while on vacations. You may also often find him on IRC channels on freenode and/or oftc.