- 参考教程从 从Hash索引到LSM树(一) 而写,只是用于学习使用,理解思想!
- 必须在内存中维护Hash索引。如果选择在磁盘上实现Hash索引,那么将会带来大量的磁盘随机读写,导致性能的急剧下降。另外,随着compact机制的引入,数据被分散在多个segment file中存储,我们不得不为每个segment file维护一份Hash索引,这就导致Hash索引的内存占用量不断增加,给系统带来了很大的内存压力。
- 区间查询非常低效。比如,当需要查询数据库中范围在[key0000, key9999]之间的所有key时,必须遍历索引中所有的元素,然后找到符合要求的key。
如何解决呢?我们需要引入SSTable(sort string table)
这种存储结构[未实现]