hbase 读取数据的时候怎么找到最新版本的数据的?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

hbase 读取数据的时候怎么找到最新版本的数据的?

健东 2018-11-17 10:50:34 1029

hbase 读取数据的时候怎么找到最新版本的数据的?

分布式数据库 Hbase
分享到
取消 提交回答
全部回答(1)
  • 巴客
    2019-07-17 23:15:07

    HBase中数据独立地存在于Memstore和StoreFile中,Blockcache中的数据只是StoreFile中的部分数据(热点数据),即所有存在于Blockcache的数据必然存在于StoreFile中。因此MemstoreScanner和StoreFileScanner就可以覆盖到所有数据。实际读取时StoreFileScanner通过索引定位到待查找key所在的block之后,首先检查该block是否存在于Blockcache中,如果存在直接取出,如果不存在再到对应的StoreFile中读取。
    数据更新操作先将数据写入Memstore,再落盘。落盘之后不需要更新Blockcache中对应的kv,而且不会读到脏数据。数据写入Memstore落盘会形成新的文件,和Blockcache里面的数据是相互独立的,以多版本的方式存在。

    0 0
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

推荐文章
相似问题
推荐课程