论文部分内容阅读
随着互联网和多媒体技术的迅猛发展与普及,人们可以通过计算机轻易地接触并获取到大量有用的数据。如何对大量数据对象进行有效检索成为了计算机应用中的一个非常重要的研究课题,数据库技术中的索引结构正是为了解决此问题而出现。
传统的索引结构(如B—tree等)可以很好的解决单维数据的检索问题,然而现在接触到的数据大部分属于高维数据。而由于高维数据自身的无序性与复杂性等特点,传统的索引结构无法直接对其进行处理,所以必须建立高维索引来进行管理。自从Guttman提出了基于树形结构的R—tree后,相关学者纷纷在此基础上进行进一步的研究,例如在此基础上提出的R*—tree等。
本文在对R—tree族以及KDB—tree族索引结构研究的基础上,对R*—tree在处理点数据方面进行了改进。首先分析了R*—tree在处理点数据上的弱势以及改进必须解决的问题;接着在R*—tree结构的基础上提出了一种新的高维点访问方法ppR—tree(perfect point R—tree)。该方法的基本结构基于R*—tree,但是在分裂算法中结合Perfect KDB—tree中自上而下分裂的思想而提出节点重构技术,可以有效减少节点间的重叠区域;另外,在压缩节点信息方面,ppR—tree引入了有效维机制,增加了高层节点的扇出,可以有效降低树高。最后,通过实验验证了ppR—tree在全部测试维的几乎所有分布中范围查询性能优于R*—tree,KDB—tree以及Perfect KDB—tree,数据点查询性能优于R*—tree;并且,在维护代价方面,相对R*—tree并没有太大加重,但是物理利用率得到很大提高。