【IT168 专稿】你正在处理什么类型的数据?我们将数据分为下面五种类型,当然这不是一个全面的分类,但它有助于我们加深对数据存储需求的认识。
1、包含相同类型元素的同质数据阵列
2、多媒体 – 音频,视频和图像文件
3、仅供内部使用的临时数据(各种类型的日志和缓存)
4、各种类型的计算数据流(如录制的视频流,大量的计算结果等)
5、文档(简单的或混合的)
存储数据的方法也有下面五种形式:
1、文件系统中的文件
2、数据库
3、结构化存储
4、归档文件(结构化存储的一种特殊格式)
5、远程存储(云,分布式存储)
下面我们来探讨一下哪种存储机制最适合前面描述的五种数据类型。
结构化数据的存储问题
同质数据阵列包含相同类型的元素,如一段时间范围内的温度测量值,某一年的股票连续变化值等等。
1、对于同质数据阵列,普通文件无法提供方便和快速搜索能力,你必须创建,维护和不断更新特殊的索引文件,数据结构的修改几乎是不可能的,元数据信息也是有限的,没有内置运行时数据压缩和加密功能。
2、关系数据库非常适合存储同种数据,它们包含一套用严格的内部格式预定义的记录,关系数据库的主要优点是可以根据指定的条件快速定位数据,以及数据完整性的事务支持,但关系数据库也有显著的缺点,如对于可变长大尺寸数据就不能很好地处理,BLOB字段常常用来独立存储这种类型的数据,此外,在关系数据库中保存数据需要:a)使用特定的DBMS,数据和应用程序本身的可移植性将受到严格限制,b)必须预先计划好数据结构,包括相互关联的链接和索引策略等,c)需要为高效的数据库开发详细研究高峰时的负荷,这可能是一个严重的系统开销。
3、结构化存储优点类似于文件系统,可以放在任何位置,如磁盘上的一个文件,一条数据库记录,甚至可以放在内存中,这个方法的主要好处是它可以在现有存储中高效地添加或删除数据,为不同大小的数据提供高效的操作(从小到大),存储代表独立的单元(文件),因此可以很容易实现迁移,复制和备份,不需要跟踪应用程序产生的所有文件。此外,借助日志,可以实现内容完整或部分恢复,其缺点是在海量数据阵列中搜索时相对会慢一些。
4、zip压缩文件,作为结构化存储的一种特殊形式,可以用于存储同质数据阵列,但只适用于大多数访问是只读操作的时候,zip标准格式使其使用更加简单,特别是跨平台的应用程序,但这个格式并不适合数据打包后被修改的情况,因为向zip压缩文件包中添加或删除数据都是一个很费时的操作。
5、远程和分布式存储是下一代存储方式,真实的数据位置和数据访问对于应用程序来说是透明的,这些任务由经过封装的特殊层实现,数据可以分布式存储在数据库或文件系统中,最终用户无需关心数据的组织方式,只需要关注通过API或文件系统调用访问得到的一组对象,一个最好的例子就是云存储,它可以提供统一的数据访问,不需要考虑数据是如何存储的,这种方法的缺点是不易于管理和控制,备份或迁移数据也很复杂。