v1.0 可编辑可修改 第一章:大数据与云计算
1.何为大数据
海量数据或巨量数据,其规模巨大到无法通过目前主流的计算机系统在合理时间内获取、存储、管理、处理并提炼以帮助使用者决策。 2.大数据具有4V+1C的特征
(1)数据量大:存储的数据量巨大,PB级是常态 (2)多样:数据的来源及格式多样 (3)快速:数据增长速度快
(4)价值密度低:需要对大量的数据进行处理,挖掘其潜在的价值。 (5)复杂度:对数据的处理和分析的难度大 3.什么是云计算
长定义:云计算是一种商业模型。它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能根据需要获取计算力、存储空间和信息服务。 短定义:云计算是通过网络按需提供可动态伸缩的廉价计算服务。 4.云计算是并行计算、分布式计算和网络计算的发展。 5.云计算特点:
(1)超大规模(2)虚拟化(3)高可靠性(4)通用性 (5)高可伸缩性(6)按需服务(7)极其廉价 6.云计算按照服务类型大致可分为三类
(1)将基础设施作为服务。(IaaS)(2)将平台作为服务。(PaaS)(3)将软件作为服务(SaaS) 7.云计算实现机制
云计算技术体系结构分为四层:物理资源层、资源池层、管理中间件层和SOA构建层 8.云计算优势
(1)更低的硬件和网络成本(2)更低的管理成本和电力成本(3)更高的资源利用率
第二章:Google云计算原理与应用
文件系统是一个大型的分布式文件系统。它为Google云计算提供海量存储,处于所有核心
1
v1.0 可编辑可修改 技术的底层。
将整个系统的节点分为三类角色:客户端、主服务器、数据块服务器 特点
(1)采用中心服务器模式(2)不缓存数据(3)在用户状态下实现(4)只提供专用接口 4.在服务器失效经常发生的情况下,云计算数据存储技术需要采用容错机制和冗余机制来保证数据的可用性。
容错:Master上保存了GFS文件系统的三种元数据。 (1)命名空间,也就是整个文件系统的目录结构 (2)Chunk与文件名的映射表
(3)Chunk副本的位置信息,每一个Chunk默认有三个副本 Server容错:Chunk的默认大小是64MB。 7.系统管理技术
(1)大规模集群安装技术(2)故障检测技术(3)节点动态加入技术(4)节能技术 8. MapReduce:在编程时,开发者必须实现两个主要的函数Map和Reduce (1)一个Map函数就是对一部分原始数据进行指定的操作
(2)一个Reduce操作就是对每个Map所产生的中间结果进行合并操作 9.实现机制
(1)MapReduce函数首先把输入文件分成M块 (2)分派的执行程序中有一个主控程序Master
(3)一个被分配了Map任务的Worker读取并处理相关的输入块
(4)缓冲到内存的中间结果将被定时写到本地硬盘,这些数据通过分区函数分成R个区。 (5)当Master通知执行Reduce的Worker关于中间
(6)Reduce Worker根据每一个唯一中间key来遍历所有的排序后的中间数据,并且把key和相关的中间结果值集合传递给用户定义的Reduce函数
(7)当所有的Map任务和Reduce任务都完成的时候,Master激活用户程序。 10. 容错机制 MapReduce通过重新执行失效的地方来实现容错。 2
v1.0 可编辑可修改 (1)Master失效:Master会周期性地设置检查点,并导出Master的数据。一旦某个任务失效,系统就从最近的一个检查点恢复并重新执行。由于只有一个Master在运行,如果Master失效了,则只能终止整个MapReduce程序的运行并重新开始。
(2)Worker失效:Master会周期性地给Worker发送ping命令,如果没有Worker的应答,则Master认为Worker失效,终止对这个Worker的任务调度,把失效Worker的任务调度到其他Worker上重新执行。
11. P20 案例分析 和 实习 wordcount 设计动机
(1)需要存储的数据种类繁多 (2)海量的服务请求
(3)商用数据库无法满足Google的需求 设计目标
(1)广泛的适用性(2)很强的可扩展性(3)高可用性(4)简单性
是一个分布式多维映射表,表中的数据通过一个行关键字、一个列关键字、一个时间戳进行索引。数据类型:string (row:string,column:string,time:int64)->string 15.行:可以是任意的字符串,大小不能超过64KB。表中的数据都是根据行关键字进行排序的,排序使用的是词典序。 倒排好处:(1)同一地址域的网页会被存储在表中的连续为止,有利于用户查找和分析。(2)倒排便于数据压缩,可以大幅提高压缩率。
16.列:将其组织成所谓的列族。语法规则:族名:限定词。族名必须有意义,限定词则可以任意选定。族同时也是Bigtable中访问控制的基本单元
17.时间戳:Google的很多服务比如网页检索和用户的个性化设置等都需要保存不同时间的数据,这些不同的数据版本必须通过时间戳来区分。64位整型数,具体的赋值方式可以用户自行定义。
18.系统架构 三个云计算组件:WorkQueue:分布式的任务调度器,负责故障处理及监控。 GFS:保存资表数据及日志。Chubby:负责元数据库存储及主服务器的选择。 的作用
(1)选取并保证同一时间内只有一个主服务器。 3