LSM存储和定位

分类:编程技术 时间:2024-02-20 15:32 浏览:0 评论:0
0
本文主要讲解“LSM存储与定位”。文章中的讲解内容简单明了,易学易懂。请大家按照小编的思路慢慢深入,一起研究学习《LSM存储与定位》。酒吧!

LSM存储

主要思想是直接修改树结构,而不是分几层修改。当第一关完成后,反馈就完成了,剩下的就交给后台处理了。

流程是先写入内存表,然后合并到低级sstable,最后合并到高级sstable。

以下是Hbase的总体结构:

2、定位

Trailer——这部分是固定长度的。保存每个段的偏移量。读取HFile时,会先读取Trailer。 Trailer保存每个片段的起始位置(片段的Magic Number用于安全检查)。然后,DataBlock 索引x 将被读取。获取到内存中,这样在检索某个key时,不需要扫描整个HFile,而只需要从内存中找到key所在的block,通过磁盘将整个block读入内存IO,然后找到需要的key。使用LRU机制消除DataBlock Index。

首先,可以快速找到该行所在的区域(分区)。假设该表有10亿条记录,占用1TB空间。分为500个区域,1个区域占用2G。最大读取取2G记录即可找到对应的记录;

其次是按列存储,其实就是列族。假设分为3个列族,每个列族666M。如果要查询的事物都在其中一个列族上,并且一个列族包含一个或多个HStoreFile。假设1个HStoreFile为128M,列族在磁盘上包含5个HStoreFile。其余的都是e 在内存中。

再次排序。您想要的记录可能位于前面或末尾。假设是中间,我们只需要遍历2.5个HStoreFile共300M

最终每个HStoreFile(HFile的封装)都以键值对的形式存储。只需要遍历每个数据块中的关键位置,判断是否满足条件即可。就是这样。一般情况下,key的长度是有限的,假设它和value是1:19(突然省略HFile上的其他块),只需要15M就可以获得对应的记录。按照100M/S的磁盘访问速度计算,仅需0.15秒。加上块缓存机制(LRU原理),将会获得更高的效率。

感谢您的阅读。以上就是《LSM存储与定位》的内容。经过文章的学习,相信大家对LSM存储和定位的问题有了更进一步的了解。深刻的理解和专业具体用法还有待大家验证。在此,小编将为大家推送更多相关知识点的文章,欢迎关注!

1. 本站所有资源来源于用户上传或网络,仅作为参考研究使用,如有侵权请邮件联系站长!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 编程技术 > LSM存储和定位

用户评论