Google云计算的基础架构
主要内容: 云计算, 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云计算的基础架构相关推荐
- 云计算的基础架构:并行计算+资源虚拟化
云计算的基础架构:并行计算+资源虚拟化 (2011-08-20 12:15:51) 标签: 校园 分类: 工作篇 高性能云计算:从科学应用的角度 科学计算往往需要可用的数量庞大的计算机来执行大规模实验 ...
- 数学之美:各个击破算法和Google云计算的基础
云计算的一个关键性问题就是如何把一个非常大的问题,自动分解到许多计算能力不是很强大的计算机上.Google针对此问题提出一个工具MapReduce,其基础就是算法中常见的分治算法. 假设要对一个长度为 ...
- 《数学之美》第29章 各个击破算法和Google云计算的基础
云计算的关键之一是,如何把一个非常大的计算问题,自动分解到许多计算能力不是很强大的计算机上,共同完成. 1 分治算法的原理 将一个复杂的问题,分成若干个简单的字问题进行解决.然后,对子问题的结果进行合 ...
- 12-16 云计算平台基础架构
基本heat脚本截图: 成heat脚本结果截图: 实验步骤 [root@xiandian ~]# #使用编配服务实现自动部署云主机vm [root@xiandian ~]# #第一步 获取基础资源 ...
- 2021-12-13 云计算平台基础架构 swift
班级:20网络3 学号:30 姓名:徐鑫 swift操作截图 设置后端存储截图 [root@xiandian ~]# source /etc/keystone/admin-openrc.sh [roo ...
- 云计算学习笔记002---云计算的理解及介绍,google云计算平台实现原理
什么是云计算: l 说的明白一点: • 云计算其实就更大限度的发挥网络的资源. • 那为什么叫云,为什么不到互联网计算?Cloud l 大多数计算的网络拓扑图都用一块"云&qu ...
- 云计算技术基础【11】
2. 从研究现状上看,下面不属于云计算特点的是() A. 高可靠性 B. 虚拟化 C. 超大规模 D. 私有化 3. 大数据的多样性体现在包括( ) A. 半结构化数据 B. 非结构化数据 ...
- 云计算技术基础【15】
1. Google文件系统(GFS)通过()方式提高可靠性 A. 双备份 B. 冗余 C. 校验码 D. 日志 2. Pig 是一个基于 Hadoop 的大规模数据分析平台,它提供的 SQL- ...
- 云计算技术基础【2】
1. 在Bigtable中,()主要用来存储子表数据以及一些日志文件 A. Chubby B. SSTable C. MapReduce D. GFS 2. 不属于桌面虚拟化技术构架的选项是 A. 虚 ...
最新文章
- 第二十章:异步和文件I/O.(十一)
- Thymeleaf抽取公共页面片段
- python中一个汉字点3个字节? utf-8
- python中try命令_Python 异常处理 Python 基础教程 try..except
- ps如何修改图片大小尺寸_如何查看图片尺寸,大小及如何修改图片尺寸—淘宝美工入门课03...
- 苹果x用了2年了,当前4G信号时有时无,大家有遇到过么?
- 迷人的bug--torch.load
- 新手必看,物联网卡常见的三大问题!
- Centos开机自动执行shell脚本启动tomcat服务器
- rapidminer java_在Java应用程序中集成RapidMiner
- Java中文英文数字混合掩码_Java8 中文教程
- 面试准备之java8的新特性
- C# 格式化XML方法
- 【App自动化测试】(四)Capability配置参数说明
- matlab wash矩阵产生,洗衣机净衣效能与衣损程度的关系分析
- 层次路由与路由选择协议
- python ros gps转xyz坐标系
- 如何做好一个项目经理
- 稀疏矩阵转CSR格式存储
- 时序预测构建ARIMA模型时报错:NotImplementedError: statsmodels.tsa.arima_model.ARMA and statsmodels.tsa.arima_
热门文章
- Access denied; you need (at least one of) the RELOAD privilege(s) for this operation
- C语言每日一练——第159天:佩奇存钱方案
- JDK8的下载安装以及配置环境变量步骤
- 小程聊微服务--微服务思想
- Oracle数据库常见的增删改查操作语句大全
- SuperSocket实战---使用SuperSocket的FixedHeaderReceiveFilter进行通信
- 光纤通信系统组成总结及相干光通信基础
- 链接h5代码_H5到底是什么?看完你就明白了!
- 中国城市码cityCode映射
- python标签打印_Python 实现自动完成A4标签排版打印功能