内存数据库中集合相似度及集合包含问题的研究
【摘要】:集合查询和集合连接是当前研究的热点,可分为集合包含(查询或连接)和集合相似度(查询或连接)两个部分,在数据库、数据挖掘、信息检索、生物信息系统等很多相关领域有重要的研究价值和应用前景。
索引对提高集合查询和连接的效率至关重要。研究者提出了多种支持集合值的索引结构,并在此基础上设计了相应的查询或连接算法,但这些索引结构和算法存在着诸如只支持部分谓词或只在部分谓词上高效,又或支持多种谓词但效率较低等不足之处。本文主要解决在内存数据库中的集合值查询和连接问题,在相关研究的基础上,本文主要做了以下工作:
1.对相关研究工作进行了综述,对相关支持集合值查询和连接的索引和算法进行分析比较,指出其优势和不足之处。针对多数索引只关注其中集合包含和集合相似度的某一方面或某一方面的少数几种谓词的问题,从统一的架构下给出了集合查询和集合连接的定义,并在统一的结构下给出了支持所有查询谓词的实现。
2.提出一种基于trie的ETI结构,ETI对trie节点进行扩展,使之便于处理T-覆盖查询。在ETI基础上,通过将T-覆盖查询问题转化为在ETI上查找查询深度为T的节点,实现了高效的解决T-覆盖查询的T-Similarity算法。通过下面三个步骤解决扩展到其它多种相似性谓词的任务:1)将相似性阈值τ映射为T-覆盖阈值。2)在T-Similarity基础上实现T-SimilarityExact算法以计算精确覆盖值。3)验证候选记录。提出了记录序的概念并研究了不同记录序对ETI和T-Similarity算法的影响。通过扩展实验从多个方面验证了ETI结构和相关算法的有效性。
3.为在统一架构下实现集合包含查询和相似度查询问题,对ETI结构进行简单扩展,将ETI节点中的节点反向列表域分成终结于该节点的节点反向列表(ENIL)和非终结于本节点的节点反向列表(NNIL)两部分。通过后缀过滤技术和值判定技术来加速子集查询的效率。对等值查询,进一步提出空ENIL判定技术、单路径过滤技术和值不等判定技术来实现高效的等值查询。通过自根向下的遍历,实现高效的超集查询。最后,对基于ETI的集合包含查询和基于反向索引的算法进行了对比。
4.针对传统基于反向索引的集合T-覆盖连接采用生成——测试的框架,需生成大量候选集进行验证,从而导致性能降低的问题,提出一种动态的索引结构DTI,并在DTI上设计高效的T-覆盖连接算法Dtrie-allpair算法。Dtrie-allpair算法采用长度过滤,可过滤势小于T而无需索引的记录。对长度大于等于T的记录,先在DTI中查询、后索引该记录,从而可保证对一个相似对,只生成一个结果。在元素序的基础上,进一步提出记录序和组合序,研究了各种数据库序对连接效率的影响。Dtrie-allpair算法无需生成候选集直接生成最终结果,实验验证了其相对Allpair算法和PPJoin算法具有明显的优势。
5.针对基于CPU的反向索引算法在处理T-覆盖查询时效率较低,且各算法只在特定阈值范围内高效的问题,研究基于GPU的T-覆盖的高效实现。在将ScanCount算法作为底层算法的基础上,根据查询并行还是串行处理,提出两种串行算法(GS-Serial和GS-Serial-Atomic)和一种并行分组算法(GS-Parallel-Group)。为解决大量查询导致GPU空间开销较大的问题,GS-Parallel-Group对查询进行分组,从而在保持合理内存开销的同时,使系统具有近似最优的性能。通过设计的高效的GPU原语,解决了在GPU中直接获取查询结果的问题。实验验证了算法的效率和合理分组大小的设定。
6.针对基于CPU的反向索引在实现集合包含查询时需进行大量与结果无关的元素对比而导致效率低下的问题,采用GPU来实现高效的集合包含查询。对子集和等值查询,采用面向元素的、单kernel的列表交集算法,并通过设计高效的GPU原语在GPU中直接获取查询的结果,从而降低了在GPU和CPU之间传送数据的开销。对超集查询,通过对GS-Parallel-Group算法进行简单修改而实现。扩展实验表明,基于GPU的算法相对CPU的版本具有较高的加速比。
|
|
|
|
1 |
孙玉娟,陈辉,尚前明;现代船舶机舱管理信息系统的实现[J];武汉理工大学学报(交通科学与工程版);2002年06期 |
2 |
王洪海,潘朝华;内存数据库的数据结构分析[J];现代电子技术;2004年03期 |
3 |
刘云生,迟岩;内存受限的实时内存数据库数据装入策略[J];计算机工程;2004年20期 |
4 |
何坤;;基于内存数据库的分布式数据库架构[J];程序员;2010年07期 |
5 |
曹猗宣;王晶;;内存数据库在彩铃业务中的应用[J];计算机系统应用;2011年05期 |
6 |
朱英武,卢炎生;内存数据库的快速搜索多目录哈希方法[J];微电子学与计算机;1997年01期 |
7 |
季琦;金小辉;;内存数据库交叉属性存储模型的研究[J];微计算机应用;2008年06期 |
8 |
刘云生,吴绍春,李国徽,胡国玲;一种实时内存数据库组织与管理方法[J];计算机研究与发展;1998年05期 |
9 |
卢炎生,潘怡,赵栋,谢晓东;一个内存数据库管理系统的数据组织[J];华中理工大学学报;1999年10期 |
10 |
李国徽,杨进才;内存数据库查询优化[J];华中科技大学学报(自然科学版);2003年04期 |
11 |
刘云生,许贵平;内存数据库的图论存取方法[J];计算机学报;2001年10期 |
12 |
毛焕宇;;内存数据库在电信计费系统中的应用[J];科技资讯;2006年12期 |
13 |
;加速增值软件科技创新 提供系统管理有效捷径[J];电信快报;2009年05期 |
14 |
许浩;;SIP应用服务器内存数据库的设计[J];计算机与现代化;2010年07期 |
15 |
许丽花;翁英萍;;Oracle Timesten内存数据库自动数据清理机制探究[J];电脑知识与技术;2010年35期 |
16 |
刘云生,焦金良;内存数据库组织分区法的评析[J];计算机工程与应用;2002年10期 |
17 |
林春;分布式内存数据库的恢复[J];航空计算技术;2003年02期 |
18 |
李蔚;张效尉;李刚;;内存数据库应用于电信计费系统的研究与实现[J];郑州轻工业学院学报(自然科学版);2008年03期 |
19 |
王利娜;;变电站监控系统中内存数据库的研究[J];科技创新导报;2008年28期 |
20 |
宋述燕;王锦程;尹建新;;NGN业务平台内存数据库的设计与实现[J];计算机工程;2008年23期 |
|