HBase Hlog原理总结归纳
1. Hlog概述
- 按照此前另外一篇博客所述,Hlog其实就是为了保存内存缓存数据现场而建立的一套机制Hbase内部机制
- Hlog也叫做WAL文件,全名是write ahead log。
- 故名思意,就是在数据写入到memory store之前,先把信息写入到这个wal日志文件中。
2. Hlog简介
- Write Ahead Log (WAL)提供了一种高并发、持久化的日志保存与回放机制.这一点和hdfs的checkpoint机制很类似,都是通过追加形式的磁盘日志文件来还原内存数据现场,防止内存数据丢失
- 采用磁盘文件追加可以达到很高的磁盘IO性能,具体看我另外一篇博文 磁盘顺序读写
- 将现场以日志形式记录下来,其实有很多应用如mysql的binlog就是如此。
- 每一个业务数据的写入操作(PUT / DELETE)执行前,都会记账在WAL中。,用来做灾难恢复只用,Hlog记录数据的所有变更,一旦数据修改,就可以从log中进行恢复
- 每个Region Server维护一个Hlog,而不是每个Region一个
- 不同region(来自不同table)的日志会混在一起,这样做的目的是不断追加单个 文件相对于同时写多个文件而言,可以减少磁盘寻址次数,