主要内容: 云计算, Google云计算基础架构,GFS,MapReduce,BigTable, Google云计算平台App Engine简介

主讲人:王咏刚

一 Google云计算技术架构:

GFS+MapReduce+BigTable

GFS解决的是数据存储的问题

MapReduce解决海量数据并行计算的问题

BigTable解决的是结构化数据的管理问题

GFS是google自己设计的分布式文件系统,是大量安装有Linux操作系统的普通PC构成的集群系统。整个集群系统由一台Master(通常有几台备份)和若干台TrunkServer构成。GFS中文件备份成固定大小的Trunk分别存储在不同的TrunkServer上,每个Trunk有多份(比如3)拷贝,也存储在不同的TrunkServer上。Master负责维护GFS中的 Metadata,即文件名及其Trunk信息。客户端先从Master上得到文件的Metadata,根据要读取的数据在文件中的位置与相应的 TrunkServer通信,获取文件数据(以上介绍来自:http://wiki.huihoo.com/index.php?title=Google_File_System)。

据介绍,google的每一份数据至少放在三个不同位置的机器上,所以可靠性是可以高度保证的;而且操作GFS和操作本地磁盘一样简单易行。

目前Google拥有超过200个的GFS集群,其中有些集群的计算机数量超过5000台。Google现在拥有数以万计的连接池从GFS集群中获取数据,集群的数据存储规模可以达到5个PB,并且集群中的数据读写吞吐量可达到每秒40G。

MapReduce是一个编程模式,它是与处理/产生海量数据集的实现相关。用户指定一个map函数,通过这个map函数处理key/value(键/值)对,并且产生一系列的中间key/value对,并且使用reduce函数来合并所有的具有相同key值的中间键值对中的值部分。MapReduce的主要贡献在于提供了一个简单强大的接口,通过这个接口,可以把大尺度的计算自动的并发和分布执行。

常见的应用例子: 在很大的文档集合中通机每一个单词出现的次数.  map函数检查每一个单词,并且对每一个单词增加1到其对应的计数器;reduce函数把特定单词的所有出现的次数进行合并。

其他例子:

URL访问频率统计:map函数处理webpag请求和应答(URL,1)的log。Reduce函数把所有相同的URL的值合并,并且输出一个成对的(URL,总个数)。

逆向Web-Link 图:map函数输出所有包含指向target URL的source网页,用(target,source)这样的结构对输出。Reduce函数局和所有关联相同target URL的source列表,并且输出一个(target,list(source))这样的结构。

分布式排序:map函数从每条记录中抽取关键字,并且产生(key,record)对。reduce函数原样输出所有的关键字对。

(参考:http://avindev.googlepages.com/mapreduce.doc)

  BigTable:一种用于管理超大规模结构化数据的分布式存储系统,可以管理分布在数以千计服务器上的以PB计的数据。Bigtable API将包括用于创建、编辑表和列,改变群集、表、列元数据的函数。BT不支持完全的关系数据模型,而是为客户提供了简单的数据模型,让客户来动态控制数据的分布和格式。BT只能支持大部分SQL。

二、Google App Engine

Google App Engine是一个开发、托管网络应用程序的平台,使用Google管理的数据中心。它在2008年4月发布了第一个beta版本。Google App Engine使用了云计算技术,它跨越多个服务器和数据中心来虚拟化应用程序。当前,Google App Engine支持的编程语言是Python和Java. http://appengine.google.com

三、Hadoop

Hadoop(http://hadoop.apache.org)是apache下面的一个分布式并行计算框架,是从lunece中抽取出来的一个框架。Hadoop主要是由HDFS、MapReduce和Hbase组成。
 HDFS是Google File System(GFS)的开源实现。
 MapReduce是Google MapReduce的开源实现。
 HBase是Google BigTable的开源实现

Google的上述分布式框架很有创造性,而且有极大的扩展性,使得Google在系统吞吐量上有很大的竞争力,但是用C++写的。因此Apache基金会用Java实现了一个开源版本hadoop,支持Fedora、Ubuntu等Linux平台。

Google云计算的基础架构相关推荐

  1. 云计算的基础架构:并行计算+资源虚拟化

    云计算的基础架构:并行计算+资源虚拟化 (2011-08-20 12:15:51) 标签: 校园 分类: 工作篇 高性能云计算:从科学应用的角度 科学计算往往需要可用的数量庞大的计算机来执行大规模实验 ...

  2. 数学之美:各个击破算法和Google云计算的基础

    云计算的一个关键性问题就是如何把一个非常大的问题,自动分解到许多计算能力不是很强大的计算机上.Google针对此问题提出一个工具MapReduce,其基础就是算法中常见的分治算法. 假设要对一个长度为 ...

  3. 《数学之美》第29章 各个击破算法和Google云计算的基础

    云计算的关键之一是,如何把一个非常大的计算问题,自动分解到许多计算能力不是很强大的计算机上,共同完成. 1 分治算法的原理 将一个复杂的问题,分成若干个简单的字问题进行解决.然后,对子问题的结果进行合 ...

  4. 12-16 云计算平台基础架构

    基本heat脚本截图: 成heat脚本结果截图:  实验步骤 [root@xiandian ~]# #使用编配服务实现自动部署云主机vm [root@xiandian ~]# #第一步 获取基础资源 ...

  5. 2021-12-13 云计算平台基础架构 swift

    班级:20网络3 学号:30 姓名:徐鑫 swift操作截图 设置后端存储截图 [root@xiandian ~]# source /etc/keystone/admin-openrc.sh [roo ...

  6. 云计算学习笔记002---云计算的理解及介绍,google云计算平台实现原理

    什么是云计算: l  说的明白一点: •    云计算其实就更大限度的发挥网络的资源. •    那为什么叫云,为什么不到互联网计算?Cloud l 大多数计算的网络拓扑图都用一块"云&qu ...

  7. 云计算技术基础【11】

    2. 从研究现状上看,下面不属于云计算特点的是() A.  高可靠性 B.  虚拟化 C.  超大规模 D.  私有化 3. 大数据的多样性体现在包括( ) A.  半结构化数据 B.  非结构化数据 ...

  8. 云计算技术基础【15】

    1. Google文件系统(GFS)通过()方式提高可靠性 A.  双备份 B.  冗余 C.  校验码 D.  日志 2. Pig 是一个基于 Hadoop 的大规模数据分析平台,它提供的 SQL- ...

  9. 云计算技术基础【2】

    1. 在Bigtable中,()主要用来存储子表数据以及一些日志文件 A. Chubby B. SSTable C. MapReduce D. GFS 2. 不属于桌面虚拟化技术构架的选项是 A. 虚 ...

最新文章

  1. 第二十章:异步和文件I/O.(十一)
  2. Thymeleaf抽取公共页面片段
  3. python中一个汉字点3个字节? utf-8
  4. python中try命令_Python 异常处理 Python 基础教程 try..except
  5. ps如何修改图片大小尺寸_如何查看图片尺寸,大小及如何修改图片尺寸—淘宝美工入门课03...
  6. 苹果x用了2年了,当前4G信号时有时无,大家有遇到过么?
  7. 迷人的bug--torch.load
  8. 新手必看,物联网卡常见的三大问题!
  9. Centos开机自动执行shell脚本启动tomcat服务器
  10. rapidminer java_在Java应用程序中集成RapidMiner
  11. Java中文英文数字混合掩码_Java8 中文教程
  12. 面试准备之java8的新特性
  13. C#   格式化XML方法
  14. 【App自动化测试】(四)Capability配置参数说明
  15. matlab wash矩阵产生,洗衣机净衣效能与衣损程度的关系分析
  16. 层次路由与路由选择协议
  17. python ros gps转xyz坐标系
  18. 如何做好一个项目经理
  19. 稀疏矩阵转CSR格式存储
  20. 时序预测构建ARIMA模型时报错:NotImplementedError: statsmodels.tsa.arima_model.ARMA and statsmodels.tsa.arima_

热门文章

  1. Access denied; you need (at least one of) the RELOAD privilege(s) for this operation
  2. C语言每日一练——第159天:佩奇存钱方案
  3. JDK8的下载安装以及配置环境变量步骤
  4. 小程聊微服务--微服务思想
  5. Oracle数据库常见的增删改查操作语句大全
  6. SuperSocket实战---使用SuperSocket的FixedHeaderReceiveFilter进行通信
  7. 光纤通信系统组成总结及相干光通信基础
  8. 链接h5代码_H5到底是什么?看完你就明白了!
  9. 中国城市码cityCode映射
  10. python标签打印_Python 实现自动完成A4标签排版打印功能