Google云计算原理与应用-精选文档
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Google File System文件系统
• Google File System:
GFS文件系统为了满足Google迅速增长的数据处理需求应 运而生
GFS文件系统与过去的分布式文件系统拥有许多相同的目 标:性能、可伸缩性、可靠性以及可用性 GFS文件系统要解决Google所面临的的与众不同的问题, 具有与Google应用负载和技术环境相符的特性
• Chubby是一个文件系统,如何提供“锁”服务
– Chubby中的锁就是文件 – 在GFS的例子中,创建文件就是进行“加锁”操作,创 建文件成功的那个server其实就是抢占到了“锁” – 用户通过打开、关闭和读取文件,获取共享锁或者独 占锁;并且通过通信机制,向用户发送更新信息 – 因此,通过Chubby可以解决Google云计算中的分布式 一致性问题
Chubby分布式锁服务
• Google云计算中的分布式一致性问题
– 例如,GFS在物理上往往包含多个Master,但需要在逻 辑上确定唯一的Master。如何确定?这是一个分布式 一致性问题
• Chubby是Google为解决分布式一致性问题而设计 的提供粗粒度锁服务的文件系统
Chubby分布式锁服务
• 为分布式存储和分布式计算找到了盈利模式
– 提出以来发展迅速,Google、Amazon、Microsoft等公 司都提出了自己的云计算方案
• 为什么Google需要“云”?
– 系统规模对系统设计的重要性 – Google提供的服务:海量信息+海量用户,如何又好 又快地提供服务?
Google的“云”在哪里?
Google云计算原理与应用
答辩人:栗建行 指导教师:郝卫东
主要内容
• • • • Google的“云”在哪里? Google云计算主要原理及应用 Google云计算平台GAE开发环境及构建 Google基于安卓的智能家居
Google的“云”在哪里?
• 云计算是一个新概念
– 于07年第3季度被提出,是并行计算、分布式计算和网 格计算等技术的混合演进, – 经过商业包装的概念
BigTable大规模分布式数据库
• BigTable的数据模型
– 总体上,与关系数据库中的表类似
数据模型包括行列以及相应的时间戳,所有的数据都存 放在表格中的单元里。BigTable的内容按照行来一个小表就被称为Tablet。
BigTable大规模分布式数据库
• BigTable的基本架构
• 实现机制: 1. 客户端首先访问Master节点,获取交互的Chunk Server信息,然后访问这些Chunk Server,完成 数据存取工作。这种设计方法实现了控制流和数 据流的分离。 2. Client与Master之间只有控制流,而无数据流, 极大地降低了Master的负载。 3. Client与Chunk Server之间直接传输数据流,同 时由于文件被分成多个Chunk进行分布式存储, Client可以同时访问多个Chunk Server,从而使 得整个系统的I/O高度并行,系统整体性能得到 提高。
Google File System文件系统
• 系统架构:
• 客户端(Client):应用程序的访问接口 • 主服务器(Master):管理节点,在逻辑上只有一个,保 存系统的元数据,负责整个系统的管理 • 数据块服务器(Chunk Sever):负责具体的存储工作
Google File System文件系统
BigTable大规模分布式数据库
• BigTable的设计目标
– 具有广泛的适应性
• 支持Google系列产品的存储需求
– 具有很强的可扩展性
• 根据需要随时加入或撤销服务器
– 高可用性
• 尽管单个节点易损,但要确保几乎所有的情况下系统都可用
– 简单性
• 简单的底层系统可减少系统出错概率,为上层开发带来便利
MapReduce分布式数据处理
• MapReduce操作执行流程图
MapReduce分布式数据处理
• 词频统计流程:
Chubby分布式锁服务
• 分布式一致性问题
– 在一个分布式系统中,有一组的Process,它们需要确 定一个Value。于是每个Process都提出了一个Value, 一致性就是指只有其中的一个Value能够被选中作为最 后确定的值,并且当这个值被选出来以后,所有的 Process都需要被通知到
• Google的“云”无所不在
– Google Earth、Gmail、Google Docs – 云计算技术是Google大部分应用的基础设施 – 没有“云计算”,就没有Google的创新服务
Google云计算主要原理
Google使用的云计算基础架构模式包括四个相互独立 而又紧密结合在一起的系统: • Google File System:建立在集群之上的文件系统 • MapReduce:针对Google应用程序的特点提出的编 程模式 • Chubby:分布式锁服务 • BigTable:模型简化的大规模分布式数据库
MapReduce分布式数据处理
• MapReduce
– Google提出的一个软件架构,是一种处理海量数据的 并行编程模式 – 用于大规模数据集(通常大于1TB)的并行运算
• MapReduce实现了Map和Reduce两个功能
– Map把一个函数应用于集合中的所有成员,然后返回一 个基于这个处理的结果集 – Reduce对结果集进行分类和归纳 – Map()和 Reduce() 两个函数可能会并行运行,即使不 是在同一的系统的同一时刻
Google File System文件系统
• 新特性主要体现在以下四个方面 1. 集群中的节点失效是一种常态,而不是一种异常 2. Google系统中的文件大小与通常文件系统中的文 件大小概念不一样,文件大小通常以G字节计 3. Google文件系统中的文件读写模式和传统的文件 系统不同 4. 文件系统的某些具体操作不再透明,而且需要应 用程序的协助完成,应用程序和文件系统API的 协同设计提高了整个系统的灵活性