论文部分内容阅读
在当今这个信息技术无处不在的时代,数据每时每刻会由各种源头产生,日积月累,几百TB甚至PB级别的数据量是一种很常见的现象。因此如何以较小的代价存储这些海量数据,并从中快速查询到想要的信息成为一个很普遍的需求。 对于海量数据的存储,管理与查询,使用传统数据库的存储结构和索引技术已经不能满足人们对处理性能和存储空间的高要求,所以当前迫切需要一套新的针对海量数据的技术解决方案。而其中的索引技术是解决这些问题的关键,因此对索引技术的研究具有非常重大的意义。 KStore是一个为解决海量数据存储、管理与查询问题的数据库平台。随着爆炸式的数据量增长,其索引技术已经不能满足查询性能的要求,因此当前迫切需要对其索引进行优化。 目前KStore的索引架构是基于分片索引机制,该机制虽然能够保证高效的插入性能,但是其最大的不足是索引过滤性能会随着数据量的增长而衰落。此外KStore中三种索引(元数据基本索引、分段哈希索引、子串索引)的设计中各自都有各自的不足点,本文正是针对它们的问题进行优化升级。针对元数据基本索引的不足,我们将索引信息分开存放以处理不同类型的查询,同时提出了通过物化位图的方法米达到分段的效果。针对分段哈希索引的不足,我们采用了反向哈希索引技术,通过直接读取哈希值对应的查询结果来大大减少查询过滤时的I/O。针对子串索引的不足,我们提出了将分词操作抽象为一个用户可以自定义的接口,从而大大减少了冲突率,提高了索引的过滤率。理论分析和实验结果表明:优化后这三种索引的大小与原先相比只有少量的增长,而索引的过滤性能却比之前大大提高。