APP下载

云存储技术及其发展

2014-03-02孙小雁

玉林师范学院学报 2014年2期
关键词:存储技术存储系统分布式

□孙小雁

(玉林师范学院 计算机科学与工程学院,广西 玉林 537000)

云存储技术及其发展

□孙小雁

(玉林师范学院 计算机科学与工程学院,广西 玉林 537000)

云计算的迅速发展吸引了研究人员的深入研究与普通民众的广泛关注,随着云端数据越来丰富、用户数量越来越庞大,云存储技术的发展越来越受到重视. 对当前主流的云存储平台及平台中采用的云存储技术进行了详细的介绍,并剖析了新形势、新需求下云存储技术中存在的若干问题.

云计算;云存储;技术;平台

1 引言

云计算是在分布式系统、网格计算等基础上提出的一个新概念,它面对的是超大规模的分布式环境,其核心是提供海量数据存储以及高效率的计算能力.云计算利用互联网平台为用户提供分布式、可靠的、低成本的、强大的计算力和无限的存储、数据、信息、知识和协作可能,使人类信息技术达到无时无处不在的可用性和服务能力[1,2].云计算平台可以将网络上的各种资源进行集中,包括存储、服务、软件等,以虚拟化的形式为用户提供服务,以分布式的方式实现计算和存储的并行处理.数据的存储能力和分布式的计算能力是云计算平台实施的两个关键因素,因此,“云计算=存储云+计算云”[2].

作为云计算的基础、核心技术,云存储受到了广泛的关注与研究,如何建立安全、性价比高的存储成为业界的普遍需求.云计算的数据具有海量、异构、非确定性的特点,这些对存储技术提出了较高的要求,在存储系统构建、负载均衡策略、数据安全、容灾恢复及专业化服务等方面提出了巨大的挑战.本文介绍当前主流的云存储平台及技术,结合云计算的发展,分析云存储技术面临的问题及发展趋势.

2 云存储技术

2.1 云存储技术介绍

云存储将网络中大量各种不同类型的存储设备通过应用软件集合起来协调工作,共同对外提供数据存储和业务访问功能[3].云存储是分布式存储技术与虚拟化技术结合的产物,意味着存储可以作为一种服务,通过互联网提供给用户,在服务的过程中,云存储技术成为影响服务质量的关键因素.

数据存储技术先后经历了从磁带、磁盘、磁盘阵列(Redundant Arrays of Independent Disks,RAID)到分布式存储系统的发展历程,目前存储系统与平台已经成信息社会的重要基础设施.近几年,云计算的快速发展导致存储技术面临新的需求、新的挑战,推动了高性能存储技术的飞跃发展,产生了如谷歌公司的Google File System (GFS)、Apache公司的Hadoop Distributed File System(HDFS)、亚马逊公司的Simple Storage Service (S3,简单存储服务) 等一些主流的存储技术,并且部署在云计算平台上投入商用[4].

2.2 云存储平台与云存储技术

云存储方式,按其技术的发展,主要分为集中式存储和分布式存储两类[5,6].其中分布式网络存储不但提高了数据存储的可靠性、可用性和存取效率,还易于扩展.正是由于这些优势,目前的云存储大都采用分布式存储方式.

Google公司提出的GFS(Google File System)、MapReduce、BigTable等技术是分布式数据处理技术的具体实现,是Google搜索引擎系统三大核心技术.GFS是一个面向大规模数据密集型应用的、可伸缩的分布式文件系统,采用了 Master/Slave 结构, 可以运行在广泛存在的廉价硬件设备上,并提供灾难冗余的能力,为大量客户机提供了高性能的服务.一个GFS集群由一个Master和大量的chunkserver构成(如图1所示),并被许多客户(Client)访问,GFS中的文件被分成固定大小的块(block),每个块由一个不变的、全局唯一的64位的chunk-handle标识,每一个块被复制到多个chunkserver上,通过集中目录服务器Master来实现整个结构的资源定位.客户端将需要定位的资源名和chunk索引发送给master, master返回资源所在chunkserver的相关信息,客户端收到信息后直接与chunkserver进行通信[7].在GFS中,GFS中心化的资源定位算法最大优点是简单,易实现,成功率高,但其效率会随着数据存储量的增加而递减[8].

图1 GFS系统框架

2004年,Google公司最先提出 MapReduce技术[9],作为面向大规模数据分析和处理的并行计算模型,无论是在工业界还是学术界,均引起了广泛的关注及深入的讨论与研究.MapReduce采用了分而治之的思想,主要思路是将大规模数据处理任务分为很多子任务,并将子任务分配给若干个分布式的机器来并行完成批处理作业,因此其基本形式有 Map和Reduce两个处理阶段,将输入源分成若干块后,其中的 Map阶段根据某种规则对数据分类、生成中间结果,写入本地硬盘.Reduce阶段则将之前产生的中间结果合并、排序与输出[10,11].MapReduce并行计算的过程如图2所示.

图2 MapReduce并行计算过程

BigTable是Google为有效管理大规模结构化数据而设计的分布式存储系统[12],被设计用来处理海量数据.BigTable包括行、列、时间戳等基本元素,其中包含由多个行组成的小表,每个小表保存在一个小表服务器(Tabletserver)的节点中.将一台服务器作为Master服务器(主服务器)保存元数据,同时负责对表服务器进行管理与负载均衡调配.通过编程接口,元数据通信在用户端与Master服务器之间进行,而数据通信则在用户端与表服务器之间进行[7,13].

除了谷歌公司的云存储平台之外,Apache软件基金会推出了开放源码的Hadoop系统,实现了MapReduce编程模型、分布式文件系统和分布式列簇数据库[14].Hadoop的分布式文件系统(HDFS)位于最底部,上一层是MapReduce引擎.HDFS存储所有的文件,而MapReduce引擎则由obTrackers 和 TaskTrackers共同组成[15].与GFS相同,Hadoop也采用了Master/Slave结构,一个Hadoop文件系统由唯一一个NameNode和数个DataNode组成,NameNode负责提供元数据服务,DataNode则负责存储服务.存储在 HDFS 中的文件被分成块,然后将这些块复制到多个计算机中.客户端向Hadoop系统读取文件的过程如图3所示:客户端先向NameNode提出文件访问申请,NameNode返回该文件的数据块的位置信息,之后,客户端根据NameNode返回的位置信息向对应的DataNode读取所请求的文件数据[16].

图3 HDFS文件读取示意图

2011年12月Hadoop1.0.0版本释出,标志着Hadoop已经初具生产规模[17].2013年2月,Wandisco推出了世界第一款可用于实际业务环境的Apache Hadoop 2 -WANdisco Distro(WDD)[12].截止目前,Hadoop系统在Yahoo!、IBM、百度、Facebook等国际知名公司得到了大量应用和快速的发展.IBM“蓝云”计算平台也采用了Hadoop系统,目前已被多个跨国公司部署使用.

亚马逊(Amazon)是最早提供远程云计算平台服务的公司,该公司提供的S3云存储服务已经成为目前运作最成熟的云存储平台之一[18].亚马逊将弹性计算云建立在大规模集群计算的平台上,利用弹性云计算服务(Amazon Elastic Compute Cloud)和简单存储服务(Amazon S3,Amazon Simple Storage Service),用户可在亚马逊的云计算平台上创建自己的操作系统、应用程序、系统设置等各种映像,用户通过弹性计算云的网络界面去操作在云计算平台上运行的各个实例[7].亚马逊存储平台的关键技术是Dynamo分布式存储引擎[19],Dynamo是Amazon提供的一款高可用的分布式Key-Value存储系统,其满足可伸缩性、可用性、可靠性等要求.Dynamo 综合了一些著名的技术来实现可伸缩性和可用性:数据划分(data partitioned)和使用一致性哈希的复制(replicated)[20],并通过对象版本(object versioning)提供一致性[21].在更新时,副本之间的一致性由类仲裁技术和去中心化的副本同步协议来维持.

3 存在的问题及发展趋势

虽然Google、IBM、Amazon、Microsoft等云计算平台已经为很多用户所使用,但是云计算在行业标准、数据安全、服务质量、应用软件等方面也面临着各种问题[1],云存储也面临着如何保障数据安全性、提高数据查询算法效率、修复存储系统故障等众多难题.

资源的共享服务实现了成本下降和可扩展性提高,但同时也给信任与安全带来了巨大挑战.云端管理用户的应用,降低了用户对数据处理过程的可控性,为防止提供商利用其特权窃取租户的隐私信息,存储系统必须建立相应的机制保证用户和提供商间的可信关系;另一方面,用户间的数据共享和传输依赖于用户设置的访问控制协议,为防止数据的恶意篡改和泄露,需要提供必要的手段保证用户间的可信关系[22].用户将与生活、工作、学习等紧密相关的各种个人数据存储在云端,因此,对云平台而言,其可靠性、完整性和私密性等要求必须严格控制.如何解决用户数据的共享和隐私保护之间、用户数据的可靠保护和存储高效之间的矛盾是当前面临的很大的挑战,建立完善的云平台数据安全理论和可证明的信任理论,将是云存储技术中即将深入研究的方向.

查询处理方法和优化策略对云数据管理系统来说是一个关键性的问题[23].云存储的数据与传统的数据库中的数据相比,具有数据量大、异结构性、非确定性等特点,大量数据在数据来源、数据形态、数据结构上各不相同,结构化、半结构化、非结构化数据并存,对查询算法的可用性和效率提出了严峻的挑战,因此,如何为不同的数据选择合适的查询算法是一个亟待解决的问题,设计高效、高可用性、低复杂度的轻量级查询算法将是云存储技术发展中即将紧迫研究的内容.

云存储环境中,节点失效或受损是分布式存储中常见的问题,此时需要在其它未受损的节点中取出若干个对受损节点进行修复以保证数据的完整性与存储系统的可靠性[6].由于数据量庞大、用户数量多,在保证系统可靠性的同时使修复节点的性能开销尽可能的小进而不影响用户的服务体验,是节点修复机制面临的关键,提高多节点同步修复的能力和效率、降低修复的复杂度和开销将是云存储技术发展中即将解决的重要问题.

尽管分布式存储已经被工业界和广大学者深入研究,但在云计算环境中,面对着异地、异构、海量的数据和巨大用户数量,云存储技术还有很长的路要走.除了以上提到的问题之外,在云数据管理、云数据挖掘、用户服务性能、云数据索引、云数据容错等各方面都需要产业界与用户、科研人员携手解决.

4 结束语

随着工业界与学术界越来越多的研究及普通民众的不断参与,云存储技术得以不断发展与完善,云计算平台也已经开始大规模商用.本文在云数据迅速膨胀、用户数量迅速扩张的新形势下,介绍了当前主流的云存储平台与云存储技术的现状,分析了云存储中存在的急需解决的问题,并预测了云存储未来的发展趋势.相信随着云存储系统的实践经验的不断积累及研究工作的不断深入,在不久的将来,云存储平台将获得更多的关注,相关的技术成果将更加丰富,云存储平台将成为广大民众最为活跃的共享平台,并且在更多的领域中发挥着更大的作用. ■

[1]曾文英,赵跃龙,尚敏.云计算及云存储生态系统研究[J].计算机研究与发展,2011,48:234-239.

[2]刘正伟,文中领,张海涛. 云计算和云数据管理技术[J]. 计算机研究与发展,2012,48: 26-31.

[3]陈杰. 大数据场景下的云存储技术与应用[J]. 中兴通讯技术,2012,18(06): 47-51.

[4]吴吉义,傅建庆,平玲娣等. 一种对等结构的云存储系统研究[J]. 电子学报,2011,39(5): 1100-1107.

[5]J KENNEDY, C EBERHART R. A discrete binary version of the particle swarm algorithm[C]; proceedings of the IEEE International Conference on Systems,Man,and Cybernetics, Orlando, FL, USA, 1997.4104-4108.

[6]黄倩,王柳苏,谢显中. 基于干扰对齐的高效云存储方法研究综述[J]. 计算机应用研究,2013,30(4): 977-982.

[7]陈康,郑纬民. 云计算: 系统实例与研究现状[J]. 软件学报,2009,20(5): 1337-1348

[8]赵季红,柳明,曲桦. 基于BFA的云存储资源定位算法研究[J]. 微电子学与计算机,2013,30(7): 16-20.

[9]DEAN JEFFREY, GHEMAWAT SANJAY.MapReduce: simplified data processing on large clusters[J].Communications of the ACM, 2008, 51(1): 107-113.

[10]覃雄派,王会举,杜小勇等. 大数据分析——RDBMS与 MapReduce 的竞争与共生[J]. 软件学报,2012,23(1): 32-45.

[11]李锐,斌 王. 文本处理中的MapReduce技术[J]. 中文信息学报,2012, 26(4): 9-20.

[12]CHANG FAY, DEAN JEFFREY, GHEMAWAT SANJAY等. Bigtable: A distributed storage system for structured data[J]. ACM Transactions on Computer Systems (TOCS), 2008, 26(2): 4.

[13]吴吉义,傅建庆,张明西等. 云数据管理研究综述[J]. 电信科学,2010,26(5):34-41.

[14]APACHE.Welcome to Apache™ Hadoop®. http://hadoop.apache.org/.

[15]赵彦荣,王伟平,孟丹等. 基于Hadoop的高效连接查询处理算法[J]. 软件学报,2012,23(08): 2032-2041.

[16]吴岳忠,周训志. 面向 Hadoop 的云计算核心技术分析[J]. 湖南工业大学学报,2013,27(1): 77-80.

[17]APACHE.Hadoop 1.0.0 Release. http://hadoop.apache.org/common/docs/r1.0.0/release notes.html.

[18]AMAZON.Amazon elastic compute cloud (Amazon EC2).http://aws.amazon.com/ec2/

[19]DECANDIA GIUSEPPE, HASTORUN DENIZ, JAMPANI MADAN等. Dynamo: amazon's highly available key-value store[C]; proceedings of the SOSP, 2007.7:205-220.

[20]KARGER DAVID, LEHMAN ERIC, LEIGHTON TOM等. Consistent hashing and random trees: Distributed caching protocols for relieving hot spots on the World Wide Web[C]; proceedings of the Proceedings of the twenty-ninth annual ACM symposium on Theory of computing, 1997. ACM.654-663.

[21]LAMPORT LESLIE. Time, clocks, and the ordering of events in a distributed system[J]. Communications of the ACM, 1978, 21(7): 558-565.

[22]林闯,苏文博,孟坤等. 云计算安全:架构,机制与模型评价[J].计算机学报,2013,36(9):1765-1784.

[23]史英杰,孟小峰. 云数据管理系统中查询技术研究综述[J]. 计算机学报,2013,36(2):209-226.

【责任编辑 潘琰佩】

Cloud Storage Technology and Development

SUN Xiao-yan
(College of Computer science & Engineering, Yulin Normal University, Yulin, Guangxi 537000)

Along with the rapid development of cloud computing, researchers are getting more and more interested in this area. Since there is abundant of cloud data in cloud and a large number of users, cloud storage technology is becoming a key technology in cloud computing. The mainstream cloud platform and cloud storage technology are introduced in detail in this study. And the challenges under new situation and requirements are also discussed.

cloud computing; cloud storage; technology; platform

TP393

A

1004-4671(2014)02-0136-05

2014-02-26

广西自然科学基金面上项目(2013GXNSFAA019337),广西教育厅重点科研项目(2013ZD056),玉林师范学院教改项目(2012SYJG30)。

孙小雁(1981~),女,广西博白人,玉林师范学院计算机科学与工程学院讲师。研究方向:密码学,信息安全。

猜你喜欢

存储技术存储系统分布式
分布式存储系统在企业档案管理中的应用
天河超算存储系统在美创佳绩
关于计算机网络存储技术分析
分布式光伏热钱汹涌
分布式光伏:爆发还是徘徊
多级分布式云存储技术在公安领域的应用研究
数据存储技术的应用
基于FPGA的并行测试高速存储技术
基于DDS的分布式三维协同仿真研究
华为震撼发布新一代OceanStor 18000 V3系列高端存储系统