谷歌三篇论文(GFS,MapReduce,BigTable)
Google引爆大数据时代的三篇论文
谈到Hadoop的起源,就不得不提Google的三驾马车:Google FS、MapReduce、BigTable。虽然Google没有公布这三个产品的源码,但是他发布了这三个产品的详细设计论文,奠定了风靡全球的大数据算法的基础!
一,GFS—-2003
2003年,Google发布Google File System论文,这是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。它运行于廉价的普通硬件上,提供容错功能。从根本上说:文件被分割成很多块,使用冗余的方式储存于商用机器集群上。
GFS由一个master和大量的chunkserver构成。Google设置一个master来保存目录和索引信息,这是为了简化系统结果,提高性能来考虑的,但是这就会造成主成为单点故障或者瓶颈。为了消除主的单点故障Google把每个chunk设置的很大(64M),这样,由于代码访问数据的本地性,application端和master的交互会减少,而主要数据流量都是Application和chunkserver之间的访问。
另外,master所有信息都存储在内存里,启动时信息从chunkserver中获取。提高了master的性能和吞吐量,也有利于master当掉后,很容易把后备j机器切换成master。客户端和chunkserver都不对文件数据单独做缓存,只是用linux文件系统自己的缓存。
从上图可以看出,Google的后面两篇论文——MapReduce 和 BigTable都是以GFS为基础。三大基础核心技术构建出了完整的分布式运算架构。
二,MapReduce—-2004
紧随其后的就是2004年公布的 MapReduce论文,论文描述了大数据的分布式计算方式,主要思想是将任务分解然后在多台处理能力较弱的计算节点中同时处理,然后将结果合并从而完成大数据处理。
传说中,Google使用它计算他们的搜索索引。而Mikio L. Braun认为其工作模式应该是:Google把所有抓取的页面都放置于他们的集群上,然后每天使用MapReduce来重算。
Mapreduce是针对分布式并行计算的一套编程模型。
讲到并行计算,就不能不谈到微软的Herb Sutter在2005年发表的文章” The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software”,主要意思是通过提高cpu主频的方式来提高程序的性能很快就要过去了,cpu的设计方向也主要是多核、超线程等并发上。但是以前的程序并不能自动的得到多核的好处,只有编写并发程序,才能真正获得多核的好处。分布式计算也是一样。
Mapreduce由Map和reduce组成,来自于Lisp,Map是影射,把指令分发到多个worker上去,reduce是规约,把Map的worker计算出来的结果合并。Mapreduce使用GFS存储数据。
3
BigTable—-2006
Bigtable发布于2006年,启发了无数的NoSQL数据库,比如:Cassandra、HBase等等。Cassandra架构中有一半是模仿Bigtable,包括了数据模型、SSTables以及提前写日志(另一半是模仿Amazon的Dynamo数据库,使用点对点集群模式)。
BigTable 是建立在 GFS 和 MapReduce 之上的。每个Table都是一个多维的稀疏图
为了管理巨大的Table,把Table根据行分割,这些分割后的数据统称为:Tablets。每个Tablets大概有 100-200 MB,每个机器存储100个左右的 Tablets。底层的架构是:GFS。
由于GFS是一种分布式的文件系统,采用Tablets的机制后,可以获得很好的负载均衡。比如:可以把经常响应的表移动到其他空闲机器上,然后快速重建。
三篇论文地址:
http://labs.google.com/papers/gfs.html
http://labs.google.com/papers/bigtable.html
http://labs.google.com/papers/mapreduce.html
中文版文档:
链接:https://pan.baidu.com/s/1DZ3HWU6-PDXP2a_ezW3U6g
提取码:v3dx
谷歌三篇论文(GFS,MapReduce,BigTable)相关推荐
- 开启大数据时代谷歌三篇论文-Mapreduce
摘要 MapReduce 是一个编程模型,也是一个处理和生成超大数据集的算法模型的相关实现.用户首先创建一 个 Map 函数处理一个基于 key/value pair 的数据集合,输出中间的基于 ke ...
- Google分布式系统三驾马车: GFS,mapreduce,Bigtable
谈到分布式系统,就不得不提Google的三驾马车:Google fs[1],Mapreduce[2],Bigtable[3]. 虽然Google没有公布这三个产品的源码,但是他发布了这三个产品的详细设 ...
- 批训练、注意力模型及其声纹分割应用,谷歌三篇论文揭示其声纹识别技术原理
声纹识别技术在谷歌的诸多产品中有着重要应用.除了安卓手机目前所独有的声纹解锁功能外,谷歌的家庭语音助手 Google Home 也能通过声纹识别支持多用户模式,从而针对不同用户提供个性化服务.当你向 ...
- 开启大数据时代谷歌三篇论文-BigTable
1 摘要 Bigtable 是一个分布式的结构化数据存储系统,它被设计用来处理海量数据:通常是分布在数千台普通服 务器上的 PB 级的数据. Google 的很多项目使用 Bigtable 存储数据, ...
- 谷歌三篇论文之一Google文件系统
GFS是一个可扩展的分布式文件系统,用于大型的.分布式的.对大量数据进行访问的应用.它运行于廉价的普通硬件上,但可以提供容错功能.它可以给大量的用户提供总体性能较高的服务. 1.设计概览 (1)设计思 ...
- 谷歌三篇重要论文读后感
-谷歌三篇重要论文读后感 粗略看完谷歌三篇论文,<Google Mapreduce>.<Google File System>.<Google Big Table> ...
- 【Hadoop】谷歌的三篇论文(GFS、MapReduce分布式计算模型 、BigTable大表)
谷歌的三篇论文(GFS.MapReduce分布式计算模型 .BigTable大表) 0 谷歌的基本思想:三驾马车 1 第一篇论文:GFS 1.1 Google的GFS分布式文件系统的基本原理 1.2 ...
- 谷歌三篇大数据论文之mapreduce读后感
** 谷歌三篇大数据论文之mapreduce读后感** 天气预报.城市外来人口统计等很多现实问题都需要处理以TB计算的大量数据集,用一台高性能的电脑处理不仅成本高,出错率高及速度慢这些问题都令人头疼. ...
- google三篇论文之GFS
Google在03至06年发表了著名的三大论文--GFS.BigTable.MapReduce,用来实现一个大规模的管理计算系统. 今天先来谈谈GFS.因为论文里大段大段的文字加上专业术语读起来对我来 ...
最新文章
- GDC-Client使用
- 工业界和学术界的思考
- 【uni-app】分享
- itext 添加空格_itext7史上最全实战总结
- 60-008-000-使用-命令
- 什么是面向对象,为什么要面向对象
- BZOJ 1632: [Usaco2007 Feb]Lilypad Pond
- 改写TCPMP的界面
- vue3+vite2警告提示The above dynamic import cannot be analyzed by vite问题,vite中import动态引入
- excel如何快速从身份证号码中提取出生日期?
- Docker Wnmp 搭建
- if前面加个#是什么意思?c++中#if与if的比较
- 计算机作业微波炉工作的原理,微波炉工作电路原理图及功能图解
- MVC、MVP、MVVM模式的概念与区别
- PRD-产品需求说明文档
- uni app 视频播放功能
- 车载wince升级改造_想在低配车内蹦迪?改造车机还不如装个接收器,也就一顿饭钱...
- 2021-08-12 This Mini Program cannot be opened as your Weixin version is out-of-date. Update Weixin
- 第十三届蓝桥杯大赛软件赛省赛 Python 大学 C 组
- 计算机管理扫不出我的独显,win10正式版系统下检测不到独立显卡的解决方法