地理空间数据库性能优化原则研究

2016-12-28 08:41张伟伟
地理空间信息 2016年12期
关键词:数据文件空间数据磁盘

张伟伟,高 峰,乐 恒

(1.宁波市规划与地理信息中心,浙江 宁波 315042)

地理空间数据库性能优化原则研究

张伟伟1,高 峰1,乐 恒1

(1.宁波市规划与地理信息中心,浙江 宁波 315042)

以提高企业级地理空间数据库效率为出发点,总结了Oracle数据库与ArcSDE软件性能优化的原则,结合实际给出了数据库性能优化的一些建议,并将上述原则应用于海量地理空间数据库的优化,有效提升了数据库性能。

地理空间数据库;Oracle性能优化;ArcSDE性能优化

地理信息系统是当前智慧城市建设的核心技术,其应用已延伸到城市建设与管理的各个角落,范围覆盖了规划、国土、交通、电力、水利等领域。随着智慧城市建设的逐步推进,积累的空间数据种类日益丰富,数据规模也直线上升,如何高效管理和使用海量空间数据,实现空间数据库的高性能部署与安全运维管理是项目设计与运维人员关注的热点。由于空间数据的复杂性与非结构化特征,使得地理空间数据库的存储与管理也相对复杂。围绕着空间数据库技术的研究主要从空间数据库的理论、设计、应用及性能优化4个方面开展。文献[1,2]从空间数据库的理论角度描述了空间数据库的基本特征、结构及内容;文献[1,3,4]从空间数据库设计方面论述了空间数据库管理系统的技术革新历程及空间数据库的常用模型;文献[3,5-8]描述了使用空间数据库技术解决特定领域问题的典型案例;文献[9,10]从空间数据库的存储、运维角度总结了数据库性能提升的方法。

地理空间数据的管理经历了由传统的文件系统方式到对象关系数据库方式的过程,在数据管理能力上,从小数据量管理向海量数据管理发展[3]。在当前大数据背景下,针对空间图形数据与属性数据统一存储与管理的应用需求,常用的两种解决方案是:①空间数据库扩展技术,如Oracle数据库的Oracle Spatial和Informix数据库的Spatial DataBlade技术;②中间件技术,如ESRI公司的ArcSDE和MapInfo公司的SpatialWare等产品。数据库+中间件(空间数据引擎)的空间数据存储与管理解决方案占据主流,其中以Oracle数据库+ArcSDE中间件模式最为常用,本文也以此为例,总结了地理空间数据库性能优化的主要技术原则。

1 Oracle+ArcSDE体系结构

商业数据库与GIS中间件技术相结合改变了传统GIS的应用模式,为空间数据一体化管理提供了高效、稳定的解决方案,较好地解决了多用户在线编辑、数据完整性和数据安全等核心问题。在Oracle+ArcSDE的存储模式下,Oracle数据库是数据存储的容器,ArcSDE中间件则是空间数据的存取通道。图1是Oracle数据库+ArcSDE中间件的体系结构[11]。

图1 ArcSDE软件体系结构

2 Oracle数据库配置优化

Oracle数据库系统由实例和数据库两大部分组成[12],如图2所示。数据库实例优化的出发点是减少磁盘读写次数,数据库文件优化的出发点是平衡磁盘读写压力。

图2 Oracle数据库体系结构

2.1 数据库实例优化

数据库实例由共享池、数据缓冲区、日志缓冲区等组成[12],其优化方法重点有以下几个方面。

1)共享池优化。共享池由两个缓冲区组成,分别是库缓冲区和数据字典缓冲区,其作用是存放频繁使用的SQL语句和数据字典对象。要提高共享池命中率需遵循以下原则:①SQL语句类型较多,适当增加共享池容量,以减少SQL语句硬解析。②将重用率高的SQL语句保留在库缓存中,以提高库缓存命中率。③ 为大规模PL/SQL程序对象预留空间,增大共享池保留区大小,将这些较大对象放入其中。④将一些常用的数据字典保留在数据字典缓冲区。

2)数据缓冲区优化。数据缓冲区是用于存储用户请求的数据,如果请求的数据已经在缓冲区中,Oracle数据库会直接从缓冲区读取该数据返回给用户,而不需要重新从磁盘文件读取,因此,在这种机制下,数据查询所需时间将以几个数量级减少。其优化主要遵循以下几个原则:①对读写较为频繁的数据库适当增加其缓冲区容量。②使用多个缓冲池,并将不同访问模式的数据对象放到不同缓冲池中,例如将规模较大的表存放在recycle pool,以免将部分热块从default pool中移除。③将一些常用且规模较小的表保留在内存中。

3)日志缓冲区优化。日志缓冲区用于记录数据块的修改信息。数据编辑操作会产生重做记录,Oracle数据库系统默认先将这些重做记录写入日志缓冲区,在日志缓冲区达到一定大小或发生检查点时,再将其内容写入磁盘上的日志文件。其优化主要遵循以下两个原则:①增加读写较为频繁的数据库日志缓冲区大小。②降低检查点发生的频率,减少写日志文件的次数。

4)Java池。当应用程序需要在数据库中运行Java存储过程时需要使用Java池,此池用作实例化Java对象所需的堆空间。因此,对于用到Java语言编写存储过程的数据库则需要适当调整其容量。

5)大型池。如果使用的数据库服务器是共享模式或并行模式,或者将数据备份到磁带设备时,需要对大型池进行适当调整。

2.2 数据库文件优化

Oracle数据库文件由数据文件、控制文件、日志文件3大文件系统组成,具体优化原则如下:

1)数据文件存储优化。数据文件存储优化的出发点是通过重新组织数据文件,实现数据读写压力分流,提升数据库并发访问效率。数据文件存储优化可以将大数据文件拆分,并将热点数据文件存放在不同磁盘来实现。有效的数据文件拆分与分开存储需要从整体上考虑两个因素:数据量和访问频率,访问频率高且规模大的数据存储在一个或多个数据文件中,并存放在不同的物理硬盘。

2)重做日志文件存储优化。重做日志文件存储优化的出发点是提高写日志的效率,并保障数据库的安全稳定。写日志效率可以通过创建多组重做日志并保证日志文件容量足够大来提高,这样可避免频繁的日志切换;提高数据库安全性可以通过在日志文件组中增加组成员,并将这些成员存放在不同物理磁盘来实现,组成员的数据内容完全相同,当一块物理磁盘的日志文件损坏后,数据库实例仍能够访问其他物理磁盘的日志文件,从而保证数据库正常运行。

重做日志文件组数和组成员数过多会造成写日志耗费较多系统资源,一般情况下,重做日志文件组数为3组且每组成员个数为3个较为合适。

3)控制文件存储优化。控制文件存储调整的出发点是保障其安全,可以通过复制多个控制文件到不同物理磁盘来实现,当一个物理磁盘的控制文件损坏时,数据库实例仍能够访问其他磁盘的控制文件,从而保证数据库正常运行。

理论上控制文件个数最多为8个,但并不是越多越好,因为当 Oracle 更新控制文件时,会将所有控制文件全部进行更新,影响数据库性能,建议控制文件复制3份并存放在不同的物理磁盘。

3 ArcSDE中间件配置优化

基于Oracle+ArcSDE模式存储的空间数据在数据库中由一系列数据表共同组成,在默认情况下,所有系统表和数据表都统一存储在一个表空间。空间索引、数据库版本编辑等因素也会影响数据库并发访问性能。

1)表存储优化。通过ArcSDE存储的空间数据由 B表(Business Table)、F表(Feature Table)、S表(Spatial Index Table)和Oracle索引表共同组成[12],默认情况下这些表存储在同一个数据文件,这样会导致数据读写过程中会出现较多等待事件,降低读写效率。ArcSDE数据存储遵循减少I/O冲突原则,具体解决方法是将空间数据的B表、F表、S表和Oracle索引分配到不同的数据文件,并按照读写频率分不同物理磁盘组合存放。

2)空间索引优化。ArcSDE空间数据库体系使用空间索引机制,这样能够有效提高数据访问效率,对于更新较为频繁的数据,需要定期更新空间索引,对一些数据量较大的要素类建立二级索引。

3)版本管理优化。版本数据库在不断编辑过程中会产生较多的冗余信息,影响数据库查询、编辑效率,需要使用版本压缩技术清除冗余信息。

4 结 语

地理空间数据库性能直接影响着各应用系统的数据读写效率,默认的软件配置在性能表现方面并不理想,必须对其进行优化才能发挥其最大作用。笔者以Oracle数据库和ArcSDE中间件的体系结构为基础,以减少磁盘读写次数和平衡磁盘读写压力为原则,分析了各组成部分对地理空间数据库性能的影响,并结合实践经验提出了整体的性能优化原则。

地理空间数据库规模不断扩大,其应用需求也在不断变化,这就决定了地理空间数据库的性能优化将是一项系统的、长期的工程。本文给出的这些方法只是一些指导性的原则,并没有给出各参数的具体数值,应用时需要根据各阶段的数据资源特点及其访问情况进行调整。

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

[2] 东凯,方裕.空间数据库模型概念与结构研究[J].地理信息世界, 2004,2(2): 8-16

[3] 李德仁,彭明军,邵振峰.基于空间数据库的城市网格化管理与服务系统的设计与实现[J].武汉大学学报(信息科学版),2006,31(6):471-475

[4] 龚建雅,朱欣焰.面向对象集成空间数据库管理系统的设计与实现[J].武汉测绘科技大学学报,2000,25(4):289-293

[5] 谭德宝,程学军.基于ArcSDE+ Oracle 9i 的防洪减灾综合数据库的构建及应用[J]. 武汉大学学报(信息科学版), 2006, 31(1): 90-93

[6] 张旭晴,于小平,杨国东,等.基于 ArcSDE的空间基础数据库设计与实现[J].测绘与空间地理信息,2008,30(6):79-81

[7] 熊丽华,杨峰.基于ArcSDE的空间数据库技术的应用研究[J].计算机应用,2004, 24(3):90-91

[8] 杨金玲,曹先革,刘璐璐.基于ArcSDE的数字城市规划空间数据库设计与实现[J].测绘与空间地理信息,2010,33(4):16-18

[9] 邓中亮,马英俊.基于Oracle 数据库与ArcSDE的空间数据存取优化[J].软件,2011, 32(2):78-80

[10] 马妮,李维功.ArcSDE for Oracle优化实践[J].测绘通报,2007(10):50-53

[11] WEST R.Understanding ArcSDE: GIS by ESRI[M].Esri Press,2001

[12] 盖国强,冯春培,叶梁,等.Oracle 数据库性能优化[M].北京:人民邮电出版社, 2005

本 刊 声 明

为适应我国信息化建设,扩大本刊及作者知识信息交流渠道,本刊数据已被《中国核心期刊(遴选)数据库》《CNKI 中国期刊全文数据库》和《中文科技期刊数据库(全文版)》等收录。在《地理空间信息》发表的论文均默认将其在著作权保护期内的复制权、发行权、汇编权、翻译权以及网络传播权授权给《地理空间信息》编辑部,编辑部可将上述权利转授给第三方使用。作者不再许可他人以任何形式使用该篇论文,但可以在其后续作品中引用(或翻译)该论文中部分内容或将其汇编在作者的非期刊类文集中。如不同意,请事先声明,本刊另作处理。其文章的著作权使用费与本刊稿酬一次性给付(已在收取发表费时折减和换算为杂志赠阅)。

(本刊编辑部)

P208

B

1672-4623(2016)12-0021-03

10.3969/j.issn.1672-4623.2016.12.008

张伟伟,工程师,研究方向为地理空间数据管理、空间数据挖掘与应用。

2015-01-21。

项目来源:宁波市规划局2012年基础测绘指令性项目。

猜你喜欢
数据文件空间数据磁盘
叶腊石聚合成型及其旋转磁盘的制作方法
解决Windows磁盘签名冲突
GIS空间数据与地图制图融合技术
修改磁盘属性
数据文件恢复专题问答
数据文件安全管控技术的研究与实现
SQL数据文件恢复工具
磁盘组群组及iSCSI Target设置
网格化存储的几项关键技术分析