大数据技术发展简史

1. 前言

  学习大数据技术,应该了解它发展的来龙去脉,为何会有新的技术/工具的出现,相比老的技术有什么样的进步。

  事物发展有自己的潮流和规律,当你身处潮流之中的时候,要紧紧抓住潮流的机会,想办法脱颖而出,即使没有成功,也会更加洞悉时代的脉搏,收获珍贵的知识和经验。

2. 大数据的三驾马车

  大数据技术起源于Google在2004年前后发表的三篇文章,也就是我们经常说的“三驾马车”,分别是:

  • 分布式文件系统GFS;
  • 大数据分布式计算框架MapReduce;
  • NoSQL数据库系统BigTable;

  一个是文件系统,一个是计算框架,一个是数据库系统,当时Google发表的论文让业界沸腾,从此开启了大数据时代。

  在那之前,大多数公司其实还是聚焦在单机上,在思考如何提升单机的性能,寻找更贵更好的服务器。而 Google 的思路是部署一个大规模的服务器集群,通过分布式的方式将海量数据存储在这个集群上,然后利用集群上的所有机器进行数据计算。 这样,Google 其实不需要买很多很贵的服务器,它只要把这些普通的机器组织到一起,就能够进行大规模的计算了。

3. Hadoop的诞生

  Lucene开源项目创始人Doug Cutting正在开发开源搜索引擎Nutch,阅读了Google的论文后,根据论文原理实现了类似GFS和MapReduce的功能。3年后也就是2006年,Doug Cutting将这些大数据相关的功能从Nutch中分离了出来,然后启动了一个独立的项目专门开发和维护大数据技术,这就是后来赫赫有名的Hadoop,主要包括 Hadoop 分布式文件系统 HDFS 和大数据计算引擎 MapReduce。

  大家看Hadoop的源码就会发现,这个用纯Java实现的软件没有什么特别之处,诞生它给社会带来了巨大的影响,甚至带动了一场深刻的科技革命,推动了人工智能的发展和进步。

  Hadoop发布以后,Yahoo开始使用起来,2007年百度和阿里也开始使用Hadoop进行大数据存储和计算。2008年Hadoop成为Apache顶级项目。

4. Hive的诞生

  Yahoo的一些人觉得用MapReduce进行大数据编程太麻烦了,于是开发了Pig脚本语言,类似SQL语法,Pig经过编译后生成MapReduce程序,在Hadoop上运行。编写Pig虽然比MapReduce编程简单,但是还是要学习,于是Facebook发布了Hive,支持使用SQL语法进行大数据计算,写个Select语句进行数据查询,Hive会将SQL语句转化成MapReduce计算程序。

  这样,熟悉数据库的数据分析师和工程师便可以无门槛地使用大数据进行数据分析和处理了。

  Hive出现后大大降低了Hadoop的使用难度,迅速得到开发者和企业的追捧。众多Hadoop产品开始出现,包括:专门将关系数据库中的数据导入导出到 Hadoop 平台的 Sqoop;针对大规模日志进行分布式收集、聚合和传输的 Flume;MapReduce 工作流调度引擎 Oozie 等。

5. Yarn的诞生

  Hadoop 早期,MapReduce 既是一个执行引擎,又是一个资源调度框架,服务器集群的资源调度管理由 MapReduce 自己完成。但是这样不利于资源复用,也使得 MapReduce 非常臃肿。于是一个新项目启动了,将 MapReduce 执行引擎和资源调度分离开来,这就是 Yarn。

6. Spark的诞生

  2012 年,UC 伯克利 AMP 实验室开发的 Spark 开始崭露头角,马铁博士发现使用 MapReduce 进行机器学习计算的时候性能非常差,因为机器学习算法通常需要进行很多次的迭代计算,而 MapReduce 每执行一次 Map 和 Reduce 计算都需要重新启动一次作业,带来大量的无谓消耗,影响执行效率。

MapReduce 主要使用磁盘作为存储介质,而 2012 年的时候,内存已经突破容量和成本限制,成为数据运行过程中主要的存储介质。Spark 一经推出,立即受到业界的追捧,并逐步替代 MapReduce 在企业应用中的地位。

7. 大数据批处理和流处理

7.1 批处理

  像 MapReduce、Spark 这类计算框架处理的业务场景都被称作批处理计算,通常按天或者固定时间段,进行一次计算,计算的数据是历史数据,也称为大数据离线计算。

7.2 流处理

  还有一种场景,需要对实时产生的大量数据进行即时计算,例如人脸识别,这类计算称为大数据流计算,对应的有Storm、Flink、Spark Streaming 等流计算框架来满足此类大数据应用的场景,这类计算也称为大数据实时计算。

8. NoSQL

  NoSQL 曾经在 2011 年左右非常火爆,涌现出 HBase、Cassandra 等许多优秀的产品,其中 HBase 是从 Hadoop 中分离出来的、基于 HDFS 的 NoSQL 系统。

猜你喜欢

转载自blog.csdn.net/initiallht/article/details/124578748
今日推荐