您好,欢迎访问三七文档
2大数据与云计算2.1云计算技术引言云计算(CloudComputing)是一种新近提出的计算模式。是分布式计算(DistributedComputing)、并行计算(ParallelComputing)和网格计算(GridComputing)的发展。目前,亚马逊、微软、谷歌、IBM、英特尔等公司纷纷提出了“云计划”。例如亚马逊的AWS(AmazonWebServices)[1]、IBM和谷歌联合进行的“蓝云”计划等。这对云计算的商业价值给予了巨大的肯定。’同时学术界也纷纷对云计算进行深层次的研究。例如谷歌同华盛顿大学以及清华大学合作,启动云计算学术合作计划(AcademicCloudComputingInitiative),推动云计算的普及,加紧对云计算的研究。卡内基梅隆大学等对数据密集型的超级计算(DataIntensiveSuperComputingDISC)[2]进行研究,本质上也是对云计算相关技术开展研究。IDC的调查显示,未来五年云计算服务将急速增长,预期2012年市场规模可达420亿美元。目前企业导入云计算已。逐渐普及,并且有逐年成长趋势。估计在2012年,企业投入在云计算服务的支出将占整体IT成本的25%,甚至在2013年提高至IT总支出的三分之一。由此可见,在各大公司以及学术界的共同推动下,云计算技术将会持续发展。云计算有着广泛的应用前景。如表1所示。云计算在天文学、医学等各个领域有着广泛的应用前景。趋势科技和瑞星等安全厂商纷纷提出了“安全云”计划。如今,每天有2万多种新的病毒和木马产生,传统的通过更新用户病毒库的防毒模式,受到了严峻的挑战,该模式使用户端的病毒库过于庞大。趋势科技和瑞星的“安全云”将病毒资料库放在“云”端,与客户端通过网络相连,当“云”在网络上发现不安全链接时,可以直接形成判断,阻止其进入用户机器,从根本上保护机器的安全。据趋势科技大中华区执行总裁张伟钦介绍,趋势科技已投入了大量资金,在全球数个地方建设了新型数据中心。同时,趋势科技还花费了1000多万美元,租借了34000多台服务器,构建了一个服务遍及全球的“安全云”。目前趋势科技已将公司中低端的部分产品线放到“云安全”计划中,而高端的大部分产品线,仍在准备过程中。谷歌提供的Gmail、GoogleEarth、GoogleAnalytics等服务都基于其云计算服务器运行。谷歌基于云计算提供的翻译服务具有现今最好的性能。对互联网和美国人生活的一项研究显示,大约70%的在线用户使用以上“云计算”服务。[3]领域应用场景科研地震监测海洋信息监控天文信息计算处理医学DNA信息分析海量病例存储分析医疗影像处理网络安全病毒库存储垃圾邮件屏蔽图形和图像处理动画素材存储分析高仿真动画制作海量图片检索互联网E-mail服务在线实时翻译网络检索服务表2-1云计算的应用领域(1)云计算的定义目前,云计算没有统一的定义,当前云计算的定义主要包括如下几种。①维基百科给云计算下的定义。云计算将IT相关的能力以服务的方式提供给用户,允许用户在不了解提供服务的技术、没有相关知识以及设备操作能力的情况下,通过Internet获取。需要的服务。[4]②中国云计算网将云计算定义为:云计算是分布式计算(DistributedComputing)、并行计算(ParallelComputing)和网格计算(GridComputing)的发展,或者说是这些科学概念的商业实现。[5]③综合多个云计算的定义之后,给“云”下了如下定义。云是一个包含大量可用虚拟资源(例如硬件、开发平台以及I/O服务)的资源池。这些虚拟资源可以根据不同的负载动态地重新配置,以达到更优化的资源利用率。这种资源池通常由基础设施提供商按服务等级协议(ServiceLevelAgreement,SLA)采用用时付费(PayPer-UsePPU)的模式开发管理。[6]对比上述定义,可以发现,定义1和定义3中给出的定义的相似之处在于它们都提到了云计算提供服务。定义1中的定义主要从云计算用户的角度给出定义,即用户在不了解具体实现的情况下通过Internet获取服务。定义2从云计算的发展脉络的角度给出定义,主要说明了云计算的历史。定义3给出的定义则是从云计算提供者的角度来给出定义,定义了云计算的后台实现方式,以及管理模式。但是,这些定义都仅从一个方面定义云,并不完善。结合上述定义,可以总结出云计算的一些本质特征,即分布式的计算和存储特性,高扩展性,用户友好性,良好的管理性,用时付费等。(2)云计算的基本原理云计算的基本原理是:通过使计算分布在大量的分布式计算机上,而非本地计算机或远程服务器中,企业数据中心的运行将更与互联网相似。这使得企业能够将资源切换到需要的应用上,根据需求访问计算机和存储系统。云计算描述了一种可以通过互联网进行访问的可扩展的应用程序。“云应用”使用大规模的数据中心以及功能强劲的服务器来运行网络应用程序与网络服务。任何一个用户通过合适的互联网接入设备以及一个标准的浏览器都能够访问一个云计算应用程序。[7](3)云计算技术的特点:①云计算系统提供的是服务。服务的实现机制对用户透明,用户无需了解云计算的具体机制,就可以获得需要的服务。②用冗余方式提供可靠性。云计算系统由大量商用计算机组成集群向用户提供数据处理服务。随着计算机数量的增加,系统出现错误的概率大大增加。在没有专用的硬件可靠性部件的支持下,采用软件的方式,即数据冗余和分布式存储来保证数据的可靠性。③高可用性。通过集成海量存储和高性能的计算能力,云能提供较高的服务质量。云计算系统可以自动检测失效节点,并将失效节点排除,不影响系统的正常运行。④高层次的编程模型。云计算系统提供高层次的编程模型。用户通过简单学习,就可以编写自己的云计算程序,在“云”系统上执行,满足自己的需求。现在云计算系统主要采用Map—Reduce模型。⑤经济性。组建一个采用大量的商业机组成的集群相对于同样性能的超级计算机花费的资金要少很多。⑥服务多样性。用户可以支付不同的费用,以获得不同级别的服务等。为了更好地定义云计算,必须从云计算的服务使用者,服务提供者,组织方式,内部实现机制等方面同时定义。[8]⑦互联网络的快速发展正在对人们的生活和工作方式产生着深刻影响。继传统的个人计算机、客户,服务器的计算模式之后。崭新的“云计算”模式展现了现代互联网络的重要特质。李开复博士着重阐述了云计算四个方面的重要特点:云上的海量数据存储、无数的软件和服务置于云中、它们均构筑于各种标准和协议之上、可以通过各种设备来获得。(4)云计算的关键技术云计算是一种新型的超级计算方式,以数据为中心,是一种数据密集型的超级计算。在数据存储、数据管理、编程模式等多方面具有自身独特的技术。同时涉及了众多其他技术,如表2所示。本章主要介绍云计算特有的技术,包括数据存储技术,数据管理技术,编程模式等。技术类型具体技术设备架设数据中心节能节点互联技术改善服务技术可用性技术容错性技术资源管理技术数据存储技术数据管理技术任务管理技术数据切分技术任务调度技术编程模型其他相关技术负载均衡技术并行计算技术虚拟机技术系统监控技术表2-2云计算涉及的关键技术①数据存储技术为保证高可用、高可靠和经济性,云计算采用分布式存储的方式来存储数据,采用冗余存储的方式来保证存储数据的可靠性,即为同一份数据存储多个副本。另外,云计算系统需要同时满足大量用户的需求,并行地为大量用户提供服务。因此,云计算的数据存储技术必须具有高吞吐率和高传输率的特点。云计算的数据存储技术主要有谷歌的非开源GFS(GoogleFileSystem)[12]和Hadoop开发团队开发的GFS的开源实现HDFS(HadoopDistributedFileSystem)[13]大部分IT厂商,包括雅虎、英特尔的“云”计划采用的都是HDFS的数据存储技术。云计算的数据存储技术未来的发展将集中在超大规模的数据存储、数据加密和安全性保证以及继续提高IO速率等方面。②数据管理技术云计算系统对大数据集进行处理、分析向用户提供高效的服务。因此,数据管理技术必须能够高效地管理大数据集。其次,如何在规模巨大的数据中找到特定的数据,也是云计算数据管理技术所必须解决的问题。云计算的特点是对海量的数据存储、读取后进行大量的分析,数据的读操作频率远大于数据的更新频率,云中的数据管理是一种读优化的数据管理。因此,云系统的数据管理往往采用数据库领域中列存储的数据管理模式。将表按列划分后存储。云计算的数据管理技术中最著名的是谷歌提出的BigTable数据管理技术。由于采用列存储的方式管理数据,如何提高数据的更新速率以及进一步提高随机读速率是未来的数据管理技术必须解决的问题。③编程模型为了使用户能更轻松地享受云计算带来的服务,让用户能利用该编程模型编写简单的程序来实现特定的目的,云计算上的编程模型必须十分简单。必须保证后台复杂的并行执行和任务调度向用户和编程人员透明。云计算大部分采用Map—Reduce引的编程模式。现在大部分I-I'厂商提出的“云”计划中采用的编程模型,都是基于Map—Reduce的思想开发的编程工具。Map-Reduce不仅仅是一种编程模型,同时也是一种高效的任务调度模型。Map—Reduce这种编程模型并不仅适用于云计算,在多核和多处理器、ceilprocessor以及异构机群上同样有良好的性能。该编程模式仅适用于编写任务内部松耦合、能够高度并行化的程序。如何改进该编程模式,使程序员得能够轻松地编写紧耦合的程序,运行时能高效地调度和执行任务,是Map-Reduce编程模型未来的发展方向。(5)云计算和其他超级计算的区别①云计算与网格计算的区别IanFoster将网格定义为:支持在动态变化的分布式虚拟组织((VirtualOrganizations)间共享资源,协同解决问题的系统[14]。所谓虚拟组织就是一些个人、组织或资源的动态组合。图2-1图2-2图2-1和图2-2分别为云及网格的结构示意图。图2-1显示,云计算是一种生产者——消费者模型,云计算系统采用以太网等快速网络将若干集群连接在一起,用户通过因特网获取云计算系统提供的各种数据处理服务。图2-2显示,网格系统是一种资源共享模型,资源提供者亦可以成为资源消费者,网格侧重研究的是如何将分散的资源组合成动态虚拟组织。云计算和网格计算[15]的一个重要区别在于资源调度模式。云计算采用集群来存储和管理数据资源,运行的任务以数据为中心。即调度计算任务到数据存储节点运行。而网格计算,则以计算为中心。计算资源和存储资源分布在因特网的各个角落,不强调任务所需的计算和存储资源同处一地。由于网络带宽的限制,网格计算中的数据传输时间占总运行时间的很大一部分。网格将数据和计算资源虚拟化,而云计算则进一步将硬件资源虚拟化,活用虚拟机技术,对失败任务重新执行,而不必重启任务。同时,网格内各节点采用统一的操作系统(大部分为UNIX),而云计算放宽了条件,在各种操作系统的虚拟机上提供各种服务。和网格的复杂管理方式不同,云计算提供一种简单易用的管理环境。另外,网格和云在付费方式上有着显著的不同。网格按照同定的资费标准收费或者若干组织之间共享空闲资源。而云则采用用时付费以及服务等级协议的模式收费。其他区别不再赘述。②计算系统与传统超级计算机的区别超级计算机拥有强大的处理能力,特别是计算能力。2008年11月17日,最新一期的Top500榜单发布。冠军“RoadRunner”是IBM为美国LosAlamos国家实验窜建造的计算机系统。它的运算速度达到了1.026PFLOPS。RoadRunner超级计算机包含12960个IBMPowerXcell8i处理器以及6948个分布于刀片服务器上的AMDOpteron芯片。刀片服务器安装在288个IBMBladCener机架上。RoadRuner拥有80TB的内存,外存使用1.5PB容量的Panasas存储,外存通过10Gbps的以太网进行连接。耗资超过1亿美元。从TOPS00对超级计算机的排名方式可以看出,传统的超
本文标题:大数据与云计算
链接地址:https://www.777doc.com/doc-6317481 .html