云计算涉及领域广泛,有数据通信背景,有权威认证,在该领域的影响力不断提升。那么什么是云计算技能呢?
云计算系统使用了很多技术,其中编程模型、数据管理技术、数据存储技术、虚拟化技术、云平台管理技术计算最为重要。
(1)编程模型
MapReduce是Google开发的Java、Python和Chop编程模型。它是一种简化的分布式编程模型和高效的任务调度模型,用于大规模数据集(超过1TB)的并行计算。严谨的编程模型使得云计算环境下的编程变得非常容易。MapReduce模型的思想是将要执行的问题分解为Map(映射)和Reduce(化简)。首先通过Map程序将数据划分为不相关的块,分配(编程)大量的计算机处理达到分布式计算的效果,然后通过Reduce程序汇总生成结果。
(2)海量数据分布式存储技术
云计算机系统由大量服务器组成,同时为大量用户服务。因此,云计算系统采用分布式存储来存储数据,并通过冗余存储来保证数据的可靠性。云计算系统中广泛使用的数据存储系统这是由GoogleGFS和Hadoop团队开发的HDFS的开源实现。
GFS是Google的文件系统。
System)是一个分布式文件系统,可扩展用于大量数据、分布式且可访问大量数据。GFS的设计理念与传统文件系统不同。它是针对大规模数据处理和Google应用程序功能而设计的。它运行在普通、廉价的硬件上,但可以提供容错功能。它可以为广泛的用户提供高性能的服务。
GFS集群由一个主服务器和大量的块服务器组成,可供多个客户端访问。主服务器存储文件系统元数据,包括命名空间、访问控制信息、文件到块的映射以及块的当前位置。它还控制系统级活动,例如块租赁管理、孤立块垃圾收集以及块服务器之间的块传输。主服务器定期发送HeartBeat信息,与各个区块服务器进行通信,向区块服务器发送指令,并收集其状态。GFS中的文件被分为64MB的块,具有冗余存储,每个数据都以3次以上的备份存储在系统中。
客户端和主服务器的更换仅限于元数据操作和所有数据通讯直连区块服务器,大大提高了系统效率,防止主服务器过载。
(3)大量数据管理技术
(3)大量数据管理技术
云计算必须处理和分析大量分布式数据,因此数据管理技术必须能够有效处理大量数据。云计算系统中的数据管理技术主要是GoogleBT(BigTable)数据管理技术和Hadoop团队开发的HBase开源数据管理模块。
云计算的主要技术包括: