Galera Cluster Data Consistency
Data inconsistency is the worst problem that can happen for synchronous database cluster. After data inconsistency has sneaked in the cluster, it will sooner or later appear during replication processing, simply because applying of replication events is not possible in some cluster node, due to missing rows, excessive rows or wrong values in the row columns. And this usually stops the replication process altogether and at least the failing node must drop out from the cluster. Sorting out the reason for the cluster inconsistency can be problematic, because the inconsistency can have happened long time ago, without leaving any signs in the system. Therefore it may be also difficult to even decide which cluster node has the trusted data contents. Recovering from data inconsistency usually means full database state transfers across the cluster nodes. Galera Cluster version 3, has strict inconsistency policy: all transaction replication errors cause emergency abort for all nodes detecting the inconsistency. This is rather aggressive strategy and in worst case can lead to full cluster crash. Galera Cluster 4 has more sophisticated inconsistency strategy where cluster runs inconsistency voting protocol and optimizes the way cluster reacts to detected inconsistency. The presentation shows the various reasons causing data inconsistency in a cluster and discusses possible ways to deal with them, and how to recover a cluster after data inconsistency. Galera Cluster has also inbuilt support for continuous consistency checking, and the presentation shows how this can help in hardening the cluster against potential threats for data consistency. The difference in data inconsistency strategies between Galera 3 and Galera 4 clusters is visualized by a live demonstration.
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.