- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
My Hometown, Copyright ? LC 基于云计算的海量数据存储模型 报告人:魏婷 一、云计算的定义 目前,不同文献和资料对云计算的定义有不同的表述,主要有以下几种代表性的定义。 定义1 云计算是一种能够在短时间内迅速按需提供资源的服务,可以避免资源过度和过低使用。 定义2 云计算是一种并行的、分布式的系统,由虚拟化的计算资源构成,能够根据服务提供者和用户事先商定好的服务等级协议动态地提供服务。 定义3 云计算是一种可以调用的虚拟化的资源池,这些资源池可以根据负载动态重新配置,以达到最优化使用的目的。用户和服务提供商事先约定服务等级协议,用户以用时付费模式使用服务。 Resource Views 3 云计算是一种计算模式,也是一种全新的商业模式。云计算是分布式处理(Distributed Computing)、并行处理(Parallel Computing)和网格计算(Grid Computing)的发展或者说是这些计算机科学概念的商业实现。 云计算是随着网络中产生的越来越多的数据而被提出的,在云计算中,无数的软件和服务都置于云中,这里的云是指可以自我维护和管理的虚拟计算资源。这些软件和服务均构筑于各种标准和协议之上,可以通过各种设备来获得。 云计算是一种超级的计算模式,可以把网络中的计算机虚拟为一个资源池,将所有的计算资源集中起来,并用特定软件实现自动管理,使得各种计算资源可以协同工作,这就使得处理数量巨大的数据成为了可能。 二、基于云计算的海量数据的存储 1、 MapReduce 模式 MapReduce 是云计算的核心计算模式,是一种分布式运算技术,也是简化的分布式编程模式,用于解决问题的程序开发模型,也是开发人员拆解问题的方法。MapReduce模式的主要思想是将自动分割要执行的问题(例如程序),拆解成Map(映射)和Reduce(化简)的方式。 MapReduce的流程如图1所示。 在数据被分割后通过Map 函数的程序将数据映射成不同的区块,分配给计算机机群处理达到分布式运算的效果,在通过Reduce 函数的程序将结果汇整,从而输出开发者需要的结果。 MapReduce 借鉴了函数式程序设计语言的设计思想,其软件实现是指定一个Map 函数,把键值对(key/value)射成新的键值对(key/value),形成一系列中间结果形式key/value 对,然后把它们传给Reduce(规约)函数,把具相同中间形式key 的value 合并在一起。Map 和Reduce 函数具有一定的关联性。函数描述如表1 所示。 Text in here 2、Hadoop 框架 Hadoop 是一个实现了MapReduce 计算模型的开源分布式并行编程框架,程序员可以借助Hadoop 编写程序,将所编写的程序运行于计算机机群上,从而实现对海量数据的处理。此外,Hadoop 还提供一个分布式文件系统(HDFS,HadoopDistributed File System)及分布式数据库(HBase,Hadoop Database)用来将数据存储或部署到各个计算节点上。Hadoop 框架如图2 所示。 借助Hadoop 框架及云计算核心技术MapReduce 来实现数据的计算和存储,并且将HDFS 分布式文件系统和HBase分布式数据库很好的融入到云计算框架中,从而实现云计算的分布式、并行计算和存储,并且得以实现很好的处理大规模数据的能力。 3、基于云计算的海量数据存储模型 根据数据的海量特性,结合云计算技术,特提出基于云计算的海量数据存储模型,如图3 所示。 在图3 中,主服务控制机群相当于控制器部分,主要负责接收应用请求并且根据请求类型进行应答。存储节点机群相当于存储器部分,是由庞大的磁盘阵列系统或是具有海量数据存储能力的机群系统,主要功能是处理数据资源的存取。HDFS 和Hbase 用来将数据存储或部署到各个计算节点上。Hadoop 中有一个作为主控的服务器( 将其称之为JobTracker),用于调度和管理其它的计算机(将其称之为TaskTracker),JobTracker 可以运行于机群中任一台计算机上。TaskTracker 负责执行任务,必须运行于数据存储节点(称之为DataNode)上,也是计算节点。 JobTracker 将Map任务和Reduce 任务分发给空闲的TaskTracker,让这些任务并行运行,并负责监控任务的运行情况。如果其中任意一个TaskTracker 出故障了,JobTracker 会将其负责的任务转交给另一个空闲的TaskTracker 重新运行。用户不直接通过Hadoop 架构读取及HDFS 和Hbase
文档评论(0)