对光谱数据表可以实现的模式和几种存储结构对比研究有哪些?
对光谱数据表可以实现的模式和几种存储结构对比研究有哪些?
根据数据库存储规范,运用到比较常见的ORACLE数据平台,对光谱数据表可以实现的模式和几种存储结构对比研究如下:
(1)波段独立顺列式
该模式是在光谱数据表中,以每一个波段及其相应的反射率值作为一个记录,相应的两个主要字段均以number(m,n)作为字段类型。这种模式的优点是存储时波段相互独立,存储、查询、处理等速度快,便于分别提取,特别有利于波段值单独操作,可以对冗余的定位字段进行各种数据库性能调整操作,如加索引(index)、建立分区等,以提高效率。这种存储方式的缺点是记录数相对较多,冗余字段会浪费一定的存储空间。
(2)波段集中整合式
这个模式是在光谱数据表中,以每一个样本为一条记录,无论是波段值还是反射率值均以一个类似文件的方式存储,相应的两个字段分别以CLOB、BLOB作为字段类型。这种模式的优点是结构性更好、直观、容易理解,存储上也能节约空间。但是在任何后续的读取、处理的过程中,均需要以单独的程序对该字段进行操作,如定位、跳跃等,这将影响整个应用的速度。即便对于添加、读取、修改等基本数据库操作,大对象数据仍然需要专门的包来操作,增加了开发难度。
(3)表单位式
这是最容易理解的一种方式。由于高光谱遥感数据量大,类型繁多,所以一种类型的数据对应一个表是最简单最容易理解的方式。既可以以某种高光谱仪器的波段为单位来建表,也可以以对象为单位建表。它们的共同点是会有一些比较固定的数据维,或是波段数固定,或是光谱数固定,这样就可以根据此固定维来设定该表的结构。这样实施,数据存储量不会冗余和浪费空间,查询操作的效率高,开发容易,但是缺点是扩展性差。数据库开发不应该允许用户随着数据量的增大经常进行建表工作。所以这种方式仅限于一些特殊要求或者数据量比较固定的情况下使用。这种方式易实现开发,如画出曲线只要用ORACLE开发的前台工具Developer就可以轻易实现。