There are two separate problems:<p>- clustering to increase performance
- clustering for HA<p>Most people want at least the later one. The former one is a bigger challenge in case of relational databases so I&#x27;ll ignore it here.<p>Regarding consistency vs availability typically is not all black and white, and people are willing to make tradeoff. For example losing few transactions as opposed to being completely down. This is not too bad as long as developers are aware of that special case and write code that can handle that.<p>Having said that, I&#x27;m wondering how a failover system based on BookKeeper[1] would work (a relational database is effectively a state machine, so seems like this could fit). The tradeoff here would be most likely reduced performance though.<p>[1] <a href="http:&#x2F;&#x2F;bookkeeper.apache.org&#x2F;" rel="nofollow">http:&#x2F;&#x2F;bookkeeper.apache.org&#x2F;</a>