> Also I believe saying HBASE is consistent is not true. This can happen: > Write to region server. -> Region Server acknowledges client-> write > to WAL -> region server fails = write lost > > I wonder how facebook will reconcile that. :) >
Are you sure about that? Client writes to WAL before ack user? According to these posts[1][2], "if writing the record to the WAL fails the whole operation must be considered a failure.", so it would be nonsense acknowledge clients before writing the lifeline. I hope any cloudera guy explain this... Besides that, you know that WAL is written to HDFS that takes care of replication and fault tolerance, right? Of course, even so, there's a "window of inconsistency" before the HLog is flushed to disk, but I don't think you can dismiss this as not consistent. At most, you may classify it as "eventual consistent". :) [1] http://www.larsgeorge.com/2009/10/hbase-architecture-101-storage.html [2] http://www.larsgeorge.com/2010/01/hbase-architecture-101-write-ahead-log.html E. Ribeiro