张睿
摘要:云存储是分布式计算、网格以及并行等许多技术的衍生与发展,其保证了存储完全虚拟化目标的实现,在共享与存储的功能方面,较之于以往也更加强大,非结构化的数据主要包含电子表格、文本、PDF以及视频音频等等,通常情况下,我们对于分级结构化数据进行存储有两种方法,其中一种是通过以文件的方式通过文件系统对其进行存储,在关系型数据库表之中对文件的相关链接与路径进行存储,另一种方法则是在数据库表的大对象字段之中对此类数据进行存储。本文中主要结合MongoDB的数据存储特性、非结构化数据的实际特点以及云存储应用的优势对非结构化数据的存储方法进行研究,并指出云存储对于非结构化数据的必要性。
关键词:云存储;非结构化数据存储;数据库表
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)01-0052-03
随着我国社会信息化发展程度的不断加深,网络在人们的生活中也得到了极为广泛的应用,数据量也随之而变得十分庞大,对于当前的发展情况来说,以往的数据处理方式已无法满足人们的要求,这也就使得云存储与云计算技术出现在了人们的面前。该技术的出现,使得对大规模数据进行处理的速度得到了十分明显的加快,并且也使得大规模数据的存储量得到了增加。然而,在现阶段之中,数据的结构化十分受到人工处理的限制,在增长的速度这一方面,结构化数据同非结构化数据进行比较也有着十分明显的优势,可以说,有效的对非结构化的数据进行存储具有必要性,也是值得研究的。
1 分布式存储技术
20世纪70年代的终端/主机计算模式使得数据的存储技术和存储管理产生,20世纪80年代以后,随着客户机/服务器模式的逐步普及,使得数据存储具有分散性,也就是除文件服务器和数据服务器是核心的数据存放区以外,客户机也会存放一定数量的数据。这使得数据存储技术向着分布式数据存储发展。随着信息技术的发展,分布式存储技术也有了迅速的发展。
1.1 定义
该系统是通过Internet互联作为存储方式,普通的PC服务器作为存储的介质,对对外存储这一服务进行实现。
常用的分布式存储技术主要有集群存储技术、分布式共享储存技术、面向Internet的海量存储技术等等[6]。群集存储技术通过连接大量的普通计算机作为存储节点来提供高性能、可扩展的分布式网络存储服务。随着网络技术的发展,以文件共享为目的的分布式存储技术出现,使人们可以方便地交换数据和协同工作。Internet的发展使数据存储平台各有不同,而且数据分布非常广阔,面向Internet的海量存储技术可以管理不同平台上的数据和分布广泛的数据。
分布式存储技术的发展趋势和主要的研究热点包括高性能、高可靠性、高扩展性、透明性和自治性[6]。
1.2 数据的分布
数据的分布问题是其亟待解决的一大问题,如何能够保证使得数据能够在多各层次服务器节点之中得到均匀分布,且需要保证数据在完成分布后具有可用性与可靠性,这就需要在多个副本之中对数据进行复制,这就需要保证多个副本之间复制的数据具有一致性,较为常用的操作方式主要包括同步复制副本以及异步复制副本。
1)强同步复制副本
应用相关的客户端对需要发送至主副本的相关请求进行设计,以主副本作为媒介对写请求进行复制,完成这一操作之后,可由操作人员将其发送到备份的副本之中,并完成中和的操作。在实际操作之中,主要是保证在对日志进行操作时具有同步性。首先,操作人员应用主副本对日志进行同步,保证主副本之中所具有的资料与信息能够在第一时间传送到备份副本之中;而后将完成的消息传递到主副本之中,若是消息未能准时传回,则需要对相关问题进行检查,应用主副本来修改服务器,在保证这一操作能够理想完成后,向客户端发出成功的消息。该操作需要保证主副本与备份副本之间具有同步性,只有完成同步才能够完成操作的协议才可以称之为强同步协议。
在对以上操作进行完成后,在主副本之中,具有对日志进行相应操作的能力,此时,应将其发给所有的备份副本,之后则不用再进行操作,而是等待备份副本的主动回复,尽可能地保证对所有副本均能够传送成功。并且,只要能够保证一个副本传送的成功,使其地返回便能够向客户端回复操作成功的提示。应用这一方式,具有许多的优点能够对损失进行减少,主要有:当主副本在运行这种操作出现故障后,可以在第一时间启用备份副本,保证不会导致数据的丢失,并且能够自动地将备份副本中的完整数据切换为主副本,能够最大程度地保证公司的运营不受影响。
2)异步复制副本
在一部分公司与一定的环境之下,需要应用异步复制副本进行运行操作,该操作方式并不要求主副本与备份副本之间具有同步性,一旦完成了修改的相关操作,系统便会自动地向客户端提示操作成功。该操作方式主要具有以下的优点:系统在进行应用时其可用性十分理想,运行时不需要考虑太多问题,也不需要经历过多的步骤;然而,由于其不具有一致性,当系统出现故障时,很容易导致主副本的相关数据丢失,并且丢失的数据将会不可恢复,虽然当前的许多的软件都具备着恢复数据的功能。但是,这一功能都是定时的,例如十分钟一保存,这边会导致最后所进行更新与操作的一部分数据出现丢失的情况,造成不可避免的损失。
2 非结构化数据存储方式
2.1 文件系统的存储方式
对于文件系统来说,在进行存储时,主要是在文件的服务器之中直接将数据保存在文件系统之中,每一台计算机都可以设置特定的目录,对于需要的文件可以在目录之中以文件的形式对数据资源进行存放,仅仅以人工的方式对文件进行较为简单的分类。因此,通常情况下对数据的存储都是较为无序的,需要对数据进行访问时,则可以对存储了文件的路径进行搜索,完成搜索后将路径打开并对其中的文件进行读取。在这一技术应用的最早阶段,数据在计算机系统之中的存取要求十分简单,想要对数据进行较为理想的管理仅仅通过文件系统便能够较为理想的完成。
2.2 数据存储的方式
自从关系数据库出现并得到广泛应用以来,其实际的应用功能不断地朝着多样化发展着。当前在绝大多数的应用系统之中,都是以二进制的格式在关系型数据库的BLOB字段之中对非结构化数据进行存储。然而,在BLOB字段中对数据进行存储存在着一定的缺点,第一,对于非结构化的数据文件来说,其本身便具有极大的容量,并且,随着运行时间的增加,数据量也会随之增多,关系型数据库很可能在极端的时间内显著地膨胀,若是不加以干预,时间一长,对于数据库本身的性能必然会导致许多不良的影响出现,甚至会使得整个应用系统的性能受到极大的影响;第二,对于应用系统来说,不同的应用系统之间是封闭与独立的,对于相关的文档资料,其他的应用无法与其共享。
针对于结构化数据的处理,关系型数据库产生了。然而,对于当前网络环境下对非结构化数据所进行处理要求并不能较为理想的满足。举例来说,对于数据进行全文检索则显得存在着一定的问题。
多媒体数据本身包含着许多种的信息类型,由于其数据的格式较为特殊,因此而导致了数据的存取处理与存储结构之间存在着一定的差别,为满足当前应用的需求,多媒体数据库也随之而产生,该数据库主要是将多媒体技术与数据库技术二者间进行了结合,并对传统关系型数据库中存在的优点进行了继承,使得其能够成为一种同以往不同的数据系统,较为理想的对多媒体数据之中所具有的检索与存储功能进行实现,提高运行的效率。
对于非结构化数据库来说,其本身便属于由于网络的发展而衍生出的一种复合当前发展的新型的数据库。从本质上来说,其本身的数据也是对结构化数据库进行补充的一种形式,非结构化数据库属于一种基于网络应用而产生的新型数据库,其本身数据对结构化数据库的一种补充,能够对较为复杂的嵌套进行表达,也能够对数量更多的数据类型进行支持。传统的关系数据库在应用中对数据的长度存在着一定的限制,且在对其进行改写时存在着一定的不便,并且,对于非结构化数据库来说,其能够支持重复字段,并且,没有一个字段还能够通过一定的可重复的自字段进行组合而形成。概括来说,该数据库是一种能够对字段的长度与数量进行改变的数据库,在对非结构化信息进行处理时,较之于传统的关系型数据库具有十分明显的优势。
2.3 数据库同文件系统相结合的存储方式
该存储方式主要是以文件的形式将非结构化数据放置在计算机之中,在数据库之中将数据文件的存储路径进行放置。在这一方式之下,在文件系统中放置非结构化数据的源文件能够便于对数据的更改、浏览以及传递等。并且,应用数据库之中的数据比数据表字段对非结构化数据文件的属性进行表示,这能够便于对数据的查找、检索以及分类等,保证了数据文件存储的有序性。
数据库同文件系统二者相结合的模式,对内容管理系统的应用是其中最为典型的一个表现形式。从数据的角度来说,内容本身的含义则显得更加广泛,内容主要是对对象进行强调。这种强调主要是指数据的类型,任何一种都可以,其不仅包括了非结构化的信息以及结构化的数据等,还对知识有着一定的设计。可以认为,比之于文档、信息与数据来说,内容更加具有全面性,并且,也可以认为其属于对结构化与非结构化数据、所有的信息所进行的聚合,内容管理主要着重于对非结构化以及半结构化数据的管理,在对数据存储方式进行研究的基础之上,对于对象处理的过程这一方面,内容管理也十分重视,例如对数据的收集、对数据的传递、对数据的检索、对数据的存储等等,这能够保证将需要传递的内容以最短的时间对目标地点与用于进行传递,从数据管理发展的角度来说,内容管理可以作为新的方向。
3 MongoDB
目前,相对于关系型数据库而言,非关系型数据库NoSQL(Not Only SQL)已经成为数据库种类上的一个重要补充,它具有高效性和动态可伸缩性。非关系型数据库抛弃了传统关系型数据库的关系模式,可以说不仅是数据库类型的更新,而且是数据管理理念上的更新。
NoSQL数据库采用key-value格式存储数据,抛弃了传统关系型数据库的事物一致性和范式约束。目前,NoSQL数据库有很多,有满足较高读写性能需求的
MongoDB是面向文档的NoSQL数据库,对于海量的非结构化数据储存有很大优势。与传统关系型数据库中行、表和数据库对应,MongoDB中有文档、集合和数据库。文档是MongoDB的核心,多个键值对构成文档,相当于传统关系型数据库中的行;一组文档构成集合,相当于传统关系型数据库中的表;多个集合组成数据库。
3.1 MongoDB数据模型
MongoDB文档主要应用BSON的二进制结构,BSON 是JSON 的二进制表示形式,即使应用效果并不是十分理想,其存储的效率也要优于JSON存储效率最好的时候,另外,BSON还对数组、键值对这些较为复杂的数据结构提供支持,这也使得MongoDB文档能够对数组或子文档进行嵌套,这样,MongoDB仅仅需要对一个集合进行设计,这能够十分明显的对数据库的性能进行提高。典型的BSON对象如下:
{
Name:”Tom”,
Address:{city:”ShenYang”,state:”China”},
Likes:[‘Football,Music],
Grade:[{lesson:”English”,score:80},{lesson:”math”,score:90}]
}
3.2 MongoDB特性分析
1)数据类十分丰富:MongoDB作为一种数据库,其具有面向文档的特点,想要对横向扩展性与灵活性进行获取,其需要对关系存储这一模型进行设计,不再对其进行应用。不需要实现对文档之中的字段进行定义,也不是永不改变的,在文档之中通过应用层能够很容易地执行添加字段的操作,对数据模型进行更改。
2)扩展较为容易:在最开始设计的时候,MongoDB便对数据库扩展的相应问题进行过分析与探讨,保证数据类型不存在特定的模式,这就能够对各个服务器间自动分割这一功能进行实现,对于MongoDB来说,其具有自动分片的功能,这就使得在集群数据之中对均衡负载这一动态进行实现。
3)性能十分卓越:在MongoDB之中,,对于文档记录来说,具有动态扩充的功能,因此,可以预先对数据文件进行相应的分派,通过空间来对稳定的性能进行获取,并且,可以保证对存储引擎中对内存映射文件进行配置这一操作进行默认,通过操作系统对管理内存的工作进行处理。
4)在管理方面,其也具有较为理想的简便性。
4 结论
本文主要介绍了分布式存储技术相应的内容,并且,对强同步复制副本进行了重点的介绍,主要是其具有较为理想的稳定性,对非结构化数据当前实际中应用的三种存储方式进行了比较,通过实际的研究结果可以发现,在对非结构化数据进行存储时,应用数据库与文件系统二者进行结合的存储方式能够获得更加理想的应用效果。此外,还对MongoDB的数据模型等进行了一定的研究,对于该数据模型的优点等进行分析。本次研究获得了较为理想的研究成果,但仍然存在着一定的缺陷,未对MongoDB的分布式存储架构以及工作原理等进行研究与分析,需要在日后的研究中予以应有的注意。
参考文献:
[1] 谢华成,陈向东.面向云存储的非结构化数据存取[J].计算机应用,2012,32(7):1924-1928.
[2] 谢华成,张昆朋,范黎林,等.基于文件分割的二进制人对象存取算法[J].计算机应用,2011,31(10):2612-2616.
[3] 林予松,陈安领,工宗敏.人规模流媒体直播系统扰动性研究[J].计算机应用研究,2010,27(1):181-183.
[4] 张民悦,陈艳丽.不同类型三部件串并联系统的可靠性分析[J].兰州理工大学学报,2011,37(21):127-130.
[5] 李浩,蒋文斌,刘超,等.一种面向虚拟实验的非结构化数据存储方法[J].实验室研究与探索,2010,10:263-265+273.
[6] 魏青松.大规模分布式存储技术研究[D].成都:电子科技大学,2004.
[7] Padron E J,Amor M,B6o M,et al. High performance global illumination on multi-core architectures[C]. Parallel ' Distributed and Network-based Processing , 2009 17thEuromicro International Conference on. IEEE,2009: 93-100.