http://www.gissky.net- GIS空间站

我要投稿 投稿指南 RSS订阅 网站资讯通告:
搜索: 您现在的位置: GIS空间站 >> 技术专栏 >> 数据库 >> 正文

浅谈优化空间数据库的几种方案

作者:xubt,fl…    文章来源:www.gisforum.net    点击数:    更新时间:2007-1-14
摘要:空间数据库是基于大型关系型数据库系统,存储和管理海量空间数据的技术,是地理信息系统的重要组成部分,也是GIS应用项目的重要基础。大数据量的空间数据库的访问性能是制约应用系统运行和推广的一个重要因素,本文从四个方面推荐在SuperMap软件中一些常用的空间数据库优化手段,分享一些项目的优化经验。

1.1 数据组织与存储

1.1.1 尽量减少数据源个数

  在需要管理多比例尺、多区域的空间数据的项目中,有时候您会选择使用多个数据源来组织数据,这并不是一个好的办法,主要原因包括:

  (1)多个数据源使用一个工作空间来管理,在打开的时候需要多次连接数据库,速度会比较慢;

  (2)在多用户并发的时候,由于数据库本身的连接数也有限制,数据源过多也可能导致数据源连接失败。

  建议数据源的个数控制在20个以内。

1.1.2 采用合适的编码方式存储矢量和栅格数据

采用合适的编码方式存储数据可以大大缩减数据的存储空间,不仅可以节省硬盘空间,更重要的是可以减少网络传输量,是一个很好的优化数据库访问性能的办法。

  (1)对于矢量数据,可以采用SDC、SWC两种编码方式,使用SDC编码方式存储矢量数据可将存储空间压缩为原始空间的1/2,使用SWC编码方式存储矢量数据可将存储空间压缩为原始空间的1/4。

  这里需要注意的是,两种编码方式都是有损压缩,SDC编码方式的损失率为1/20亿,SWC编码方式的损失率为1/65536,您可根据项目对数据精度的要求选择合适的编码方式,例如土地利用、房产等系统对数据的精度要求非常高,这类项目不太适合使用压缩存储,其他诸如设施管理、资产管理、社会经济统计等系统对精度的要求不是很高,可采用编码方式压缩存储数据,尤其对于B/S架构的发布系统,甚至可以选择压缩率较高的SWC编码方式,大多数情况下客户端对地图的浏览要求是可以满足的。

  (2)对于栅格数据,其中GRID数据,SuperMap提供了SGL编码方式,这类数据一般用于分析,因此提供的这种编码是无损压缩的;而光栅数据,SuperMap提供了DCT编码,压缩比由压缩质量决定,压缩质量越高,损失越小,压缩比就更低;反之,压缩比就更高。

1.2 选择合适的空间索引

  对于矢量数据的管理,选择合适的空间索引对于性能的优化是最关键的工作。SuperMap提供了三种空间索引以及本地缓存,该如何选择合适的空间索引呢,这里分别加以说明。

1.2.1 经常需要修改的数据

  在数据需要经常变动的应用中,比如规划、电信、有线电视等项目,比较适合使用四叉树索引,这种索引在编辑数据的时候维护成本比较低,比较不容易出现由于索引不完整导致空间数据无法正常显示的问题。

1.2.2 不需要经常变动的数据

  社会经济统计、设施管理等行业的项目,其空间数据基本属于静态数据,比较适合使用R树索引,这种索引的访问效率比四叉树索引高。

1.2.3 大数据量的数据

  对于大数据量的数据,SuperMap还提供了三级索引,可以按照字段或者范围来索引,对于提高性能也是很有效果的。

1.2.4 网络带宽很低的情况下访问大数据量

  网络带宽比较低的情况下,为了减少网络传输量,可以将一些静态的不需要经常变动的数据使用本地缓存的方式管理。

  这里需要注意两点:

  前两种索引是排斥的,只能有一种存在,而后两种是在前两种的基础上附加的。

  本地缓存在三级索引的基础上使用效果最好。

1.3 对影像建立影像金字塔

  影像金字塔技术是目前各软件处理海量影像必须采用的技术,对于大数据量的影像一定要建立影像金字塔,对提高影像数据的浏览速度非常有好处。

1.4 其他

  除了以上几种优化数据的方案,在地图配置方面还有很多方法,在《GIS开发者》第二期“地图优化初探”一文中专门讨论了这个话题,这里就不详细说明了。另外,我们可以在空间数据库中对经常需要查询、而且区分度比较高的属性字段建立索引,来提高查询速度。

Tags:空间数据库  
责任编辑:gissky
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 中国地图