大数据技术的前世今生
admin
2023-09-22 22:02:21
0

大数据技术公认的开山始祖是 Google 在十几年前先后发表的三篇论文

  1. 分布式文件系统 GFS
  2. 大数据分布式计算框架 MapReduce
  3. NoSQL 数据库系统 BigTable

这三篇论文说白了就一个是文件系统,一个是计算引擎,还有一个是数据库。这三套系统合并起来正好可以构建一个完整的大数据技术生态。


当年 Google 在发表这三篇论文时,其内部就已经在应用着他们论文中论述的软件框架了,但遗憾的是这三套 Google 自研的软件是闭源的。但很快,对应着这三篇论文的开源软件框架就发布了。GFS 对应的开源框架是 Hadoop ,Google MapReduce 对应的开源框架是 Hadoop MapReduce ,BigTable 对应的开源框架是 HBase。


这三套开源框架问世的时间并不一致,并且老实说,这三套框架的问世并没有立即让业界 “陷入疯狂”,对于 Hadoop 的 HDFS 和 HBase 还好,就是这个 MapReduce 并不是很方便。不过也正是因为 MapReduce 的这个不足,才导致后续衍生出一系列简化其编程模型的框架出来,诸如 Pig、Impala、Hive、YARN 等。其实大数据技术软件框架之间 “争夺天下” 的历史还是挺复杂的,很不幸我们错过了这个早期阶段,同时又很幸运,我们刚好错开了这段混沌历史时期。


百度和阿里早在 2007 年的时候就用上了 Hadoop 了。有的时候你不得不承认,大公司就是大公司,不仅技术一流,思想还很开放包容与前卫。


在 2012 年的时候,也有一个大数据计算引擎逐渐进入到人们的视野 -- Spark。Spark 与 MapReduce 的功能是一样的,所不同的是,它充分发挥了计算机内存的特性,相较于对硬盘依赖程度很高的 MapReduce ,同样繁重的计算任务,Spark 的速度要远高于 MapReduce 。于是,Spark 很快就成为了大数据界的 “网红”,并在很多场景下替代了 MapReduce 。但替代并不代表着取代,只是二者各有应用场景而已。既是是现如今 MapReduce 在大数据计算领域也还发挥着至关重要的作用。


MapReduce、Spark 这类计算引擎主要用于处理离线数据,被称为 “批处理”。而与之相对的又有专门处理实时数据的计算引擎,这类计算引擎被称为 “流处理”。目前的代表计算引擎有 Spark Streaming、Storm、Flink。就目前而言,Storm 已经逐渐被淘汰了。Flink 正变的越来越重要。


目前而言,我们所讨论的大数据技术主要有以下三个应用场景

  1. 数据分析
  2. 数据挖掘
  3. 机器学习

数据分析门槛较低,需要掌握 SQL、数仓建模等知识。数据挖掘对数学与算法要求较高。机器学习这块我了解的很少,但它是人工智能的基础。

相关内容