There is a fundamental rule with distributed databases: you can pick
any two of:
* Maintaining data Consistency across the entire network
* Maintaining data Availability across the entire network
* Being able to deal with a Partitioning of the network into two or
more disconnected pieces
but you can never have all three.
An example of this is the outage at GitHub earlier this month
A link broke between the east-coast and west-coast halves of their
network, and in an effort to maintain ongoing service availability on
both sides of the partition, they ended up sacrificing consistency of
the data. Which came back to bite them when the link was
re-established, and the inconsistency could not easily be resolved.
Show replies by date