一般我们说先记录在预写日志(wal),然后再写入缓存(memstore),实际上我们从源码中可以发现有一些小小的偏差.

实际操作顺序应该是:
1 hbase做写操作时,先记录在本地的wal(Write-Ahead logfile)中,但是不同步到hdfs
2 然后再把数据写入到memstore
3 开始将wal同步到hdfs
4 最后如果wal同步成功则结束,如果同步失败则回滚memstore

源码参考的是
hbase-server-1.3.1.jar中
HRegion类内
doMiniBatchMutation方法

[hbase] hbase写操作时对wal和memstore的操作顺序
[hbase] hbase写操作时对wal和memstore的操作顺序

[hbase] hbase写操作时对wal和memstore的操作顺序

[hbase] hbase写操作时对wal和memstore的操作顺序

[hbase] hbase写操作时对wal和memstore的操作顺序

相关文章:

  • 2021-11-23
  • 2021-11-23
  • 2021-12-03
  • 2022-12-23
  • 2021-10-27
  • 2021-11-23
  • 2021-10-27
  • 2021-12-18
猜你喜欢
  • 2021-11-23
  • 2021-04-13
  • 2021-06-08
  • 2021-05-30
  • 2021-08-20
  • 2021-10-12
相关资源
相似解决方案