ArcSDE空间数据与索引分开存储
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ArcSDE表和索引分开存储
在我们使用ArcSDE对矢量数据和栅格数据进行海量存储的时候,往往从资料上或者有经验的前辈提醒,有必要将相关的表与索引分开存储。
也就是说当用户访问一个表,首先会先访问表的索引,然后根据索引来快速定位访问表的内容,那么表和表的索引就会占据大量的磁盘I/O资源,从而导致访问表的效率下降。
所以当我们在建立表和相关索引时,应该将表和索引分配在不同的表空间中,将相应的表空间存储到不同的磁盘上,这样访问表时,就可以分别使用不同的磁盘I/O,提高访问效率。
那么我们在ArcSDE管理数据怎么将这些数据分开存储呢?以Oracle数据库为例,首先大家需要了解几个关键字。
表空间
表空间是数据库的逻辑划分,一个表空间只能属于一个数据库。
所有的数据库对象都存放在指定的表空间中。
但主要存放的是表,所以称作表空间。
(该概念摘抄于百度百科)
在对ArcSDE进行Post Installation时,会默认给用户建立一个400MB 的SDE表空间,该表空间里面会建立一些SDE的Schema,主要是SDE管理空间数据的相关表(SDE系统表、版本相关表、同步复制表、SDE管理空间对象表、投影信息表等),那么用户的数据该怎么管理呢?建议用户的数据尽量不要放在SDE的表空间中,这样既可以将用户数据与SDE数据分开管理,比较有
条理性,而且也不至于对发生(将用户数据放到SDE表空间中)操作用户数据误操作破坏SDE相关表的情况。
分磁盘存储
分磁盘存储就是将我们的空间数据存储到一个磁盘上,空间索引数据存储到另外一个磁盘上,也就是说存储到不同的物理磁盘上。
比方说你使用的多块硬盘、磁盘阵列的话就非常适用于此,但是这里面有个误区就是,往往有用户理解为在我的一块硬盘上的不同分区都是分磁盘存储,也就是说我建立两个表空间分别存储在D盘和E盘,这样其实还是一个磁盘,所以说这个概念大家也应该弄清楚。
数据读取原理
为什么要将数据与索引分开呢,理解起来就是一个串行读取和并行读取的不同了。
读取数据时如果是串行也就是一个磁盘,我们先读索引,后读数据,可以理解为两个IO操作,而且有先后顺序,那么并行也就是同时读取不同磁盘,效率肯定显而易见的。
DBTUNE
在我们ArcSDE管理数据时,主要是对DBTUNE文件进行配置(SDEHOME/etc/dbtune.sde)。
首先说明一下空间数据包括B表(属性表)、F表(空间表)、S表(空间索引表)等组成。
注意在ArcGIS10中已经没有F表了,F表的信息(Shape)已经归结到B 表中(相当于B表的一列)。
栅格数据参考如下:
●Business表:称作业务表,业务表对客户端透明,客户端与栅格数据的交互
通过业务表即可完成
●AUX表:称作栅格附录信息表,属于支撑表,用于存储栅格波段的附加信
息,如色彩映射和统计值等
●RAS表:称作栅格表,属于支撑表,记录栅格数据的描述信息。
●BND表:称作波段表,属于支撑表,记录栅格数据的波段信息。
每幅栅格
数据的每一个波段占一条记录。
●BLK表:称作栅格分块表,属于支撑表,每个波段的像元值都以分块的形
式存在该表中。
加载栅格数据时,ArcSDE利用分块参数将栅格(及金字塔)划分为若干块,每一块都以BLOB类型存储于该表中。
●F表:称作封装边界要素表,属于支撑表,这个表中存储了栅格数据的封装
边界的几何信息。
●S表:称作封装边界索引表,属于支撑表,这个表中存储了栅格数据的封装
边界的几何索引信息。
那么大家可以查看一下DBTUNE.sde文件的结构。
以下红色字体全部是我的一些说明
表空间配置说明:
TEST_B_TBS,存储Business(属性信息)表
TEST_S_TBS, 存储S<Layer_ID>(空间索引原信息)表 TEST_INDEX_TBS,存储所有表的索引
关于影像数据的存储,影像数据大多是只读,用户根据情况来设置,而且影像数据量主要集中在BLK_STORAGE里面,如果需要调节,将这个数据与索引分开存储即可。
怎么使用
如果你是一开始在Post Installation之前就已经修改好了这个配置文件,在
进行ArcSDE配置文件加载时可以进行自定义文件选项。
如果用户是已经Post 完毕,用户可以利用Sde命令进行相关的增加、删除、修改等。
其他说明
有些用户可能会疑问,我的数据就这样分开存储,我在使用方面是不是也需要注意这些呢,其实不用担心,这些只是后台数据库或者SDE的自动处理而已,
用户操作不用理会,按原来的方式操作即可。
特别注意
以上介绍的内容希望用户灵活掌握,而不拘泥于例子,只有灵活掌握相关原理,结合用户自己的硬件配置、数据情况、系统需求才能更好的完成。
参考文档
/arcgisdesktop/9.3/index.cfm?TopicName=The_ dbtune_file_and_the_DBTUNE_table
说明
该文档为作者在学习ArcGIS的一些笔记(自己学习、ArcGIS帮助、网络资源、高手请教相结合),难免有一些表达不全面或者理解有出入的,还请各位多多指教!
广告博客
/index.php?uid-121719:欢迎访问GIS博客
By Lish
阿毛里,赶紧爆发吧!。