title: HBase: How does replication work?
body: <p>I'm currently evaluating HBase as a Datastore, but one question was left unanswered: HBase stores many copies of the same object on many nodes (aka replication). As HBase features so-called <em>strong consistency</em> (in constrast to <em>eventual consistent</em>) it guarantees that every replica returns the same value if read.</p>
  
  <p>As I understood the HBase concept, when reading values, first the HBase master is queried for a (there must be more than one) RegionServer providing the data. Then I can issue read and write requests without invention of the master. How can then replication work?</p>
  
  <ul>
  <li>How does HBase provide concistency?</li>
  <li>How do write operations internally work? </li>
  <li>Do write operations block until all replicas are written (=> synchronous replication). If yes, who manages this transfer?</li>
  <li>How does HDFS come into the game?</li>
  </ul>
  
  <p>I have already read the <em>BigTable</em>-Paper and searched the docs, but I found no further information on the architecture of HBase.</p>
  
  <p>Thanks!</p>