- 云计算与大数据技术应用
- 安俊秀 靳宇昌主编
- 901字
- 2021-04-01 18:21:22
1.3 典型的云计算基础架构
了解了云计算技术的概念和发展背景之后,在此以Google的云计算架构为例介绍典型的云计算基础架构。
Google的云计算技术实际上是针对Google最重要的搜索应用而开发的。针对内部网络数据规模超大的特点,Google提出了一整套基于分布式的并行集群基础架构,并且Google的数据中心采用廉价的Linux PC机组成集群,利用软件来处理集群中经常发生的结点失效问题,从而形成了Google的云计算基础架构。
Google的云计算基础架构包括三个相互独立又紧密结合在一起的系统:GFS分布式文件系统、针对Google应用程序的特点提出的MapReduce编程模型和大规模分布式数据库BigTable,如图1-7所示。
图1-7 Google的云计算架构
1)GFS是建立在集群之上的分布式文件系统,Google为了满足其迅速增长的数据处理需求,对文件系统进行了特别优化,解决了包括超大文件的访问、读操作比例远超过写操作和集群中的结点极易发生故障造成结点失效等问题(GFS默认把超大文件分成64MB的块,分布在集群的机器上,使用Linux的文件系统存放,同时每块文件至少有3份以上的冗余,从而解决结点失效问题)。
2)MapReduce是分布式并行编程模型。Google构造MapReduce并行编程模型来简化分布式系统的编程,用户只需要提供自己的Map函数以及Reduce函数,就可以在集群上进行大规模的分布式并行数据处理。Map(映射)是把输入Input分解成中间的Key/Value键值对,Reduce(化简)把Key/Value键值对合成最终的输出Output。这两个函数由开发者提供给系统,Map和Reduce操作分布在集群上运行,并把结果存储在GFS上。
3)BigTable是分布式大规模数据库管理系统,由于Google应用程序需要处理大量的半结构化数据,Google构建了弱一致性要求的大规模数据库系统BigTable。它是稀疏的、分布式的、持久化的、多维排序的,并以Key/Value键值对形式存储的数据模型。BigTable不是关系型数据库,像它的名字一样,就是一个巨大的表格,用来存储半结构化数据。
以上是Google内部云计算架构的三个主要部分,除了这三个部分之外,Google还构建了其他云计算组件,包括领域描述语言、分布式程序调度器,分布式锁服务Chubby机制等。
图1-8为Google云计算的核心技术构成。其中,数据处理采用MapReduce并行编程模式;大文件存储采用GFS;大规模数据库管理系统采用BigTable;云计算服务采用Google App Engine。广为流行的Hadoop是对Google的MapReduce、GFS和BigTable等核心技术的开源实现,由Apache软件基金会支持。
图1-8 Google的云计算核心技术