🎊 hbase查询为何快(超详细)摘抄

hbase查询为何快(超详细)摘抄

A:如果快速查询(从磁盘读数据),hbase是根据rowkey查询的,只要能快速的定位rowkey, 就能实现快速的查询,主要是以下因素:

1、hbase是可划分成多个region,你可以简单的理解为关系型数据库的多个分区。

2、键是排好序了的

3、按列存储的

首先,能快速找到行所在的region(分区),假设表有10亿条记录,占空间1TB, 分列成了500个region, 1个region占2个G. 最多读取2G的记录,就能找到对应记录;

其次,是按列存储的,其实是列族,假设分为3个列族,每个列族就是666M, 如果要查询的东西在其中1个列族上,1个列族包含1个或者多个HStoreFile,假设一个HStoreFile是128M, 该列族包含5个HStoreFile在磁盘上. 剩下的在内存中。

再次,是排好序了的,你要的记录有可能在最前面,也有可能在最后面,假设在中间,我们只需遍历2.5个HStoreFile共300M

最后,每个HStoreFile(HFile的封装),是以键值对(key-value)方式存储,只要遍历一个个数据块中的key的位置,并判断符合条件可以了。 一般key是有限的长度,假设跟value是1:19(忽略HFile上其它块),最终只需要15M就可获取的对应的记录,按照磁盘的访问100M/S,只需0.15秒。 加上块缓存机制(LRU原则),会取得更高的效率。

B:实时查询

实时查询,可以认为是从内存中查询,一般响应时间在1秒内。HBase的机制是数据先写入到内存中,当数据量达到一定的量(如128M),再写入磁盘中, 在内存中,是不进行数据的更新或合并操作的,只增加数据,这使得用户的写操作只要进入内存中就可以立即返回,保证了HBase I/O的高性能。

实时查询,即反应根据当前时间的数据,可以认为这些数据始终是在内存的,保证了数据的实时响应。

来源:https://bbs.csdn.net/topics/390845816

🎯 相关推荐

明星代言护肤品品牌大全
28365365tw五大联赛

明星代言护肤品品牌大全

📅 07-21 👀 5335
京东商城的货到付款是什么意思?货到付款怎么操作货到付款的三个流程
刘涛为丈夫背债复出 4年拍25部剧还清1.9亿令吉 成“国民贤妻”!
pivisionM(Pixiv第三方客户端)手机版介绍
28365365tw五大联赛

pivisionM(Pixiv第三方客户端)手机版介绍

📅 07-30 👀 2052
答案详情
365直播网网络电视台

答案详情

📅 07-04 👀 2592
锂电池能用多久?
28365365tw五大联赛

锂电池能用多久?

📅 09-02 👀 3928
一道时间推理题,看看你的观察力能有多强!
365直播网网络电视台

一道时间推理题,看看你的观察力能有多强!

📅 07-19 👀 1493
(内贸专用)oukitel欧奇K10000 PRO 5.5寸 橡胶黑 3+32G 6750T 1.5GHZ标配+保护壳
停多久算违章停车
365直播网网络电视台

停多久算违章停车

📅 07-03 👀 8572