Oracle如何计算RasterDataset和RasterCatalog的存储大小
数据库存储原理 在 Oracle,一个栅格块表的 BLOCK_DATA 列作为 BLOB 数据类型存储像素的二进制数据。 在 Oracle BLOB 数据存储包含 BLOB 列、 LOB 段和 LOB 索引。启用推荐的默认行内存储时,如果存储在 BLOCK_DATA BLOB 列中的二进制数据超过 3,964 的字节
数据库存储原理
在 Oracle,一个栅格块表的 BLOCK_DATA 列作为 BLOB 数据类型存储像素的二进制数据。
在 Oracle BLOB 数据存储包含 BLOB 列、 LOB 段和 LOB 索引。启用推荐的默认行内存储时,如果存储在 BLOCK_DATA BLOB 列中的二进制数据超过 3,964 的字节,然后它会存储在 LOB 段。LOB 段中使用 LOB 定位器的 BLOCK_DATA 列引用。
下面的方法描述了如何确定栅格数据集或光栅目录块表、 查找与那块表 BLOCK_DATA 的列相关联的 LOB 段,然后通过查询 user_segments 找到总存储大小。
ArcGIS栅格存储
在ArcGIS9和ArcGIS10版本中,栅格数据的默认存储仍然是Blob存储。BLOB存储主要包括矢量表和栅格表的存储,矢量表的存储与上面所说的BLOB存储方式类似,栅格表主要包括附录信息表、栅格表、波段表和分块表。
l Business表:称作业务表,业务表对客户端透明,客户端与栅格数据的交互通过业务表即可完成。业务表是用于存储属性的 DBMS 表,并且通过添加栅格列而在空间上启用。带有栅格列的业务表是栅格数据集或栅格目录。栅格数据集只能有一个业务表行,而栅格目录可以有多个。
l F表:称作封装边界要素表,属于支撑表,这个表中存储了栅格数据的封装边界的几何信息。可以参考矢量表BLOB存储的介绍。
l S表:称作封装边界索引表,属于支撑表,这个表中存储了栅格数据的封装边界的几何索引信息。可以参考矢量表BLOB存储的介绍。
==================影像支持表=================
l AUX表:栅格辅助表用于存储影像色彩映射表、影像的统计数据以及可选位掩码(用于影像叠加和镶嵌)。 ArcSDE 会自动在栅格辅助表中存储所有现有影像的元数据,例如影像的统计数据、色彩映射表或位掩码。
l RAS表:称作栅格表,属于支撑表,记录栅格数据的描述信息。
l BND表:称作波段表,属于支撑表,记录栅格数据的波段信息。每幅栅格数据的每一个波段占一条记录。
l BLK表:称作栅格分块表,属于支撑表,栅格块表用于存储影像各波段的实际影像数据。每个波段的像元值都以分块的形式存在该表中。加载栅格数据时,ArcSDE利用分块参数将栅格(及金字塔)划分为若干块,每一块都以BLOB类型存储于该表中。
测试数据
使用ArcCatalog创建一个RasterCatalog,导入影像
查看存储容量
获得影像对象的rastercolumn_id
根据 rastercolumn_id,查找与块表相关联的 LOB 段。
一旦 LOB Segment名称知道,然后查询 user_segments 表,可能得到容量大小。在下面的示例查询返回大小 MB 的块表和关联的 lob 段中。