第二节基于ArcSDE的空间数据访问和优化技术
由于ArcSDE本身所具有的海量数据存储、多用户并发访问、版本管理、长事务处理等强大优势,在GIS应用系统中引入ArcSDE作为空间数据存储和管理引擎,变得越来越普遍。随着ArcSDE的应用日益广泛,ArcSDE的性能越来越受到关注。本文以Oracle数据库为例,从影响ArcSDE性能的关键环节出发,主要介绍数据库和ArcSDE两个方面的一些基本配置和调整手段。
主要内容
影响ArcSDE性能的因素很多,但是归根到底包括两个方面,后台的Oracle和ArcSDE的配置。Oracle方面,不仅包含数据库组件大小定义、存储参数等内容,还包括Oracle实例的初始化参数、Oracle统计信息分析等内容。ArcSDE方面包括DBTUNE存储参数、空间索引、以及统计信息更新等方面。作为建立在后台数据库系统之上的空间数据库引擎,ArcSDE的性能很大程度上取决于Oracle的性能状况。换句话说,如果没有良好性能的Oracle系统的支持,就无法建立高效的ArcSDE数据访问引擎。
降低Oracle磁盘I/O
典型的Oracle安装方便了数据库安装的过程,但一定不会达到预期的良好性能。没有经过认真配置和调整的Oracle系统不会获得满意的效率。在Oracle系统中,磁盘I/O冲突导致了大多数明显的性能上的瓶颈。除了购买更快的磁盘驱动器和附加的网卡外,问题的解决方法在于平衡文件系统中的磁盘I/O,尽可能将其降至最低,减少进程间I/O等待发生的可能性。
合理放置数据库组件的参考原则
如果估算好了数据文件的大小,就可以确定在文件系统中如何放置它们。本段中列举了一些相关的指导,不必完全照搬,因为需要考虑自己磁盘驱动器的数目和大小。这些指导原则上按照其重要程度从大到小进行排序。数据库使用一段时间之后,一种正常的使用模式也就建立了,访问非常频繁的数据文件需要隔离在单独的磁盘上。
分离表和索引
每次Oracle访问索引来定位到某个记录行时,它必须同时访问表来取出所指向的行。此时如果表和索引存放在同一个磁盘上时,磁头就需要在索引和表之间进行移动。尽可能不要把索引和表存储在同一个表空间中。始终将表的数据文件和索引的数据文件分开存放。当表及其索引的数据块位于同一磁盘驱动器时,这样做可以减少磁头移动的发生。
按照活动性放置文件
将联机重做日志文件存储在它们自己的磁盘驱动器上。经常进行编辑操作(inserts,updates,or deletes)的Oracle数据库具有非常活跃的联机重做日志文件。将联机重做日志文件和其他也需要频繁进行I/O操作的数据文件从物理上分离是很重要的。只要有可能,将日志文件创建在自己单独的磁盘驱动器上,或者和其他一些相对静态的文件一起存放。在一个经常进行编辑操作的数据库中,就I/O而言,联机重做日志文件是最活跃部分。如果无法将它们安排在自己单独的磁盘驱动器上,就将它们和那些相对I/O操作较少的文件放置在一起。
一定将回滚段数据文件与重做日志文件分离。当数据库被编辑时,回滚段会被经常性地访问。要尽量将这些数据文件和其他活动性强的文件分开存放。这样做能够提高Oracle处理事务的效率。
在索引建立之后,如果SORT_AREA_SIZE参数已经设置为推荐的512KB,Ar
4ArcSDE空间索引-遥感数据共享 来自淘豆网m.daumloan.com转载请标明出处.