MariaDB Galera Cluster Questions
I have some questions on Maria DB Galera Cluster.
Q1) If I partition a table in a schema which is part of MariaDB Galera Cluster, can i configure partitions in such a way that a one partition resides in one Node, another partition resides in second Node and so on? I'm trying to shard the data and use Galera cluster nodes to accommodate parts of that shard.
Q2) Scenario - During replication of MariaDB Galera Cluster, the Master node gets a request, it processes it and then sends to other nodes for approval, followed by a commit at every node. What if commit happens on majority of nodes except one or two? What happens to that transaction and how about Data consistency among all nodes?
Q3) Which protocol is used for communicating between nodes during data replication in MariaDB Galera Cluster? Is it TCP or a Broadcast to all other nodes or Some customized protocol between nodes that enables replication in the cluster.
Thanks a lot in advance.
Answered by Alex Yurchenko on the mailing list:
Q1) No, it is a design assumption that every node holds all the data, so all nodes are identical.
Q2) A deterministic certification algorithm is used to determine whether transaction must be committed or not. So all nodes are guaranteed to decide identically. If a node decides that transaction should be (applied and) committed but for some reason can't do it, it assumes data inconsistency and aborts.
Q3) It is a proprietary group communication protocol on top of TCP or UDP multicast.