开发者社区> 问答> 正文

HBase读数据流程与写流程相比的不同点在哪儿?

HBase读数据流程与写流程相比的不同点在哪儿?

展开
收起
游客fbdr25iajcjto 2021-12-05 17:13:27 537 0
1 条回答
写回答
取消 提交回答
  • 和写流程相比,HBase读数据是一个更加复杂的操作流程。

    这主要基于两个方面的原因:其一是因为整个HBase存储引擎基于LSM-Like树实现,因此一次范围查询可能会涉及多个分片、多块缓存甚至多个数据存储文件;其二是因为HBase中更新操作以及删除操作实现都很简单,更新操作并没有更新原有数据,而是使用时间戳属性实现了多版本。

    删除操作也并没有真正删除原有数据,只是插入了一条打上”deleted”标签的数据,而真正的数据删除发生在系统异步执行Major_Compact的时候。

    很显然,这种实现套路大大简化了数据更新、删除流程,但是对于数据读取来说却意味着套上了层层枷锁,读取过程需要根据版本进行过滤,同时对已经标记删除的数据也要进行过滤。

    2021-12-05 17:21:43
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
大数据时代的存储 ——HBase的实践与探索 立即下载
Hbase在滴滴出行的应用场景和最佳实践 立即下载
阿里云HBase主备双活 立即下载