论文部分内容阅读
计算机应用的不断发展导致了数据量的急剧攀升,由于数据结构化过于受限于人工处理,非结构化数据的增长速度远远大于结构化数据。如何存储应用系统中需要处理的非结构化数据,包括文本、图像、音频、视频、PDF、电子表格等,是常常困扰系统设计人员的问题。非结构化数据的存储通常有两种方式,一是使用文件系统以文件的方式存储,将文件的路径或者链接存储在关系型数据库表中。这种存储方式的优点是数据的读写速度快,缺点是数据的管理不方便,并且还需要考虑数据的安全性和事务处理的一致性;另一种是将这些数据存储在传统的数据库表的大对象字段中,这种方式充分利用数据库的事务、管理和安全性,但是可能带来数据查询和读写上的性能问题。这就促使我们要对海量非结构数据的存储进行研究和分析。云存储是网格、并行和分布式计算等众多技术发展和延伸,云存储实现了存储的完全虚拟化,提供更强大的存储及共享功能。制约非结构化数据存储的关键因素是,数据中心与异构终端之间的数据共享程度不够高,存储系统的高并发读写能力欠缺,存储系统的线性扩展能力比较差。本文以云存储、NoSQL技术等相关领域为研究背景,提出面向云存储的非结构化数据存储方案,将数据分布到云中进行分节点处理,这样做不仅降低成本,而且提高数据的存储能力。论文首先论述了非结构数据的存储现状及云存储的发展前景,研究了非结构化数据的存储方式,探讨了当前存储方式的特点和不足。接着研究了云环境下的三种存储技术,并对云环境下新型数据库技术NoSQL以及非关系型数据库MongoDB进行了论述,结合非结构化数据的特点、云存储的优势以及MongoDB的数据存储特性,提出非结构化数据云存储的必要性。基于当前流行的hadoop云平台,设计了非结构化数据的云存储平台。在此平台中,将非结构化数据与其元数据信息进行分离式存储,非结构化数据以文件的方式存储在HDFS分布式文件系统中,元数据信息改用MongoDB进行存储。然后设计实验验证平台的可行性和有效性,实验结果表明,MongoDB存储元数据信息,可以加快数据的访问速度,NameNode节点的内存消耗有明显的降低。最后,针对海量图片存储系统中存在的问题,分析非结构化数据云存储平台应用的可行性,对海量图片云存储系统进行设计和存储管理实现。