日期:2014-05-16  浏览次数:20565 次

HBase 预写日志 (WAL)

?

HBase数据格式包括Log结构参考上一篇日志。

WAL最重要的作用是灾难恢复,一旦服务器崩溃,通过重放log,我们可以恢复崩溃之前的数据。如果写入WAL失败,整个操作也将认为失败。

6??WAL

?

基本流程:首先,客户端初始化一个可能对数据改动的操作,如put(Put),delete(Delete)??incrementColumnValue()。这些操作将被封装在一个KeyValue对象实例中,发送给HRegionServer?一旦达到一定大小,HRegionServer?将其发送给HRegion。这个过程中,数据会首先会被写入WAL,之后将被写到实际存放数据的MemStore中。

?

HLog是实现WAL的类。一个HRegionServer对应一个HLog实例。当HRegion初始化时,HLog将作为一个参数传给HRegion的构造函数。

WAL中几个重要