Google大数据三大论文读后感

一、简述

        Google在2003年开始陆续公布了关于GFS、MapReduce 和BigTable三篇技术论文,这也成为后来云计算发展的重要基石,为数据领域工作者开启了大数据算法之门。然而Google 的大数据脚步显然不止于此,其后公布了Percolator、Pregel、Dremel、Spanner等多篇论文。没有止步的不仅是Google, 很多公司也跟随其脚步开发了很多优秀的产品,虽然其中不乏模仿。主流的大数据基本都是MapReduce的衍生,然而把目光聚焦到实时上就会发现:MapReuce的局限性已经渐渐浮现。下 面将讨论一下自大数据开始,Google 公布的大数据相关技术,以及这些技术的现状。从2010年之后Google在后Hadoop时代的新“三驾马车”一- -Caffeine、Pregel、Dremel 再一次影响 着全球大数据技术的发展潮流。但这还远远不够,目前Google内部使用的大数据软件Dremel使大数据处理起来更加智能。

二、GFS、MapReduce和BigTable三篇技术论文

1、Google File System

       GFS阐述了Google File System的设计原理,GFS是- -个面向大规模数据:密集型应用的、可伸缩的分布式文件系统。GFS虽然运行在廉价的普遍硬件设备上,但是它依然了提供灾难冗余的能力,为大量客户机提供了高性能的服务。虽然GFS的设计目标与许多传统的分布式文件系统有很多相同之处,但是,我们设计还是以我们对自己的应用的负载情况和技术环境的分析为基础的,不管现在还是将来,GFS和早期的分布式文件系统的设想都有明显的不同。所以我们重新审视了传统文件系统在设计上的折衷选择,衍生出了完全不同的设计思路。GFS完全满足了我们对存储的需求。GFS作为存储平台已经被广泛的部署在Google内部,存储我们的服务产生和处理的数据,同时还用于那些需要大规模数据集的研究和开发工作。目 前为止,最大的一个集群利用数千台机器的数千个硬盘,提供了数百TB的存储空间,同时为数百个客户机服务。为了满足Google迅速增长的数据处理需求,我们设计并实现了Google文件系统(Google File System - GFS)。GFS与传统的分布式文件系统有着很多相同的设计目标,比如,性能、可伸缩性、可靠性以及可用性。但是,我们的设计还基于我们对我们自己的应用的负载情况和技术环境的观察的影响,不管现在还是将来,GFS和早期文件系统的假设都有明显的不同。所以我们重新审视了传统文件系统在设计上的折衷选择,衍生出了完全不同的设计思路。

2、Google MapReduce

       MapReduce是一.个编程模型,也是--个处理和生成超大数据集的算法模型的相关实现。用户首先创建一个Map函数处理-一个基于key/value pair 的数据集合,输出中间的基于key/value pair 的数据集合;然后再创建一个Reduce函数用来合并所有的具有相同中间key值的中间value值。MapReduce架构的程字能够在大量的普通配置的计算机上实现并行化处理。这个系统在运行时只关心:如何分割输入数据,在大量计算机组成的集群上的调度,集群中计算机的错误处理,管理集群中计算机之间必要的通信。采用MapReduce架构可以使那些没有并行计算和分布式处理系统开发经验的程序员有效利用分布式系统的丰富资源。我们的MapReduce实现运行在规模可以灵活调整的由普通机器组成的集群上:一个典型的MapReduce计算往往由几千台机器组成、处理以TB计算的数据。程序员发现这个系统非常好用:已经实现了数以百计的MapReduce程序,在Google的集群上,每天都有1000多个MapReduce程序在执行。

3、Google Bigtable

       Bigtable是--个分布式的结构化数据存储系统,它被设计用来处理海量数据:通常是分布在数千台普通服务器上的PB级的数据。Google的很多项目使用Bigtable存储数据,包括Web索引、Google Earth. Google Finance。这些应用对Bigtable提出的要求差异非常大,无论是在数据量上(从URL到网页到卫星图像)还是在响应速度上(从后端的批量处理到实时数据服务)。尽管应用需求差异很大,但是,针对Google的这些产品,Bigtable 还是成功的提供了一个灵活的、高性能的解决方案。本论文描述了Bigtable提供的简单的数据模型,利用这个模型,用户可以动态的控制数据的分布和格式。

三、总结

        目前国内提起大数据就不能不说Hadoop,而Hadoop的火爆要得益于Google在2003 年底和2004年公布的两篇研究论文,其中- -份描述了GFS(GoogleFileSystem,GFS是--个可扩展的大型数据密集型应用的分布式文件系统,该文件系统可在廉价的硬件,上运行,并具有可靠的容错能力,该文件系统可为用户提供极高的计算性能,而同时具备最小的硬件投资和运营成本。另外一篇则描述了MapReduce,MapReduce是一种处理大型及超大型数据集并生成相关执行的编程模型。其主要思想是从函数式编程语言里借来的,同时也包含了从矢量编程语言里借来的特性。基于MapReduce编写的程序是在成千上万的普通PC机上被并行分布式自动执行的。8年后,Hadoop已经被广泛使用在网络上,并涉及数据分析和各类数学运算任务。但Google却提出更好的技术。在2009年,网络巨头开始使用新的技术取代GFS和MapReduce。这些技 术代表未来的趋势。

 

你可能感兴趣的:(Google大数据三大论文读后感)