论文部分内容阅读
在大数据环境下,每天产生海量数据,并存储在数据库系统中。很多时候,系统新来一个数据,都需要查询该数据是否已经在系统中,也就是对数据的查存。随着数据量增大,查询一个数据是否已经存在系统中消耗的时间也更长。而大多数实际应用却需要系统能快速地响应这类查询。因此,快速地响应查询一个数据是否已经存在系统中,是一个具有现实意义的应用需求。 针对这种应用需求,论文指出有两种方案可以实现这种需求,第一种方案是通过客户端访问数据库系统,但是将会引起不必要的时间开销。第二种方案就是考虑在内存中实现一个数据结构,表示存储在存储系统中的海量数据。当需要查询某一数据是否存在系统中时,只需要访问内存中的数据结构。第二种方案在时间开销上优于第一种方案。而且方案二中现存很多查存算法,例如有简单的位图结构、高效的布隆过滤器及其相关的引申算法等。尽管如此,如何在这些数据结构算法中,评估和选择一个合适的高效数据结构,来表示存储在数据库等存储系统中的海量数据,是一个值得重视的挑战,也是一个具有实际意义的研究问题。 针对上述应用需求和问题挑战,本论文的主要工作是:第一,提出海量数据中查存算法的评估和比较需求。第二,提出了对查存算法的统一建模,并在算法建模框架下,给出位图数据结构、标准型布隆过滤器、计数型布隆过滤器、Dynamic布隆过滤器以及D-left布隆过滤器的模型实例。第三,提出对查存算法的评估指标,利用该指标可对不同的查存算法进行选择及评估。此外,还给出上述五种算法的理论评估及实验评估结果。第四,对五种数据结构算法进行对比研究,并在分析中给出在查存算法评估选择上的相关建议。第五,实验结果表明在算法选用上,建议考虑数据量及其全集个数,误差容忍范围以及资源受限情况。