文档介绍:第3章云计算平台云计算与大数据概论目标掌握Google云计算体系结构掌握Google文件系统GFS了解GoogleAppEngine掌握Amazon云平台相关技术和服务了解微软云平台服务了解阿里云平台、百度云平台和腾讯云平台服务Google云计算平台体系结构-1Google云计算平台体系结构如图:Google云计算平台体系结构-2从整体看来,Google云计算平台包含如下结构层次:网络系统:包括内部网络和外部网络。内部网络是用于连接Google自建的各数据中心的网络系统,这一高速的网络系统将Google的每一台服务器连接成为一个负载均衡的集群;外部网络是指在Google数据中心之外,由Google自己搭建的用于不同国家/地区及不同应用之间的数据交换网络。硬件系统:从层次上来看,包括单个服务器,整合多个服务器的机架,以及存放、连接各服务器机架的数据中心(IDC)。软件系统:包括每个服务器上安装的单机操作系统,以及Google云计算底层软件系统(包括文件系统GFS、并行计算模型MapReduce、并行数据库BigTable、并行锁服务Chubby和云计算消息队列GWQ等)。Google应用:Google内部使用的软件开发工具,包括C++、Java、Python等。Google云计算平台核心技术-1Google云计算技术主要包括:Google文件系统GFS、并行计算编程模型MapReduce、分布式锁服务Chubby、分布式结构化数据存储系统BigTable、分布式存储系统Megastore以及分布式监控系统Dapper等。Google云计算平台核心技术-(GFS)GFS(GoogleFileSystem)是一个大型的分布式文件系统,为Google云计算提供海量存储。GFS的工作量主要包括对大量数据的流方式的读操作和对少量数据的随机方式的读操作。GFS的特点:单Master模式、块规模为64MB、不缓存文件数据,缓存元数据。Google云计算平台核心技术-,用来处理大数据的数据集合。用户指定一个Map函数处理一个键值对,从而产生中间的键值对集,然后再指定一个Reduce函数,合并所有具有相同中间键的中间值集合。MapReduce将对数据集的大规模操作分发给一个主节点管理下的各分节点来共同完成,通过这种方式实现任务的可靠执行与容错机制。在每个时间周期,主节点都会对分节点的工作状态进行标记,一旦某个分节点标记为死亡状态,则这个节点的所有任务都将分配给其他分节点重新执行。Google通过使用这一编程模式,保持了服务器之间的均衡,提高了整体效率。Google云计算平台核心技术-。Chubby是一个Lock服务,通过该Lock服务可以解决分布式系统中的一致性问题,而其实现形式是一个分布式的文件系统。在GFS中,存在很多服务器,需要从中选取一台作为主服务器,这就是一个很典型的分布式的一致性问题。Google云计算平台核心技术-、MapReduce和Chubby开发的分布式存储数据库系统,被设计用来处理海量数据,通常是分布在数千台普通服务器上的PB级的数据,并且能够部署到上千台机器上。BigTable和数据库很类似:它使用了很多数据库的实现策略,但它并不是一个完全的关系型数据库,它不支持完整的关系数据模型,而是提供了一个简单的数据模型接口,使得数据的存储更加灵活。Google的很多数据,包括Web索引、卫星图像数据等在内的海量结构化和半结构化数据,都是存储在BigTable中的。Google云计算平台核心技术-:互联网上的应用对于数据的可用性和系统的扩展性有很高的要求,一方面,一般的互联网应用都需要做到7天x24小时的不间断服务,否则会导致较差的用户体验;另一方面,热门的应用又往往会在短时间内经历急剧的用户数量增长,这就要求系统具有良好的可扩展性。为实现较好的可扩展性,互联网应用常常会采用NoSQL存储方式,但从应用程序的构建方面来看,传统的关系型数据库又有着NoSQL所不具备的优势。为此,Google设计构建了分布式存储系统Megastore,用于互联网中的交互式服务,这一系统成功地将关系型数据库和NoSQL的特点与优势进行了融合。