Quorum (distributed computing)#Quorum-based techniques in distributed database systems
The weighted voting (Latin Quorum Consensus ) is a method to ensure data integrity in replicated databases. In systems consisting of a variety of units, a way must be found to read in the faulty environment data from them and write. It also tolerance for failures of the units should be ensured without compromising the consistency of the data.
It calls for robustness against failures of individual nodes ( network element ) and consistency of the data.
The quorum consensus method can not only deal with the failure of individual nodes, but also guarantee consistency in the decomposition of the network into separate independent partitions. It is important that in the formation of multiple partitions of the network, which can result from communication errors, only one partition changes to the data makes.
To this end, working with a quorum. Nodes are allowed to operate only belong to a partition if they have a quorum. This is the simple case, the majority (half of the members plus one node ), but can also be achieved via a weighting of the individual members.
Each node of the system obtains a weight and there is a so-called read quorum and a write quorum WT RT, which must be satisfied for an access. In addition, a version number is introduced, which is updated when writing and also read when reading.
For the setting of RT and WT must apply:
- , Only when the majority is written
- So at least one current version when reading is found
When writing a date, the sum of the weights of the nodes described must reach the write quorum. So is updated only when the majority and only one partition can make changes, the consistency of the database is preserved. The nodes that will participate in the quorum update other nodes retain their old value.
When read, the read quorum must be reached, so there are multiple nodes are read in general. Different versions can be read, but the quorum guarantees that at least one current version is below. It is used.
The choice of RT and WT provides flexibility. This can be in a database system, the speed or priority of reading and writing set (small RT for fast reading, small WT for rapid writing ).
Thus, by using weight 1 for each node and update all nodes when writing and reading are modeled only one node ( ROWA ).
Unlike other methods for distributed replication no recovery (recovery) is here at the failure of a node required afterwards. The failed node comes back into the composite and may contain outdated information. By reading quorum but ensures that each the current version is found.
Given 5 nodes, each with a weight of 1 Substituting RT = 1 and WT = 5, this means that for a read operation, only one node have to agree. For a write access, however, you must write to all resources. However, this system would not fail-safe.
One could, however, also set WT = 4 and RT = 2; here would still be possible letter when a node fails.
Disadvantages of the process
Quorum consensus method generates a high load when reading data, since a plurality of nodes to be read in order to achieve the read quorum.
Similarly, a large amount of replications necessary to the failure to cope with fewer components (eg 3 nodes to survive for the failure of a node ).
Writes by the missing- algorithm may be a ROWA strategy used, as long as there are no failures. Thus, each node is updated with a change. This allows fast reading can be achieved (only from a node ). Only when a failure is converted to quorum consensus around the failed node to compensate.