云计算内容总结与习题参考答案第1章大数据与云计算重点知识点:1、大数据的定义及特征(P3);2、云计算的定义及特征(P3-4);3、云计算与大数据的关系(P3,大数据是需求,云计算是手段);4、云计算服务的3种类型(P4-5,IaaS、PaaS、SaaS);5、云计算的体系结构(P8,分为4层:物理资源层、资源池层、管理中间件层、SOA层);6、全球企业的IT开销及其发展趋势(P9,图1-6,分为3个部分:硬件开销、能耗、管理成本);7、使用云计算的数据中心对比传统数据中心的优势(P9-12,图1-9)习题参考答案:1.大数据现象是怎么形成的?答题要点:(P2-3)先回答大数据的概念,再回答大数据产生(即全球数据量增长快)的原因。
答:大数据就是:海量数据或巨量数据,其规模巨大到无法通过目前主流的计算机系统在合理时间内获取、存储、管理、处理并提炼以帮助使用者决策。
大数据产生的原因可以从2个方面来看:一是数据产生方式的改变。
过去的信息是由手工产生的,而随着人类进入信息社会,信息的产生越来越自动化。
二是人类的活动越来越依赖数据。
产生数据的主要源头有:(1)人类的日常生活已经与数据密不可分(如使用个人智能设备产生的数据);(2)科学研究进入了“数据科学”时代(科学研究产生的数据);(3)各行各业也越来越依赖大数据手段来开展工作(各行各业工作过程中所产生的数据)。
2.新摩尔定律的含义是什么?答题要点:(P1)答:由图灵奖获得者Jim Gray提出,内容是:每18个月全球新增信息总量是计算机有史以来全部信息量的总和。
3.云计算有哪些特点?答题要点:(P4)答:云计算的特点:(1)超大规模。
指的是提出云计算数据中心的建设规模,谷歌云拥有上百万台服务器,亚马逊、IBM、微软、Yahoo、阿里、百度和腾讯等公司的“云”都拥有几十万台服务器。
(2)虚拟化。
程序可以运行在云“中”,并对外提供服务。
因此,户不必知道提供服务的程序是在哪个位置运行,只需要用一台终端设备(如计算机、PAD或手机)就可方便地获得程序提供的服务。
(3)高可靠性。
“云”使用了数据多副本容错、计算机节点同构可互换等措施,使运行和存储在“云”上的程序和数据比运行和存储在本地计算机更可靠。
(4)通用性。
云计算不针对特定的应用,在“云”上可以开发出不同的程序,提供各种服务。
(5)高可伸缩性。
“云”的规模可动态伸缩,可以较好满足应用和用户规模增长的需求。
(6)按需服务。
“云”是一个庞大的资源池,由用户按需购买,按使用量计费。
(7)极其廉价。
相对于传统数据中心:“云”计算中心更大,管理成本更低;“云”计算中心的硬件使用率更高;“云”计算中心更适合建立在电力资源丰富的较偏远地区。
4.云计算按照服务类型可以分为哪几类?答题要点:(P4-5)分别答出三种分类及其代表产品。
答:云计算按服务类型可以分为三类:(1)将基础设施作为服务,IaaS(Infrastructure as a Service),如:Amazon EC2/S3;(2)将平台作为服务,PaaS(Platform as a Service),如:Google App Engine 、Microsoft Windows Azure;(3)将软件作为服务,SaaS(Software as a Service),如:Salesforce online CRM。
5.云计算技术体系结构可以分为哪几层?答题要点:(P7-8)答出分层的名称,简单说明其内涵。
答:云计算技术体系结构分为4层:(1)物理层:包括计算机、存储器、网络设置、数据库和软件等;(2)资源池层:将大量相同类型的资源构成同构或接近同构的资源池,如计算资源池、数据资源池等;(3)管理中间件层:负责对云计算的资源进行管理,对众多应用任务进行调度;(4)SOA(面向服务体系结构)构建层:将云计算能力封装成标准的Web Services 服务,以SOA体系进行管理,并提供各项接口供用户访问。
6.在性价比上云计算相比传统技术为什么有压倒性的优势?答题要点:(P9-P11)要分为成本的降低和资源利用率的提高两方面来回答。
答:云计算较传统技术有两方面的优势:(1)由于主流云服务供应商使用的数据中心多是大型云计算数据中心,其管理和运营成本(人员费用、电力费用等)是传统数据中心成本的1/5——1/7,因此云计算在性价比上比传统技术有5——7倍的优势;(2)传统数据中心按照峰值要求来配置服务器和网络资源,资源的平均利用率只有10%——15%;而云计算平台是有弹性的服务,它根据租用者的需要在一个超大的资源池中动态分配和释放资源,不需要为每个租用者预留峰值资源,因此云计算资源的利用率可以达到80%左右,是传统技术的5——7倍。
第2章Google云计算原理与应用重点知识点:1、Google云计算系统的组成部分(P13,各重要部分的名称及作用);2、Google云计算系统中的GFS对比传统分布式文件系统的区别(P13,利用软件的方法实现容错);3、GFS的系统架构(P14,图2-1);4、GFS的容错机制(P16);5、MapReduce的运行模型与执行流程(P18-20,图2-2,图2-3);6、Chubby的功能、作用(P22-23,使用Paxos算法实现的分布式锁服务);7、Chubby的系统架构(P24-26,图2-7);8、Bigtable的数据模型(P33,图2-12,行、列族、列、时间戳);9、Bigtable的系统架构及其各组成部分的作用(P34-39,图2-13);习题参考答案:1.Google云计算技术包括哪些内容?答题要点:(P13)要答出有关技术的分类和名称。
答:Google云计算技术包括:Google分布式文件系统GFS,分布式计算编程模型MapReduce,分布式锁服务Chubby,分布式结构化数据表Bigtable,分布式存储系统Megastore,分布式监控系统Dapper,数据交互分析工具Dremel和PowerDrill,等等。
2.当前主流分布式文件系统有哪些?各有什么优缺点?答题要点:(P13)此题的问法有些不完整,题义应该是问传统分布式文件系统的实现方法与Google 的分布式文件系统GFS的区别。
答:RedHat、IBM、Sun等公司都有分布式文件系统的解决方案,这些解决方案依靠RAID技术、SAN存储区域网来容错(是基于硬件的容错),对构建分布式文件系统的硬件有较高的要求,存储成本高。
Google的GFS是使用软件的方式,在文件系统上实现容错,可以使用廉价的机器构建,存储成本低。
相对于传统的分布式文件系统,Google的GFS分布式文件系统的容错性能在可靠性和存储成本上,都具有优势。
3.GFS采用了哪些容错措施来确保整个系统的可靠性?答题要点:(P16-17)除了要把容错技术的名称答出来以外,还要简单说明机理。
答:Google的GFS采用的容错机制可以分为:(1)Master容错。
Master上保存着GFS的元数据(包括命名空间(Name)和Chunk映射表等),这些元数据及Master的操作日志保存在磁盘中,Master出错时而磁盘数据完好时,可以通过磁盘数据恢复Master。
GFS对Master进行远程实时备份,如果Master彻底死机,另外一台Master可以迅速接替其工作。
(2)Chunk Server容错。
Chunk是GFS的数据块,一个Chunk默认存储3个位于不同Chunk Server的副本,Master 会检查Chunk的副本数,在出现Chunk副本丢失或不可恢复时,Master自动将该副本复制到其他Chunk Server。
另外,Chunk以文件的形式保存在Chunk Server,Chunk文件以Block(64K)来划分,每一个Block对应一个32位的校验和,Chunk Server会检查数据和检验和,如果不匹配就返回错误。
4.MapReduce与传统的分布式程序设计相比有何优点?答题要点:(P18)答:MapReduce封装了并行处理、容错处理、本地化计算、负载均衡等细节,还提供了一个简单而强大的接口。
通过这个接口,可以把大尺度的计算自动地并发和分布执行,使编程变得非常容易。
另外,MapReduce也具有较好的通用性,大量不同的问题都可以简单地通过MapReduce来解决。
5.Chubby的设计目标是什么?Paxos算法在Chubby中起什么作用?答题要点:(P24-27)答:Chubby的设计目标主要有:(1)高可用性和高可靠性。
(2)高扩展性。
(3)支持粗粒度的建议性锁服务。
(4)服务信息的直接存储。
(5)支持通报机制。
(6)支持缓存机制。
Paxos算法在Chubby中起到保证副本之间数据一致的作用(Chubby Cell(单元)中的所有副本都要保持完全一致)。
6.阐述Bigtable的数据模型和系统架构。
答题要点:(P33-39)答:Bigtable的数据模型是一个多维映射表,通过行关键字、列关键字和时间戳进行索引(定位数据):(1)行。
行关键字用于标识Bigtable中不同的行,可以是任意字符串,大小不能超过64KB。
Bigtable中的数据是通过行关键字按字典序进行排序的。
(2)列。
Bigtable中的列,以列族进行组织,一个列关键字以“族名:列名”的形式表示,每个列族中的列属于同种数据类型,并且访问控制(Access Control)是在列族上进行定义的。
(3)时间戳。
用于在区别Bigtable中数据的版本,同一个行、列定位的数据,可以根据设置保存具有不同时间戳的数据值。
Bigtable主要由三个部分组成:主服务器Master Server、子表服务器Tablet Server和客户端程序库(Client Library)。
主服务器主要进行一些元数据操作以及子表服务器之间的负载调度问题,子表服务器则以子表的形式(通过GFS以SSTable类型文件)保存Bigtable的数据,一个子表服务器负责存储若干个(通常100个左右)子表。
访问Bigtable服务需要使用Bigtable 的客户端。
7.分布式存储系统Megastore的核心技术是什么?答题要点:(P47)答:Megastore最核心的技术是复制。
8.大规模分布式系统的监控基础架构Dapper关键技术是什么?答题要点:(P56)答:Dapper关键技术主要有两个方面:(1)轻量级的核心功能库。
Dapper的监控过程基本对应用层透明。
(2)二次抽样技术。
利用二次抽样技术成功解决了低开销及广泛可部署性的问题。
9.相比于行存储,列存储有哪些优点?答题要点:(P62)答:相对于行存储,列存储以属性为单位,每次存储一个属性。