搜索引擎优化毕业论文(google为什么发布这三篇文论?(1)为什么?)
优采云 发布时间: 2022-03-11 00:11搜索引擎优化毕业论文(google为什么发布这三篇文论?(1)为什么?)
google为什么要发表这三篇论文?
谷歌最早盈利的项目是搜索引擎,该技术如何继续发展成为谷歌面临的问题。
搜索引擎主要做两件事,一是网络爬取,二是建立索引,而在这个过程中,有很多
数据需要存储和计算。
Google 在 2004 年前后发表的三篇论文,也就是我们经常听到的“三驾马车”,分别是分布式文件系统 GFS、大数据分布式计算框架 MapReduce 和 NoSQL 数据库系统 BigTable。
这个“三驾马车”其实就是用来解决这个问题的。
一个文件系统,一个计算框架,一个数据库系统。
现在当你听到分布式和大数据这样的词时,你一定很熟悉。
2004年大数据发展——萌芽期
2004年,整个互联网还处于蒙昧时代。谷歌发布的论文确实鼓舞了整个行业。众人恍然大悟,这样玩还是可以的。
因为那个时期,大部分公司的重点其实都在单机上,思考如何提升单机性能,寻找更贵更好的服务器。谷歌的想法是部署一个*敏*感*词*的服务器集群,将海量数据以分布式的方式存储在这个集群上,然后使用集群上的所有机器进行数据计算。这样一来,谷歌实际上并不需要购买很多昂贵的服务器。只需要把这些普通的机器组织在一起,威力就很大。
天才程序员-道格·卡丁登场
当时,他正在开发开源搜索引擎 Nutch。看完谷歌的论文后,他很兴奋,然后根据论文的原理初步实现了类似GFS和MapReduce的功能。两年后的 2006 年,Doug Cutting 将这些与大数据相关的功能从 Nutch 中分离出来,然后开始了一个独立的项目来开发和维护大数据技术。这就是后来著名的Hadoop,主要包括Hadoop分布式文件系统HDFS和大数据计算引擎MapReduce。
当我们回顾软件开发的历史,包括我们自己开发的软件,你会发现有些软件开发出来之后,没有人关心它,或者只有少数人使用它。事实上,此类软件占所有已开发软件的大部分。还有一些软件可能会开创一个行业,每年创造数百亿美元的价值,创造数百万个就业机会。这些软件曾经是 Windows、Linux、Java,现在 Hadoop 的名字被添加到列表中。如果你有时间,你可以简单地浏览一下 Hadoop 代码。这款纯 Java 编写的软件没有任何深层次的技术难题。它使用了一些最基本的编程技能。没什么大惊小怪的,但它却给社会带来了巨大的影响,
软件的价值点
想一想,我们开发的软件有什么价值?使用软件交付价值的真正需求在哪里?你应该关注业务,了解业务,以价值为导向,用自己的技术为公司创造真正的价值,进而实现你的人生价值。与其整天埋头在规范文档中,不如做一个不假思索的代码机器人。
2007-2008发展期
Hadoop 发布后,雅虎很快就使用了它。大约到 2007 年,百度和阿里巴巴也开始使用 Hadoop 进行大数据存储和计算。2008 年,Hadoop 正式成为 Apache 的顶级项目,Doug Cutting 本人后来成为了 Apache 基金会的主席。从那时起,Hadoop 已成为软件开发领域的一颗明星。同年,专门运营Hadoop的商业公司Cloudera成立,Hadoop得到了进一步的商业支持。这时,雅虎有人觉得用 MapReduce 做大数据编程太麻烦,于是开发了 Pig。Pig 是一种使用类似 SQL 的语法的脚本语言。开发人员可以使用 Pig 脚本来描述要在大型数据集上执行的操作。Pig编译完成后,MapReduce 程序在 Hadoop 上生成和运行。编写 Pig 脚本比直接 MapReduce 编程更容易,但仍需要学习新的脚本语法。
Facebook 再次推出 Hive
Hive 支持使用 SQL 语法进行大数据计算。比如你可以写一个Select语句来查询数据,然后Hive会将SQL语句转换成一个Ma Reduce计算程序。这样,熟悉数据库的数据分析师和工程师就可以毫无障碍地利用大数据进行数据分类和处理。Hive出现后,Hadoop的使用难度大大降低,迅速受到开发者和企业的追捧。
调度引擎 Yarn 引领潮流
2011 年,Facebook 大数据平台上运行的 90% 的工作来自 Hive。随后,众多H doop周边产品开始出现,大数据生态系统逐渐形成,包括:Sqoop,专门将关系型数据库中的数据导入导出到Hadoop平台;Flume,进行*敏*感*词*日志的分布式采集、聚合和传输;MapReduce 工作流调度引擎 Oozie 等 在 Hadoop 早期,MapReduce 既是一个执行引擎,也是一个资源调度框架。服务器集群的资源调度管理由 MapReduce 自己完成。但这不利于资源复用,也使得 MapReduce 非常臃肿。于是就启动了一个新项目,将 MapReduce 执行引擎和资源调度分开,这就是 Yarn。在2012年,Yarn 成为一个独立的项目并开始运作。随后得到各种大数据产品的支持,成为大数据平台上最主流的资源调度系统。
火花出现
2012 年,加州大学伯克利分校 AMP 实验室(算法、机器和人的简称)开发的 Spark 开始出现。当时 AMP Lab 的马铁博士发现,使用 MapReduce 进行机器学习计算的性能很差,因为机器学习算法通常需要进行多次迭代计算,而 MapReduce 每次 Map 和执行reduce计算,有很多无用的消耗。还有一点是MapReduce主要使用磁盘作为存储介质,而在2012年,内存已经突破了容量和成本的限制,成为数据操作过程中的主要存储介质。Spark一经推出,立即受到业界追捧,并逐渐在企业应用中取代MapReduce。通常来说,一般来说,MapReduce、Spark等计算框架处理的业务场景被称为批处理计算,因为它们通常对“天”内产生的数据进行计算,然后得到需要的结果。这个中间计算所花费的时间大概是几十分钟甚至更长。因为计算的数据是离线获取的实时数据,而不是历史数据,所以这种计算也称为大数据离线计算。
大数据流计算来了
在大数据领域,还有另一类应用场景需要对实时产生的海量数据进行即时计算,比如人脸识别、对分散在各个城市的监控*敏*感*词*进行嫌疑人跟踪等。这种计算称为大数据流计算,有Storm、Flink、Spark Streaming等流计算框架来满足这种大数据应用场景。流计算要处理的数据是在线实时生成的数据,所以这种计算也称为大数据实时计算。在典型的大数据业务场景中,数据业务最常见的做法是使用批处理技术处理全量历史数据,使用流计算处理实时新数据。
NoSQL 的演变
除了大数据批处理和流处理,NoSQL系统主要处理*敏*感*词*海量数据的存储和访问,因此也被归类为大数据技术。NoSQL 在 2011 年左右非常流行,涌现了 HBase、Cassandra 等许多优秀的产品。其中,HBase 是一个基于 HDFS 与 Hadoop 分离的 NoSQL 系统。
历史惊人地相似
回顾软件开发的历史,我们会发现功能几乎相似的软件出现的时间非常接近。比如Linux和Windows出现在1990年代初,Java开发中的各种MVC框架基本上是同时出现的。Android和iOS也即将问世
最后
事物的发展有其自身的趋势和规律。当你在趋势中时,你必须抓住趋势的机会,想办法脱颖而出。即使没有成功,也会更好地洞察时代脉搏,获得宝贵的知识和经验。而如果趋势已经退去,如果此时继续朝着这个方向努力,只会收获迷茫和沮丧,对时代和自己都无济于事。就像谷歌抓住了机会,所以他成功了,他带路了。