Google大数据发展与应用

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1Google大数据技术IT新技术课题报告专业名称:软件工程2020年4月21日姓名:王六平2目录一、简述...................................................................................4二、Google经典三篇大数据论文介绍...................................52.1、GFS............................................................................52.2、MapReduce...............................................................62.3、BigTable一个分布式的结构化数据存储系统.........7三、Google新大数据论文介绍...............................................83.1、Caffeine:处理个体修改.........................................83.2、Pregel:可扩展的图计算........................................93.3、Dremel:在线可视化.............................................11四、Google大数据的应用.....................................................143一、大数据时代的来临1.大数据的概念:按照维基百科上的定义,所谓“大数据”(bigdata)在当今的互联网业指的是这样一种现象:一个网络公司日常运营所生成和积累用户网络行为的数据“增长如此之快,以至于难以使用现有的数据库管理工具来驾驭”。这些数据量是如此之大,已经不是以我们所熟知的多少G和多少T为单位来衡量,而是以P(1000个T),E(一百万个T)或Z(10亿个T)为计量单位,所以称之为大数据。大数据泛指巨量的数据集,因可从中挖掘出有价值的信息而受到重视。《华尔街日报》将大数据时代、智能化生产和无线网络革命称为引领未来繁荣的三大技术变革。麦肯锡公司的报告指出数据是一种生产资料,大数据是下一个创新、竞争、生产力提高的前沿。世界经济论坛的报告认定大数据为新财富,价值堪比石油。因此,发达国家纷纷将开发利用大数据作为夺取新一轮竞争制高点的重要抓手。2.大数据的发展互联网特别是移动2互联网的发展,加快了信息化向社会经济各方面、大众日常生活的渗透。有资料显示,1998年全球网民平均每月使用流量是1MB(兆字节),2000年是10MB,2003年是100MB,2008年是1GB(1GB等于1024MB),2014年将是10GB。全网流量累计达到1EB(即10亿GB或1000PB)的时间在2001年是一年,在2004年是一个月,在2007年是一周,而2013年仅需一天,即一天产生的信息量可刻满1.88亿张DVD光盘。我国网民数居世界之首,每天产生的数据量也位于世界前列。淘宝网站每天有超过数千万笔交易,单日数据产生量超过50TB(1TB等于1000GB),存储量40PB(1PB等于1000TB)。百度公司目前数据总量接近1000PB,存储网页数量接近1万亿页,每天大约要处理60亿次搜索请求,几十PB数据。一个8Mbps(兆比特每秒)的摄像头一小时能产生3.6GB数据,一个城市若安装几十万个交通和安防摄像头,每月产生的数据量将达几十PB。医院也是数据产生集中的地方。现在,一个病人的CT影像数据量达几十GB,而全国每年门诊人数以数十亿计,并且他们的信息需要长时间保存。总之,大数4据存在于各行各业,一个大数据时代正在到来。信息爆炸不自今日起,但近年来人们更加感受到大数据的来势迅猛。一方面,网民数量不断增加,另一方面,以物联网和家电为代表的联网设备数量增长更快。2007年全球有5亿个设备联网,人均0.1个;2013年全球将有500亿个设备联网,人均70个。随着宽带化的发展,人均网络接入带宽和流量也迅速提升。全球新产生数据年增40%,即信息总量每两年就可以翻番,这一趋势还将持续。目前,单一数据集容量超过几十TB甚至数PB已不罕见,其规模大到无法在容许的时间内用常规软件工具对其内容进行抓取、管理和处理。数据规模越大,处理的难度也越大,但对其进行挖掘可能得到的价值更大,这就是大数据热的原因。3.大数据的特征:大数据(BigData)是指“无法用现有的软件工具提取、存储、搜索、共享、分析和处理的海量的、复杂的数据集合”。业界通常用四个V来概括大数据的特征。数据体量巨大(Volume)。到目前为止,人类生产的所有印刷材料的数据量是200PB(1PB=210TB),而历史上全人类说过的所有的话的数据量大约5EB(1EB=210PB)。当前,典型个人计算机硬盘的容量为TB量级,而一些大企业的数据量已经接近EB量级。数据类型繁多(Variety)。这种类型的多样性也让数据被分为结构化数据和非结构化数据。相对于以往便于存储的以文本为主的结构化数据,非结构化数据越来越多,包括网络日志、音频、视频、图片、地理位置信息等,这些多类型的数据对数据的处理能力提出了更高要求。价值密度低(Value)。价值密度的高低与数据总量的大小成反比。以视频为例,一部1小时的视频,在连续不间断的监控中,有用数据可能仅有一两秒。如何通过强大的机器算法更迅速地完成数据的价值“提纯”,成为目前大数据背景下亟待解决的难题。处理速度快(Velocity)。这是大数据区分于传统数据挖掘的最显著特征。根据IDC的“数字宇宙”报告,预计到2020年,全球数据使用量将达到35.2ZB(1ZB=210EB)。在如此海量的数据面前,处理数据的效率就是企业的生命5二、Google经典三篇大数据论文介绍Google在2003年到2006年公布了关于GFS、MapReduce和BigTable三篇技术论文。2.1、GFS公布时间:2003年。GFS阐述了GoogleFileSystem的设计原理,GFS是一个面向大规模数据密集型应用的、可伸缩的分布式文件系统。GFS虽然运行在廉价的普遍硬件设备上,但是它依然了提供灾难冗余的能力,为大量客户机提供了高性能的服务。虽然GFS的设计目标与许多传统的分布式文件系统有很多相同之处,但是,我们设计还是以我们对自己的应用的负载情况和技术环境的分析为基础的,不管现在还是将来,GFS和早期的分布式文件系统的设想都有明显的不同。所以我们重新审视了传统文件系统在设计上的折衷选择,衍生出了完全不同的设计思路。GFS完全满足了我们对存储的需求。GFS作为存储平台已经被广泛的部署在Google内部,存储我们的服务产生和处理的数据,同时还用于那些需要大规模数据集的研究和开发工作。目前为止,最大的一个集群利用数千台机器的数千个硬盘,提供了数百TB的存储空间,同时为数百个客户机服务。为了满足Google迅速增长的数据处理需求,我们设计并实现了Google文件系统(GoogleFileSystem–GFS)。GFS与传统的分布式文件系统有着很多相同的设计目标,比如,性能、可伸缩性、可靠性以及可用性。但是,我们的设计还基于我们对我们自己的应用的负载情况和技术环境的观察的影响,不管现在还是将来,GFS和早期文件系统的假设都有明显的不同。所以我们重新审视了传统文件系统在设计上的折衷选择,衍生出了完全不同的设计思路。首先,组件失效被认为是常态事件,而不是意外事件。GFS包括几百甚至几千台普通的廉价设备组装的存储机器,同时被相当数量的客户机访问。GFS组件的数量和质量导致在事实上,任何给定时间内都有可能发生某些组件无法工作,某些组件无法从它们目前的失效状态中恢复。我们遇到过各种各样的问题,比如应用程序bug、操作系统的bug、人为失误,甚至还有硬盘、内存、连接6器、网络以及电源失效等造成的问题。所以,持续的监控、错误侦测、灾难冗余以及自动恢复的机制必须集成在GFS中。其次,以通常的标准衡量,我们的文件非常巨大。数GB的文件非常普遍。每个文件通常都包含许多应用程序对象,比如web文档。当我们经常需要处理快速增长的、并且由数亿个对象构成的、数以TB的数据集时,采用管理数亿个KB大小的小文件的方式是非常不明智的,尽管有些文件系统支持这样的管理方式。因此,设计的假设条件和参数,比如I/O操作和Block的尺寸都需要重新考虑。第三,绝大部分文件的修改是采用在文件尾部追加数据,而不是覆盖原有数据的方式。对文件的随机写入操作在实际中几乎不存在。一旦写完之后,对文件的操作就只有读,而且通常是按顺序读。大量的数据符合这些特性,比如:数据分析程序扫描的超大的数据集;正在运行的应用程序生成的连续的数据流;存档的数据;由一台机器生成、另外一台机器处理的中间数据,这些中间数据的处理可能是同时进行的、也可能是后续才处理的。对于这种针对海量文件的访问模式,客户端对数据块缓存是没有意义的,数据的追加操作是性能优化和原子性保证的主要考量因素。第四,应用程序和文件系统API的协同设计提高了整个系统的灵活性。比如,我们放松了对GFS一致性模型的要求,这样就减轻了文件系统对应用程序的苛刻要求,大大简化了GFS的设计。我们引入了原子性的记录追加操作,从而保证多个客户端能够同时进行追加操作,不需要额外的同步操作来保证数据的一致性。本文后面还有对这些问题的细节的详细讨论。Google已经针对不同的应用部署了多套GFS集群。最大的一个集群拥有超过1000个存储节点,超过300TB的硬盘空间,被不同机器上的数百个客户端连续不断的频繁访问。2.2、MapReduce公布时间:2004年。MapReduce是一个编程模型,也是一个处理和生成超大数据集的算法模型的相关实现。用户首先创建一个Map函数处理一个基于key/valuepair的数据集合,输出中间的基于key/valuepair的数据集合;然后再创建一个Reduce函7数用来合并所有的具有相同中间key值的中间value值。现实世界中有很多满足上述处理模型的例子,本论文将详细描述这个模型。MapReduce架构的程序能够在大量的普通配置的计算机上实现并行化处理。这个系统在运行时只关心:如何分割输入数据,在大量计算机组成的集群上的调度,集群中计算机的错误处理,管理集群中计算机之间必要的通信。采用MapReduce架构可以使那些没有并行计算和分布式处理系统开发经验的程序员有效利用分布式系统的丰富资源。我们的MapReduce实现运行在规模可以灵活调整的由普通机器组成的集群上:一个典型的MapReduce计算往往由几千台机器组成、处理以TB计算的数据。程序员发现这个系统非常好用:已经实现了数以百计的MapReduce程序,在Google的集群上,每天都有1000多个MapReduce程序在执行。2.3BigTable一个分布式的结构化数据存储系统公布时间:2006年。Bigtable是一个分布式的结构化数据存储系统,它被设计用来处理海量数据:通常是分布在数千台普通服务器上的PB级的数据。Google的很多项目使用Bigtable存储数据,包括Web索引、GoogleEarth、GoogleFinance。这些应用对Bigtable提出的要求差异非常大,无论是在数据量上(从URL到网页到卫星图像)还是在响应速度上(从后端的批量处理到实时数据服务)。尽管应用需求差异很大,但是,针对Google的这些产品,Bigtable还是成功的提供了一个灵活的、高性能的解决方案。本论文描述了Bigtable提供的简单的数据模型,利用这个模型,用户可以动态的控制数据的分布和格式。老三篇即使我们常用的Hadoop系统的设计理论基石。虽然Google没有公布这三个产品的源码,但是根据google发布了这三个产品的详细设计论文。而且,Yah

1 / 14
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功