top



重点项目展示


分布式异构空间数据查询优化


分布式数据库中,基于全局数据库上的透明、无缝地查询处理是一个重要问题,分布式查询处理分为四个层次:查询分解、数据本地化、全局查询优化、局部查询优化,前面三层在一个中心场地完成,第四层在局部场地上完成。如下图所示:


project


1 跨边界无缝查询的实现

将片段连接分为跨边界、非跨边界两组,分开处理



2 分布式异构空间查询分解与数据本地化

查询分解可以看成四步:查询语句规范化、查询分析、消除冗余、查询语句重写。查询分解的输入和输出都涉及全局关系,不管数据的分布情况。①查询规范化主要将查询条件表示成规范化形式。一个查询可以规范化成由AND()组成的合取范式或由OR()组成的析取范式。②查询分析主要分析查询的类型和语义的正确性,类型的正确性包括属性类型、关系名、操作的类型等。语义的正确性是指查询本身具有明确的含义并且用查询语言进行了合适的表达。③消除冗余是要去掉查询条件表达式中的冗余谓词,一般根据等幂律(Idempotency)来进行实现。④查询分解的最后一步是查询重写,可以分为两个子步骤:一是将查询转换成关系代数;二是关系代数查询重构,以提高性能。关系代数查询的重构主要通过转换规则来实现,总的说来可以概括为下面几条:

  • 施加于同一数据对象上的若干简单谓词可以合并为一个复合谓词。
  • 选择运算应尽早执行,有时它能使执行时间呈数量级减少。
  • 投影应尽量早执行,但不先于选择。

将全局查询树与模式分解信息融合并转换成部分优化的逻辑关系查询树。

project



3 分布式异构空间数据全局查询优化

提出了全局查询优化的基本原则

分布式查询优化主要由空间查询优化器来完成。查询优化器软件通常看成由搜索空间、代价模型和搜索策略三部分构成,如下图所示:


project

全局优化的基本原则主要有:

  • 尽量去除不必要的跨边界片段连接。按空间片段连接的去除规则去除多余的跨边界片段连接;
  • 尽量优化的跨边界片段连接。按空间片段连接的过滤优化转化规则,优化跨边界片段连接;
  • 对于不能优化跨边界连接,用空间半连接方法进行优化。

与传统分布式空间数据库不同,本文提出的跨边界的空间片段连接方法不象半连接那样导致通信次数的增加,实际上在数据发送到另一个场前,已经过局部数据库对参与连接片段进行过滤,因此传输代价得到有效控制。至于本地处理时间,会有一定量代价增加,但如果将本地过滤和数据检索(在全连接方式中发送前也需要进行检索)相结合,本地处理时间的增加量会有效降低。而且,通过有效过滤,除了数据传输量得到有效减少外,还有效减少了在连接场地建立片段的空间索引时间,连接代价也大大减少。


4 全局空间片段查询到局部空间片段查询的映射方法

研究了ArcSDE、Oracle Spatial、MapGIS三种平台下的映射方法

选择了包括Oracle Spatial,ArcGIS,MapGIS三种主流的GIS平台,研究全局空间查询到局部空间片段查询的映射方法。OGC规范中的空间关系操作、空间分析操作在不同平台下的实现并不一致。Oracle平台支持的是原生的SQL语言,对于片段连接直接映射为局部场地的SQL查询,执行查询后通过游标获取查询结果;ArcSDE不直接支持SQL查询,因此需要调用其拓扑关系判断和空间分析计算的API来实现;对于MapGIS尚未完善的空间操作如拓扑关系计算,课题组采用开源库GEOS进行补充。以此为基础,通过代理技术屏蔽三种平台在空间查询方法上的差异,实现了三种平台上全局查询到局部空间片段查询的映射,如下图所示:


project



5 分布式异构空间数据无缝查询算法

通过结点归并生成连接归并树,再生成分布式空间查询的执行计划树

空间查询首先转化为空间全局查询树。空间查询树是由查询语句经语法分析之后生成的语法树变换过来的。主要过程如下图所示:

project



6 科学性、创新性评述

提出了一种基于分割分片的分布式空间查询全局优化策略:跨边界片段连接优化与半连接优化结合的策略;初步提出了基于跨边界连接优化的空间查询优化原则;提出了基于跨边界连接优化的分布式空间查询处理算法。提出了结点归并、连接归并树、执行结点、执行计划树等概念。基于这些概念,经过查询分解与数据本地化后的空间查询树可以转化为执行计划树。深入研究了生成连接归并树、数据本地化与优化、执行计划生成过程,给出了具体算法。

本文提出了结点归并、连接归并树等概念,并基于这些概念生成执行计划树,给出了执行计划树的生成算法和调度执行算法,是本课题的一个创新。分布式异构空间数据查询优化和无缝集成查询方法已获得一项专利授权(一种高效、透明的分布式空间数据库查询方法,200710052872.2)。