HBase WAL详解
简介
HLog
每个RegionServer拥有一个或多个HLog(默认只有1个,1.x版本可以开启MultiWAL功能,允许多个HLog)。每个HLog是多个Region共享的,如图所示,Region A、Region B和Region C共享一个HLog文件。
HLog中日志单元WALEntry表示一次行级更新的最小追加单元(图中红色/黄色小方框),它由两部分组成:
HLogKey中包含多个属性信息,包含table name、region name、sequenceid等;
pWALEdit用来表示一个事务中的更新集合,一次行级事务可以原子操作同一行中的多个列。上图中WALEdit包含多个KeyValue。