论文部分内容阅读
由于空间数据的数据量庞大,数据结构复杂,操作代价昂贵,传统关系数据库现有的优化不能完全适用于空间数据的查询,空间查询优化已成为空间应用的难点和突破点。本研究在这样的背景下,基于现有的空间查询优化方法与理论基础,在优化流程的几个关键难题上提出新的基于代价的优化策略,并将在开源数据库Ingres中应用,为空间数据库管理系统的查询功能的优化做出理论方法的创新与实际应用。根据Güting1994年在VLDB上对空间数据库系统的定义,空间查询优化流程应该与传统属性数据查询优化过程是一致的。基于代价的查询优化主要包括两个关键步:计划枚举和代价计算。代价计算中又包括一个非常重要参数的计算,即选择率估计。因此,空间查询优化技术也要从计划枚举、代价计算和选择率估计这三个方面考虑。本文的研究内容就是从这三方面出发:
(1)空间计划枚举。当前很少人研究空间计划枚举方法,直接使用传统关系型数据库的计划枚举方法,并不能很好的达到选择优秀备选计划的目的。本文采用了穷举法和动态规划法相结合的思路,根据空间数据特性,详细设计了空间计划枚举方法:树形枚举、表排列枚举和操作枚举。另外,本文设置空间等价类和空间约束对,设计空间索引的放置规则,很大程度地减小了计划枚举空间。
(2)空间代价评估模型。当前主流的空间代价模型是基于R树索引,应用的范围有限,并且没有考虑空间数据的实际存储和查询环境,代价计算方法不是很实用。本文分析了地理空间数据结构复杂难以有效的存储和查询的原因,并系统地总结了当前空间代价评估模型。本文以Ingres的代价模型为基础,考虑“主表-扩展表”的空间数据存储模式(即二进制大对象的存储模式)设计实现了空间选择率为出发点设计空间代价模型。空间代价模型采用空间直方图方法可以估计没有R树索引参与的空间选择与空间连接的代价,方法具有很大的实用性。
(3)空间直方图。空间直方图技术研究是当前空间数据库技术研究的热点之一,但是现有方法都存在不同的缺点,例如,不能估计精细拓扑关系选择率估计,选择率的不能推演问题等。本文设计了累计AB直方图。累计AB直方图根据数据矩形的两个端点的特性(左上点必定位于右下点的左上方)来记录数据在空间的分布。本文根据累计AB直方图的这些统计信息,设计简单的计算公式,可以精确估计各种空间关系的选择率,并且可以解决选择率推演问题。
上述方法都是基于开源数据库Ingres进行了验证。研究、测试与应用表明,本文设计的空间查询优化方法是有效的、合理可行的。