2. 数据结构与算法

跳表 #

LSM树 #

LSM树本质上和B+树一样,是一种磁盘数据的索引结构。但和B+树不同的是,LSM树的索引对 写入请求更友好。因为无论是何种写入请求,LSM树都会将写入操作处理为一次顺序写,而 HDFS擅长的正是顺序写(目HDFS不支持随机写),因此基于HDFS实现的HBase采用LSM树作 为索引是一种很合适的选择。

LSM树的索引结构 #

内存部分是一个ConcurrentSkipListMap, Key就是前面所说的Key部分,Value是一个字节数组。数据写入 时,直接写入MemStore中。“着不断写入, 一旦内存占用超过一定的阈值时,就把内存部分的 数据导出,形成一个有序的数据文件,存储在磁盘上

布隆过滤器 #