Oracle如何计算RasterDataset和RasterCatalog的存储大小

数据库存储原理

在 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存储方式类似,栅格表主要包括附录信息表、栅格表、波段表和分块表。

clip_image002

Oracle如何计算RasterDataset和RasterCatalog的存储大小_第1张图片

Oracle如何计算RasterDataset和RasterCatalog的存储大小_第2张图片

l Business表:称作业务表,业务表对客户端透明,客户端与栅格数据的交互通过业务表即可完成。业务表是用于存储属性的 DBMS 表,并且通过添加栅格列而在空间上启用。带有栅格列的业务表是栅格数据集或栅格目录。栅格数据集只能有一个业务表行,而栅格目录可以有多个。

l F表:称作封装边界要素表,属于支撑表,这个表中存储了栅格数据的封装边界的几何信息。可以参考矢量表BLOB存储的介绍。

l S表:称作封装边界索引表,属于支撑表,这个表中存储了栅格数据的封装边界的几何索引信息。可以参考矢量表BLOB存储的介绍。

==================影像支持表=================

l AUX表:栅格辅助表用于存储影像色彩映射表、影像的统计数据以及可选位掩码(用于影像叠加和镶嵌)。 ArcSDE 会自动在栅格辅助表中存储所有现有影像的元数据,例如影像的统计数据、色彩映射表或位掩码。

l RAS表:称作栅格表,属于支撑表,记录栅格数据的描述信息。

l BND表:称作波段表,属于支撑表,记录栅格数据的波段信息。每幅栅格数据的每一个波段占一条记录。

l BLK表:称作栅格分块表,属于支撑表,栅格块表用于存储影像各波段的实际影像数据。每个波段的像元值都以分块的形式存在该表中。加载栅格数据时,ArcSDE利用分块参数将栅格(及金字塔)划分为若干块,每一块都以BLOB类型存储于该表中。

测试数据

使用ArcCatalog创建一个RasterCatalog,导入影像

Oracle如何计算RasterDataset和RasterCatalog的存储大小_第3张图片Oracle如何计算RasterDataset和RasterCatalog的存储大小_第4张图片

查看存储容量

获得影像对象的rastercolumn_id

Oracle如何计算RasterDataset和RasterCatalog的存储大小_第5张图片

根据 rastercolumn_id,查找与块表相关联的 LOB 段。

Oracle如何计算RasterDataset和RasterCatalog的存储大小_第6张图片

一旦 LOB Segment名称知道,然后查询 user_segments 表,可能得到容量大小。在下面的示例查询返回大小 MB 的块表和关联的 lob 段中。

Oracle如何计算RasterDataset和RasterCatalog的存储大小_第7张图片

你可能感兴趣的:(oracle,数据库,user,测试,存储,作业)