赞
踩
1、简介
传统关系型数据库,一般都选择使用B+树作为索引结构,而在大数据场景下,HBase、Kudu这些存储引擎选择的是LSM树。LSM树,即日志结构合并树(Log-Structured Merge-Tree)。
2、LSM树设计思想
3、LSM的数据写入操作
4、LSM的数据查询操作
1、简介
客户端:这个key存在吗?
服务器:不存在/不知道
本质上,布隆过滤器是一种数据结构,是一种比较巧妙的概率型数据结构。它的特点是高效地插入和查询。但我们要检查一个key是否在某个结构中存在时,通过使用布隆过滤器,我们可以快速了解到「这个key一定不存在或者可能存在」。相比于以前学习过的List、Set、Map这些数据结构,它更加高效、占用的空间也越少,但是它返回的结果是概率性的,是不确切的。
2、应用场景
缓存穿透
为了提高访问效率,我们会将一些数据放在Redis缓存中。当进行数据查询时,可以先从缓存中获取数据,无需读取数据库。这样可以有效地提升性能。
判断某个数据是否在海量数据中存在
HBase中存储着非常海量数据,要判断某个ROWKEYS、或者某个列是否存在,使用布隆过滤器,可以快速获取某个数据是否存在。但有一定的误判率。但如果某个key不存在,一定是准确的。
3、HashMap的问题
要判断某个元素是否存在其实用HashMap效率是非常高的。HashMap通过把值映射为HashMap的Key,这种方式可以实现O(1)常数级时间复杂度。
但是,如果存储的数据量非常大的时候(例如:上亿的数据),HashMap将会耗费非常大的内存大小。而且也根本无法一次性将海量的数据读进内存。
4、理解布隆过滤器
5、根据布隆过滤器查询元素
StoreFile是HBase存储数据的文件格式。
1、HFile的逻辑结构
HFile逻辑结构图
逻辑结构说明
4大部分
2、StoreFile物理结构
StoreFile是以Hfile的形式存储在HDFS上的。Hfile的格式为下图:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。