Orginal Article

Research of the Parallel Spatial Database Proto System Based on MPP Architecture

  • CHEN Dalun 1, 2 ,
  • CHEN Rongguo 1, * ,
  • XIE Jiong 1
Expand
  • 1. State Key Laboratory of Resources and Environmental Information System, Institute of Geographic Sciences and Natural Resources Research, CAS, Beijing 100101, China
  • 2. University of Chinese Academy of Sciences, Beijing 100049, China
*Corresponding author: CHEN Rongguo, E-mail:

Received date: 2015-03-12

  Request revised date: 2015-05-14

  Online published: 2016-02-04

Copyright

《地球信息科学学报》编辑部 所有

Abstract

The efficiency for querying complex spatial information resources is an important indicator to evaluate the performance of current spatial databases. Traditional single node relation spatial data management is difficult to meet the demand of high-performance in querying large amounts of spatial data, especially for the complex join query on multi-table. In order to solve this problem, we design and implement a spatial database middleware prototype system. This system takes full advantages of the massive parallel processing (MPP) and shared-nothing architecture. In consideration of the characteristics of spatial data, we design the spatial data parallel import, multi-spatial-tables join strategy, spatial data query optimization and other algorithms and models. This paper firstly introduces the development status of parallel database systems in recent years, and then elaborates its MPP architecture and its organizational model, and the strategy of the join query on multi-spatial-table. Finally, we made some query experiments on massive spatial data and analyzed the results of these inquiries. The experimental results show that this system indicates a good performance (nearly linear speedup) in processing the complex query of massive spatial data. Compared with the tradition single node database, this system can fully improve the efficiency of complex querying for large spatial data, and it is a more efficient solution to solve the complex spatial data queries.

Cite this article

CHEN Dalun , CHEN Rongguo , XIE Jiong . Research of the Parallel Spatial Database Proto System Based on MPP Architecture[J]. Journal of Geo-information Science, 2016 , 18(2) : 151 -159 . DOI: 10.3724/SP.J.1047.2016.00151

1 引言

海量空间数据高性能的快速复杂查询是衡量空间数据库性能的一个重要指标。传统的空间数据管理方式可分为2种:(1)在单节点关系型数据库基础上扩展空间数据类型;(2)通过空间数据引擎来连接关系型数据库和GIS应用软件[1-2]。上述2种空间数据管理模式,在海量空间数据的管理、高并发读写、空间数据的复杂查询等方面都存在一定的局限性[3]
在海量空间数据的查询中,大数据量的空间查询操作往往成为性能的瓶颈。传统的单节点数据库不能在短时间内完成海量空间数据复杂查询的任务,而采用了基于集群技术的并行数据库。为提升海量空间数据的查询性能提供了很好的启示。经数十年的发展,已有大量的并行关系数据库统产品,如TeraData、DB2、Greenplum及Oracle RAC等[4]。并行数据库有3种架构,分别为:共享主存的多处理机、共享磁盘的多处理机和无共享的多处理机[5]。由于无共享结构具有高扩展性、高可靠性和低成本的优势,它被认为是最适合实现并行数据库的体系结构[4, 6]。例如,采用了MPP架构的TeraData,以多个基于SMP对称多处理器结构的从节点,构成整个系统。从节点之间采用BYNET的硬件连接,构成内部高速互联网络。TeraData具有最大程度上利用单个节点资源,能灵活配置,能以任意规模进行线性扩展的特点(http://dl.acm.org/citation.cfm?id=2655328)。Greenplum基于开源数据库PostgreSQL,采用了MPP架构,数据分布在多个分段服务器上,各自拥有和管理着整份数据的不同部分,服务器之间不存在磁盘级别的共享。因此,并不会产生数据竞争的问题(http://en.wikipedia.org/wiki/Greenplum)。Postgres-XC是基于无共享架构,针对PostgreSQL集群数据库的开源项目。它提供并行写扩展的功能,是同步的、对称的、透明的和支持多master节点的,且注重于大数据量写扩展的解决方案(http://postgres-xc.sourceforge.net/docs/1_1/intro-whatis.html)。目前已有的这些并行数据库,大部分并不支持空间数据,只有少部分的并行数据库支持部分的空间数据类型,且不包含空间算子、空间函数等;另外,Postgres-XC等数据库虽然能高效并行地处理一些SQL语句,并通过扩展空间数据类型达到并行处理空间数据的目的,但并不能很好地执行复杂的多表连接(join)查询。
为了能更好地服务于海量数据的查询任务,以传统的关系数据库为基础,底层数据库不作修改,在应用层与数据库层之间实现并行处理,对于数据的计算处理借助于底层的数据库系统来完成的半重写变换模型(SRT)[8]构建数据库中间件,设计了并行空间数据库中间件原型系统(Geospatial Database Middleware Cluster,GDMC)。该原型系统采用了大规模并行处理(MPP)架构,利用Shared Nothing无共享的特点,针对空间数据,设计了并行空间数据划分与导入、并行空间多表连接、空间数据查询优化等关键算法与模型,经实验分析能较好地解决空间数据库并行化处理海量数据的问题。

2 并行算法与策略模型

2.1 空间数据的划分与导入

数据划分是将大数据集水平划分到多个磁盘上,通过并行读写有效地利用多磁盘的I/O带宽,加快数据的存取速度。GDMC系统在保证数据规模、大小近似一致的情况下,利用轮转法、哈希法、区域法3种划分方法实现数据划分。大数据量的空间数据,特别是单个较大的空间实体在导入数据库时,相比于普通数据,其导入性能往往较低。为了解决这一问题,GDMC系统将空间数据文件批量写入缓存,并通过多线程读取缓存中的数据,将其并行地写入到从节点数据库中。
空间数据的划分与导入过程:(1)在各个从节点上创建与主表相同表结构的子表,并创建与之对应的空间索引;(2)协调者节点将来自于客户端的数据批量写入缓冲区中,导入工具启动多线程读取缓冲区的数据;(3)数据根据指定划分方法,经过划分模块(Partition Module),获得目标节点序号;(4)GDMC的引擎执行器(Engine Executor)根据节点序号,分别并行地将数据写入目标从节点数据库中(图1)。
Fig. 1 The schematic diagram of the partition and import of spatial data

图1 空间数据划分与导入示意图

2.2 多表并行连接

对于关系型空间数据库,连接查询是常用且耗费较大的数据操作之一。在并行数据库的算法研究中,已提出很多并行连接算法,可归纳为4类:并行嵌套循环连接算法、并行排序合并连接算法、并行哈希连接算法和基于特定存储结构的并行连接算法[9]
在GDMC系统中,对于不同情况下的多表连接操作,有2种不同的处理方法。
(1)分区列多表并行连接:即连接关系R的2个对象,皆为各自表的分区列。在这种连接条件下,对于一张表每个从节点上的数据与其他从节点上的数据相对独立,值相等的一组关系仅会在本地节点上存在;在其他节点上,不存在可以连接的记录。因此,其本地关系连接命中率为100%,即2个表或多表之间的连接查询在本地节点内即可完成。在各个从节点完成节点内的表连接之后,将各自的结果集传回协调者进行归并,最终格式化输出至客户端,图2展示了分区列多表连接的情况。
Fig. 2 The schematic diagram indicating the joining of multi-tables with partitioned column

图2 分区列多表并行连接

(2)非分区列空间多表并行连接:即关系R的2个对象,至少有一方不为其表的分区列。在这种情况下,2表或多表的连接查询需要进行一定的数据聚集、广播,以完成最后的归并。尤其当涉及到空间列连接时,GDMC系统的优化器将会对算子进行处理,避免在通信交换前进行额外的数据类型转化。表1图3表示了GDMC,对非分区列空间多表并行连接的步骤(以2个非分区列空间表为例,查询语句为select A.name, B.name, st_astext (A.shape) from A,B where st_within(A.shape = B.shape)=1)。
Tab. 1 Algorithm for joining un-partitioned multi-tables

表1 非分区多表并行连接算法

算法:非分区列多表并行连接
步骤1 select A.name, A.shape from A
For i=1 to Count_node(从节点数)
将表A的查询的投影列(A.name)、连接列(几何列A.shape)发送至协调者。其中,空间列以二进制BLOB对象的形式传输
end for
步骤2 create temp table tmp1(name char(20),shape st_geometry )
协调者节点将结果集打包,生成临时结果集TDR
For i=1 to Count_node(从节点数)
在各个节点上创建临时表TempA*,以及临时空间索引批量插入临时结果集TDR到各个节点的临时表
end for
步骤3 select ta.name, B.name,st_astext( ta.shape) from TempA* as ta,B where st_within(ta.shape = B.shape)=1
For i= 1 to P do(并行地)
对于各个节点,将临时表TempA*与表B进行连接操作,将结果集发送到协调者节点上
对于空间列进行st_astext数据类型转换
end for
协调者归并结果集
步骤4 协调者执行查询计划中的下一步骤(归并数据进行下一个表的连接或格式化输出至客户端)
Fig. 3 The schematic diagram indicating the joining of multi-tables with un-partitioned spatial column

图3 非分区列空间多表并行连接示意图

3 基于MPP的并行空间数据库原型系统设计

大部分学者认为Shared-Nothing无共享结构(每个节点拥有私有内存和磁盘,并且通过高速网络同其他节点互连)具备较好的扩展性[10]。为此,基于半重写变换模型,在客户端与传统的空间数据库集群之间,搭建起一套基于MPP架构的并行空间数据库中间件系统。如图4所示,GeoMPP系统总体上由4部分构成,包括客户端(Client)、协调者(Coordinator)、元数据库物理节点(Meta database),以及后端数据库从节点集群(Beyondb Cluster)。对于每个从节点,都有各自独立的计算资源(包括CPU、内存及磁盘),在每个从节点上都包含一个数据库实例,有各自的数据、索引、事务日志等。数据通过多线程导入工具,依据不同的散列函数方法,近似均匀地将数据映射到不同的数据库分区。协调者节点处理用户的SQL请求,根据分区规则或表结构的定义,将用户的请求分解为子任务交由从节点进行处理,最后将不同的结果汇总并返回给用户。GDMC原型的系统架构图如图4所示,其查询步骤如下:
(1)客户端(client)通过JDBC连接GDMC,将SQL查询语句传送给协调者(Coordinator),协调者收到请求后,通过SQL Parser模块解析SQL语句,并向元数据节点(Meta Database)请求相应的表、约束等元数据信息;(2)接着通过优化器(Optimizer)制订查询计划,形成查询计划树(Query Plan Tree),而后将这些计划任务分发至后端支持节点(Agent,从节点),各个从节点分别处理自己的子查询部分,并将查询结果返回至协调者,协调者在收到子结果集(Sub Resultset)后,对结果集做相应的处理(例如汇总排序、归并)等;(3)将总结果集格式化输出至客户端。(图4中Engine为执行引擎模块,Query Processor为查询处理器,MultiNode Executor为多节点执行器,Result Combiner为结果集归并器)
Fig. 4 The GDMC system architecture

图4 GDMC系统架构图

3.1 SQL语义解析器

SQL语义解析器(SQL Parser)分为parser、AST、VIstior 3个模块。(1)parser将输入的文本转换为抽象语法树(Abstract Syntax Tree)。parser包括Parser和Lexer 2部分,其中,Lexer实现词法分析,Parser实现语法分析。(2)AST(Abstract Syntax Tree)即抽象语法树,是Parser模块的输出结果。抽象语法树是用户输入语句的抽象语法结构的树状表现形式,随着语法分析的过程构造而成。(3)Visitor负责遍历抽象语法树。
以下是一个关于STGeometryType函数Func_ST_ GEOMETRYTYPE的例子:
Func_ST_GEOMETRYTYPE(PrintStream prn) :
{
NodeChoice n0;
NodeToken n1;
Token n2;
NodeToken n3;
Token n4;
NodeToken n5;
Token n6;
SQLArgument n7;
NodeToken n8;
Token n9;
{
}
}
{
(
(
n2=<ST_GEOMETRYTYPE_> { n1 = makeNodeToken(n2); }
{ n0 = new NodeChoice(n1, 0); }
|
n4=<GEOMETRYTYPE_> { n3 = makeNodeToken(n4); }
{ n0 = new NodeChoice(n3, 1); }
)
)
n6=<PARENTHESIS_START_> { n5 =makeNodeToken(n6); }
n7=SQLArgument(prn)
n9=<PARENTHESIS_CLOSE_> { n8 = makeNodeToken(n9); }
{ return new Func_ST_GEOMETRYTYPE(n0,n5,n7,n8); }
}
NodeChoice表示语义为A或B,NodeToken表示这个token是一个语义树的节点,SQLArgument表示的是一组表达式参数。

3.2 查询处理器与多节点执行器

查询处理器Query Processor(QP)储存了经过查询计划器优化后的查询步骤,然后将这些查询步骤以消息队列的形式发送给多节点查询执行器;多节点查询执行器将子步骤逐步发送给节点生产 者线程Node Producer Thread(NPT),这些NPT是 由调度器根据QP以及调度规则进行分派和回收的。NPT得到消息后,通过向连接池Connection Pool 发出申请,与后端集群建立连接,将所得到消息利用JDBC传递到对应的后端集群上。后端集群接收到子操作命令后,进行本地的任务计算,最后将结果集传递回协调者的节点线程Node Thread,Node Thread再将这些子步骤的结果返回给QP,并等待下一步的查询步骤或由线程池Thread Pool回收(图5)。
Fig. 5 The diagram of query processor and multi-nodes executor

图5 查询处理器与多节点执行器示例图

4 原型系统的实验与分析

实验以某地区土地利用分类的矢量数据及该地区的行政区划图,建立空间数据仓库查询挖掘业务,在基于无共享架构并行空间数据库中间系统上进行空间数据的加载导入,通过在不同节点个数部署的条件下,对于并行导入、并行选择,模拟实际地图操作框选,对大数据量空间分析复杂查询等进行测试,验证GDMC原型系统的性能表现。

4.1 实验环境与实验数据

实验的并行集群机器包含1个协调者节点及4个从节点,所有节点通过一台D-Link DGS-1024 T网络交换机进行网络通信,且都在CentOS 6.4操作系统及JDK 1.7.0环境下运行。每个从节点上分别部署Beyondb高可信空间数据库。实验数据采用某地区土地利用分类矢量数据,共10 454 350条记录合计36 GB,以及该地区及其周边的的行政区划图共2907条记录合计30 MB。实验的数据划分方法为属性列哈希法,即对于属性列进行哈希划分。具体的硬件配置及逻辑组网结构图分别见表2图6
Tab. 2 System hardware specifications

表2 系统的硬件配置

节点名 硬件配置 操作系统/JDK版本 数量/台 设备用途
协调节点 CPU:I7-3610 QM
内存:8 GB
CentOS 6.4/
JDK 1.7.0
1 管理后端支持节点,解析SQL语句,制定查询计划,归并查询结果
后端从节点 CPU:I3-3220
内存:4 GB
CentOS 6.4/
JDK 1.7.0
4 提供数据库计算功能,返回子查询结果集
物理元数据库节点 CPU:I5-2400
内存: 6 GB
CentOS 6.4/
JDK 1.7.0
1 提供数据库元数据信息。包括表、视图、约束等元数据
客户端节点 CPU:I7-3610 QM
内存: 8 GB
CentOS 6.4/
JDK 1.7.0
1 输入SQL查询语句,输出查询结果
Fig. 6 The diagram of GDMC system’s logical networking

图6 GDMC系统的逻辑组网

4.2 实验结果分析

(1)GDMC系统的空间数据并行加载导入实验(哈希散列法)
矢量数据的并行入库利用单客户端多线程并发读取空间数据文件(Shapefile),并通过属性列哈希法,分别将土地利用分类矢量数据(共10 454 350个目标),以及分级区划图导入从节点空间数据库中。其中,4个从节点导入土地利用分类矢量数据的耗时为13 076 s,约合3.6 h。单节点导入相同数据所耗时间约合10.6 h。
(2)GDMC系统的属性条件查询实验
本实验根据矢量数据中的标注分类,查询返回指定土地类型的空间实体及其属性,并通过属性过滤,分别选取了不同数量级的查询结果进行对比,其结果如图7所示。
Fig. 7 The diagram of the parallel selection query experiment of GDMC system

图7 系统的并行选择查询实验结果图(四节点)

查询语句为:select type, tag, st_astext(shape) from landuse where type = 2
实验结果可看出,对于返回记录数较多、且单条记录数较大的查询任务,由于需要将数据结果从支持节点传递至协调者,节点间的数据通信消耗比数据量逐渐增大的情况得到放大,因此,其加速比在数据量越来越大的情况下有小规模的下降。
(3)GDMC系统的空间条件查询实验
本实验随机选取不同大小、位置的查询窗口,以验证GDMC系统在空间条件查询上的性能表现,以及经过属性列哈希法划分后的空间数据,在空间条件查询时是否存在数据偏斜的问题。
实验(1):统计查询不同大小窗口内的记录条数
查询语句为:Select count(*) from landuse where st_within (lu.shape, st_geomfromtext('polygon()’)=1
图8所示,根据实验结果看出,在查询的返回数据量较小时,GDMC系统对于空间条件查询效率是接近于线性加速比。另外,值得注意的是,在本实验中,当数据库处理查询消耗时间较小且返回结果集较少时(如本实验中的count(*)操作),其实验结果出现了一定程度的波动,这是因数据库对此类型条件的查询,有一定页面大小的缓存。对处在大于一个缓存页面及小于节点数个的缓存页面的数据(如频繁使用的小规模的热点数据),系统能并行地读取这部分缓存页面。因此,对处于这种条件下的查询,系统有较高的查询效率。
Fig. 8 The result diagram of the experiment for querying data in different sizes of query windows

图8 统计查询不同大小窗口内的记录条数实验结果图

实验(2):统计查询不同大小窗口内的记录条数
查询语句为:Select pid,st_astext(shape) from landuse where st_within (lu.shape,st_geomfromtext('polygon()’)=1
实验结果表明(图(9)),当查询返回查询窗口中所有的空间实体时,其空间条件查询响应时间总体近似线性。同时,对于不同的查询窗口,其空间条件查询性能趋于稳定,系统的并行性没有受到影响。因此,在经过属性列哈希法划分后的空间数据,在空间条件查询时并不存在数据偏斜的问题。
Fig. 9 The result diagram of the experiment for querying all the spatial objects in different sizes of query windows

图9 系统查询遍历窗口中所有空间实体的实验结果图

(4) GDMC系统的多表连接查询实验
本实验参与连接的表数据来源分别为某地区土地利用矢量数据和该地区的分级行政区划图,表之间的连接通过空间关系进行连接(st_within(lu.shp,cty.shape)=1),其具体的查询语句为:
select count(*)/sum(st_area(lu.shape)) from boua_cnty100 as cty, shape_lu as lu where cty.pac > 652826 and cty.pac < 652830 and lu.tag = 4 and st_within(lu.shape,cty.shape)=1
实验(3):分别对使用单数据库存储和部署四节点无共享并行计算架构进行测试,根据区划地图的邮政编码,查询统计属于该地区的记录行数(表3)。
Tab. 3 Statistics showing the results for querying the number of records that belong to a specified region

表3 查询统计属于某地区的记录行数

结果集记录数 / 条 单节点萍执行平均时间 / s 四节点执行平均时间 / s
130 000 383.312 100.269
实验(4):分别对使用单数据库存储和部署四节点无共享并行计算架构进行测试,根据区划地图的邮政编码,连表查询该地区土地利用类型为裸图的总面积(表4)。其中,该地区的土地利用类型为裸图的记录条数为1.1万条。
从实验结果看,对于大数据量多表连接的任务需求,其实验结果有着超线性的表现,四节点环境的线性加速比达到了5.4。该结果有2方面的原因:(1)对于空间表的连接,数据库根据表的数量级不同有着不同的查询策略;(2)由于数据散列分布,表的数量级有着一定规模的下降,而随着数据规模的减小,其连接命中性能有着较大的提升。
Tab. 4 The result for querying the total area of bare soil in a specified region

表4 查询某地区土地利用类型为裸土的总面积

单节点执行平均时间 / s 四节点执行平均时间 / s
307.3 56.32

5 结语

空间海量数据的高性能管理与并行化计算,是未来海量空间数据管理与分析的一个方向。基于MPP无共享架构的并行空间数据库中间件系统为此提供了一套很好的解决方法。从实验结果可看出,GDMC原型系统的性能表现良好,空间数据分布较均匀,总体上接近于线性加速的查询效率。特别是,GDMC原型系统,对于大数据量多表连接的任务需求,实验结果表现较好,有超线性的加速比。今后的工作主要是对一些多表连接进行策略上的调整,减少通信量和不必要的重复操作;对系统的锁、缓存机制做一定程度的修改(如MVCC等),增强系统的并发能力;同时,增加相应的心跳检测机制,以增强系统的鲁棒性,及扩大系统的应用能力。

The authors have declared that no competing interests exist.

[1]
雷德龙,郭殿升,陈崇成,等.基于MongoDB 的矢量空间数据云存储与处理系统[J].地球信息科学学报,2014,16(4):507-516.<p>近年来,海量空间数据存储与处理日益成为地理信息科学领域的研究热点。其中,矢量空间数据更因其较高的复杂性,成为该类研究的重点问题。本文基于文档数据库,探究了多用户数据存储、矢量空间数据存储、海量矢量空间数据并行处理等问题,给出了存储和处理矢量空间数据的方法。在三层式云存储架构基础上,设计并实现了矢量空间数据云存储与处理系统VectorDB,达到了海量矢量空间数据的高效存储与处理要求。系统采用文档数据库MongoDB存储矢量空间数据,使用OGR库实现不同格式矢量空间数据的转换与存储,并用Hadoop对数据库中的数据进行并行计算,以及用mongo-hadoop 作为MongoDB与Hadoop 之间的连接器。通过实验对比了VectorDB与PostGIS 的矢量空间数据读写性能,并分析了VectorDB 与MongoDB 在海量数据并行处理性能方面的差异。结果表明:VectorDB 具有更好的读取性能和海量数据处理性能,适合多用户不同格式、不同属性矢量空间数据存储,对海量矢量数据存储与处理问题具有参考价值。</p>

DOI

[ Lei D L, Guo D S, Chen C C, et al.Vector spatial data cloud storage and processing based on MongoDB[J]. Journal of Geo-information Science, 2014,16(4):507-516. ]

[2]
龚健雅. 空间数据库管理统的概念与发展趋势[J].测绘科学,2001,26(3):4-9.

[ Gong J Y.Concepts and development of spatial database management system[J]. Science of Surveying and Mapping, 2001,26(3):4-9. ]

[3]
Stonebraker M.SQL databases v. NoSQL databases[J]. Communications of the ACM, 2010,53(4):10-11.The Communications Web site, http://cacm.acm.org, features more than a dozen bloggers in the BLOG@CACM community. In each issue of Communications, we'll publish excerpts from selected posts.twitterFollow us on Twitter at http://twitter.com/blogCACMMichael Stonebraker considers several performance arguments in favor of NoSQL databases---and finds them insufficient.

DOI

[4]
范协裕,任应超,邓富亮,等.基于代理的并行空间查询语言[J].计算机工程,2013,39(11):61-64.目前针对并行空间数据处理的研 究主要集中在空间数据划分及其在其基础上的并行空间算法,对空间并行数据库平台本身的可用性,如应用程序的开发模式、高并发请求支持等研究较少。为此,对 开源并行关系数据库查询语言进行空间查询扩展,提出一种基于代理的并行空间查询语言,并实现相应的并行数据库平台原型。基于该平台开发标准的网络地图绘图 服务,在高并发环境下使用该服务对海量矢量数据进行实时渲染。实验结果表明,该平台具有与传统关系数据库一致的开发应用模式,可提供无缝的衔接方式,在海 量数据高并发的情况下具有较高的可用性及查询性能。

DOI

[ Fan X Y, Ren Y C, Deng F L, et al.Parallel spatial query language based on proxy[J]. Computer Engineering, 2013,39(11):61-64. ]

[5]
柳锴,唐雨新,张云泉,等.基于机群架构的并行数据库实现技术研究[J].计算机工程与设计,2008,29(3):526-529.在总结了现有并行数据库实现模型的基础上,基于"半重写变换"模 型[1]实现了一个并行数据库系统的原型.通过对数据划分/重划分、并行选择、并行排序、并行连接等关键操作的实验分析,指出了.半重写变换"模型存在的 缺陷,并提出了一种混合式的改进模型.从理论上说,在机群架构下实现并行数据库系统,这种混合模型较单一模型更有优势.

[ Liu K, Tang Y X, Zhan Y Q, et al.Research on implementation technology of cluster parallel database system[J]. Computer Engineering and Design, 2008,29(3):526-529. ]

[6]
汪永琳,郑若忠.并行数据库系统实现技术的研究[J].陕西工学院学报,2000,16(2):10-12.在分析并行数据库现有的两种模型的基础上 ,提出了半重写变换模型 (简称SRT)。并给出了和Oracle系统采用的扩充模型的对比情况

DOI

[ Wang Y L, Liu Q, Zheng R_Z. Study of implementation techniques for parallel database systems[J]. Journal of Shaanxi Institute of Technology, 2000,16(2):10-12. ]

[7]
陈虎,张云泉,柳锴,等.基于机群架构的并行数据库中间件系统改进研究[J].计算机研究与发展,2007(z3):142-146.基于机群架构的高性能计算机已经被应用到很多领域,如大气预测、油藏模 拟、CFD仿真模拟和Web服务等.随着数据量的爆炸式增长,传统的集中式的数据库系统已经难以满足各种应用的需求,基于机群式架构的并行数据库系统为增 强海量数据的存储以及处理能力提供了一种途径.对以前实现的一个基于机群架构的并行数据库中间件系统ParaMidSQL进行了改进.通过对并行选择、并 行排序、并行连接等关键操作的测试,给出对并行数据库中间件系统改进后的性能分析.

[ Chen H, Zhang Y Q, Liu K,et al. Research on improvement of parallel middleware for SQL on beowulf cluster[J]. Journal of Computer Research and Development, 2007(z3):142-146. ]

[8]
贾婷,魏祖宽,唐曙光,等.一种面向并行空间查询的数据划分方法[J].计算机科学,2010,37(8):198-200.在并行空间数据库中,空间数据 集在各计算节点是否聚集划分,对提高空间并行查询效率起着关键的作用。Oracle Spatial采用的基于格网的划分方法只考虑了数据集在各节点是否均衡划分,而未考虑空间数据的拓扑特征。基于空间数据聚集划分的目的,提出了一种基于 K-平均聚类算法的空间数据划分方法。实验证明,该方法极大地提高了空间数据并行检索和查询效率。

DOI

[ Jia T, Wei Z K, Tang S G, et al.New spatial data partition approach for spatial data query[J]. Computer Science, 2010,37(8):198-200. ]

[9]
周胜. 并行数据库系统 PBASE/3 数据缓冲技术研究[D].北京:北京中国科学院研究生院(计算技术研究所), 2000.

[ Zhou S.The buffering techniques in parallel database system PBASE/3[D]. Beijing: Institute of Computing Technology, Chinese Academy of Sciences, 2000. ]

[10]
王珊,王会举,覃雄派.架构大数据:挑战,现状与展望[J].计算机学报,2011,34(10):1741-1752.大数据分析相比于传统的数据仓库应用,具有数据量大、查询分析复杂等特点.为了设计适合大数据分析的数据仓库架构,文中列举了大数据分析平台需要具备的几个重要特性,对当前的主流实现平台——并行数据库、MapReduce及基于两者的混合架构进行了分析归纳,指出了各自的优势及不足,同时也对各个方向的研究现状及作者在大数据分析方面的努力进行了介绍,对未来研究做了展望.

DOI

[ Wang S, Wang H J, Qin X P, et al.Architecting big data: challenges, studies and forecasts[J]. Chinese Journal of Computers, 2011,34(10):1741-1752. ]

[11]
刘宇,孙莉.并行空间连接查询处理[J].上海交通大学学报,2002,36(4):512-515.基于顺序空间连接查询的效率不能令人满意,利用并行机制提高空间连接查询效率.空间连接查询的并行处理方法最重要的特征是任务分配根据多路平面扫描顺序, 避免了连接处理过程中处理器之间的通信花费.提出基于空间连接花费模型的任务分配方法和基于花费估计的动态任务分配策略,并给出了花费模型.该模型经实际 应用效果明显.

DOI

[ Liu Y, Sun L, Tian Y Q.Parallel spatial join query processing[J]. Journal of Shanhai Jiaotong University, 2002,36(4):512-515. ]

[12]
蔡亚杰,赵政文,白松,等.并行数据库基于多连接的查询优化算法的研究[J].计算机应用与软件, 2012,12:52. 多表连接查询是并行数据库中的一种常用且重要的操作,然而基于传统遗传算法所制定的多表连接查询计划,往往存在查询响应时间长的缺陷.根据无共享并行数据 库的特点,将一种新的代价估计模型引入到传统遗传算法中,并对传统遗传算法进行了改进.实验证明改进后的遗传算法能制定出更优的查询计划,从而减少多表连 接时的查询响应时间.

DOI

[ Cai Y J, Zhao Z W, Bai S, et al. On query optimization algorithm based on multi-table join for parallel database[J]. Computer Applications and Software, 2012,12:52. ]

[13]
王永杰,洪新兰,孙伟.基于并行空间数据库和 GML 的 WebGIS 系统的研究与实现[J].测绘科学,2007,32(4):131-132.目前,对海量空间数据的快速处理与地理信息的互操作问题正制约着 WebGIS的进一步发展和应用.作者对并行空间数据库和GML技术进行了探讨与研究,并采用并行空间数据库存储和管理GIS数据、GML作为其在因特网 上地理信息的传输数据格式,设计和实现了一个基于WebService的WebGIS系统,取得了良好的应用效果.

DOI

[ Wang Y J, Hong X L, Sun W.Research and realization of WebGIS based on parallel spatial database and GML[J]. Science of Surveying and Mapping, 2007,32(4):131-132. ]

[14]
文继荣,陈红.Shared-nothing 并行数据库系统查询优化技术[J].计算机学报,2000,23(1):28-38.查询优化是并行数据库系统的核 心技术 .该文介绍作者自行研制的一个 Shared- nothing并行数据库系统PBA SE/ 2中独特的两阶段优化策略 .为了缩减并行查询优化庞大的搜索空间 ,PBASE/ 2将并行查询优化划分为顺序优化和并行化两个阶段 .在顺序优化阶段对并行化后的通信代价进行预先估算 ,将通信开销加入顺序优化的代价模型 ,同时对动态规划搜索算法进行了修正和扩展 ,保证了顺序优化阶段得到的最小代价计划在并行化后代价仍然最小 .并行化阶段的优化目标是实现查询工作量在系统内多种资源上的负载平衡 ,提出了资源负载平衡因子的概念 ,并且通过启发式规则、任务调度等机制保证了并行查询执行计划的优化性 .

DOI

[ Wen J R, Chen H, Wang S.Query optimization techniques of a shared-nothing parallel database system[J]. Chinese Journal of Computers, 2000,23(1):28-38. ]

[15]
许新华,唐胜群,宋振云,等.并行数据库查询优化技术的最新进展[J].计算机工程与设计,2009(16):3814-3819.传统的查询树及基于多重加权树的查询优化方法,研究得比较成熟, 语义查询优化方法将一个查询变换成一个或数个语义等价的查询,基于Agent的并行数据库查询优化采用Multi-Agent技术自动查找与给定查询有关 的完整性约束条件,使得多个关系间连接操作的效率得到很大地提高.并行数据库的查询优化领域的3个重要方向为基于机群系统的并行数据库查询优化研究,将 MAS技术及专家系统引入本领域,将模拟退火算法及神经网络算法引入本领域.

[ Xu X H, Tang S Q, Song Z Y, et al.Latest developments on parallel database query optimization[J]. Computer Engineering and Design, 2009,16:3814-3819. ]

[16]
程昌秀. 空间数据库管理系统概论[M].科学出版社,2012.

[ Cheng C X.Introduction to spatial database management systems[M]. Beijing: Science Press, 2012. ]

[17]
周光明. DB2并行数据库核心技术探究[J].电子制作,2013,9:69.DB2并行数据库系统当前在银行业的许多核心业务系统中被广泛使用,本文力求以一种创新性的逻辑思路,系统化地从并行数据库系统的本质、目标、原则、方法、逻辑结构模型、物理结构模型等方面对DB2并行数据库系统的核心技术进行研究与分析,以期更好地指导DB2应用实践。

[ Zhou G M.Research for core techniques of parallel spatial database[J]. Practical Electronics, 2013,9:69. ]

[18]
Li C, Yang J, Han J, et al.The distributed storage system based on MPP for mass data[C]. 2012 IEEE Asia-Pacific Services Computing Conference (APSCC), 2012:384-387.

[19]
Alam S R, Agarwal P K, Kuehn J A.Performance evaluation of a scalable molecular dynamics simulation framework on a massively-parallel system[C]. Proceedings of the 7th IEEE International Conference on Bioinformatics and Bioengineering, 2007:1459-1466.

[20]
颜勋,陈荣国,程昌秀,等.内嵌式空间数据库优化器代价评估框架及实现[J].武汉大学学报 (信息科学版),2011,36(6):726-730.传统的优化器缺乏空间数据分布统计信息和空间算子的支持,不能评估和生成有效的查询执行计划。对此,提出了包含空间执行算子的一体化评估框架,根据重要属性及元组流属性实现了执行计划自底向上的代价推演计算。通过服务器端编程实现了利用概率累计扩展空间直方图模型描述空间数据的统计信息,并通过优化器接口计算空间谓词选择率,为优化器提供更为准确的代价参数,改进了评估的准确度。实验结果表明,采用此方法进行涉及空间查询的计算,理论代价估计与实际执行代价具有相对一致性,在统计值完整的情况下能够准确地估算实际较优的执行计划。

[ Yan X, Chen R G, Cheng C X, et al.Optimizer cost estimation framework and implementation for spatially-enabled database[J]. Geomatics and Information Science of Wuhan University, 2011,36(6):726-730. ]

[21]
Welch M C, Kwan P W, Sajeev A S M. Applying GIS and high performance agent-based simulation for managing an Old World Screwworm fly invasion of Australia[J]. Acta tropica, 2014,138: S82-S93.Agent-based modelling has proven to be a promising approach for developing rich simulations for complex phenomena that provide decision support functions across a broad range of areas including biological, social and agricultural sciences. This paper demonstrates how high performance computing technologies, namely General-Purpose Computing on Graphics Processing Units (GPGPU), and commercial Geographic Information Systems (GIS) can be applied to develop a national scale, agent-based simulation of an incursion of Old World Screwworm fly (OWS fly) into the Australian mainland. The development of this simulation model leverages the combination of massively data-parallel processing capabilities supported by NVidia's Compute Unified Device Architecture (CUDA) and the advanced spatial visualisation capabilities of GIS. These technologies have enabled the implementation of an individual-based, stochastic lifecycle and dispersal algorithm for the OWS fly invasion. The simulation model draws upon a wide range of biological data as input to stochastically determine the reproduction and survival of the OWS fly through the different stages of its lifecycle and dispersal of gravid females. Through this model, a highly efficient computational platform has been developed for studying the effectiveness of control and mitigation strategies and their associated economic impact on livestock industries can be materialised.

DOI PMID

[22]
高昂,陈荣国,赵彦庆,等.空间数据访问集成与分布式空间数据源对象查询[J].地球信息科学学报,2010,12(4):532-540.目前,针对空间数据库的访问与处理方法,无法满足分布式环境下异构数据源的服务化存取和面向空间数据源的对象查询处理需求。本文给出了数据网格环境下的分布式空间数据访问与查询的方法和实现,并在服务化查询处理过程中,嵌入符合SQL/MM查询规范的空间拓展函数,实现分布式空间数据对象查询和嵌入查询过程中的空间数据分析处理。在此基础上,给出空间数据对象查询树的构造过程,以及分布式空间查询工作流的执行流程。数据访问与集成策略在空间数据处理上的应用,对异构空间数据源协同处理等,涉及大规模空间数据存取访问的应用需求,有很好的理论和实际应用价值。

[ Gao A, Chen R G, Zhao Y Q, et al.Access and integration on geospatial data and its distributed query[J]. Journal of Geo-information Science, 2010,12(4):532-540. ]

[23]
范娟娟,海洋,高明星,等.基于分布式存储与并行计算架构的历史数据库分析解决方案[J].中国铁路,2014(7):60-63.铁路运输管理信息系统保存接近20年的铁路货票、确报、贷车追踪 等历史信息,数据量非常大,超过30 TB.在实际使用中,针对历史数据的查询次数比较密集,分析维度多,条件组合多,速度要求高.现有服务器加SAN存储的传统架构,其蒂宽瓶颈不适合历史数 据库的分析性能要求,因此提出一种基于分布式存储与并行计算架构的新方法,用以解决历史数据库的性能瓶颈问题,并通过实际测试数据,证明分布式存储与并行 计算架构对历史数据库查询速度的提升.

DOI

[ Fan J J, Hai Y, Gao M X, et al.The solution for historical database based on distributed storage and parallel computing[J].Chinese Railways, 2014,7:60-63. ]

Outlines

/