Write Conflicts in Multi-Master Replication Topologies

Replication and High Availability Strategies
3 April 4:30PM - 5:20PM @ Ballroom H

Experience level: 
50 minutes conference
Galera Cluster is synchronous multi-master cluster, which allows clients to read and write to any cluster node, without any limitations. When two or several clients happen to write to same data element at the same time, the cluster must decide how to resolve the conflcit - the bottom line is that only one write can be accepted. Galera will resolve this by letting the first committting transaction to succeed and latter transaction will rollback and receive deadlock error. This protocol will make sure that data is consistent at all times, but the toll is that transaction throughput will degrade if conflict rate grows too high. In this presentation, we will focus on: * how to detect multi-master conflicts in Galera Cluster and what to learn of them * how big conflict rate is acceptable before you get to experience performance degradation * if deadlocks cause performance problems, how to minimize the conflicts We will also take a look how other multi-master conflicts are treated by other clustrering solutions, like: * MySQL Cluster, through two phase commit * Asynchronous multi-master topologies, where conflicing transactions will be accepted, but data consistency must be compensated by later actions


CEO, Codership
Database replication specialist, with long track record of developing various replication and clustering solutions for MySQL and PostgreSQL databases. Currently holding CEO position at Codership, working for Galera open source project with the target of developing a universally applicable synchronous multi-master replication solution.