HBase读取数据快还是写数据快

HBase利用LSM树实现快速写入,相对牺牲部分读取性能。与RDBMS的B+树不同,LSM树将随机写转化为连续写,先写入MemStore再刷入StoreFile。数据读取首先查找MemStore,不在则搜索StoreFile。删除操作通过标记并在major compaction时实际删除,更新操作仅在内存中完成,提高效率。
摘要由CSDN通过智能技术生成

首先,需要明确的是,HBase写入速度比读取速度要快,根本原因LSM存储引擎。

LSM树全称是基于日志结构的合并树(Log-Structured Merge-Tree)。No-SQL数据库一般采用LSM树作为数据结构,HBase也不例外。

一、RDBMS采用B+树作为索引的数据结构

众所周知,RDBMS一般采用B+树作为索引的数据结构,如图所示。RDBMS中的B+树一般是3层n路的平衡树。B+树的节点对应于磁盘数据块。因此对于RDBMS,数据更新操作需要5次磁盘操作(从B+树3次找到记录所在数据块,再加上一次读和一次写)。

在RDBMS中,数据随机无序写在磁盘块中,如果没有B+树,读性能会很低。B+树对于数据读操作能很好地提高性能,但对于数据写,效率不高。对于大型分布式数据系统,B+树还无法与LSM树相抗衡。

 

二、HBase中的LSM树

LSM树可以看成n层合并树。LSM树本质上就是在读写之间取得平衡,和B+树相比,它牺牲了部分读性能,用来大幅提高写性能。

在HBase中,它把随机写转换成对MemStore和HFile的连续写。下图展示了LSM树数据写的过程。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值