HBase & Paxos

First Facebook has been championing HBase for a long time but recently they have evolved HBase to Hydrabase. There are several reasons that they give for this. Behind some of their issues was the fact that HBase relied upon Zookeeper to failover. The Zookeeper is based on the Paxos Consensus Algorithm. Consensus is protocol whereby multiple servers agree on values but this works well when a sufficient no. of servers are available to make a consensus. Apache ZooKeeper, a popular distributed synchronization service used in projects such as HBase and Solr, utilizes a consensus protocol to achieve fault-tolerance by replicating its configuration repository across many servers. Raft makes paxos easier to understand and reason about.

In fact, with raft protocol, Facebook was able to go from 4-9’s to 5-9’s of reliability. More information about Raft is available here. It is worth noting, however, that comparing Raft and Paxos can be a bit misleading. Even though both address the fundamental problem of reaching consensus among a network of connected machines, Paxos is more academic in nature and primarily concerned with the mechanics of consensus, whereas Raft is oriented around the practical challenges of implementing a replicated log. There’s also work being done on replacing Zookeeper with some other consensus algorithm like Raft.

Comments are closed.