主要参考,翻译整理自这篇文章:
https://towardsdatascience.com/2003-2023-a-brief-history-of-big-data-25712351a6bc

文章中的图片需要 VPN 才能显示

2003–2006: The Beginning

当时谷歌在爬取全世界网页时的两个主要问题:

  • How to store hundreds of terabytes of data, on thousands of disks, across more than a thousand machines, with no downtime, data loss, or even data unavailability ?
  • How to parallelize computation in an efficient and resilient way to handle all this data across all these machines ?

于是乎谷歌发表了改变 big data的三篇论文

  • The Google File System
  • MapReduce: Simplified Data Processing on Large Clusters
  • Bigtable: A Distributed Storage System for Structured Data

这里还有一篇文章,The Friendship That Made Google Huge
介绍了 Jeff Dean and Sanjay Ghemawat 的故事

那会 Doug Cutting 正在做跟谷歌类似的事情,分布式爬虫,需要计算和存储

  • Apache Lucene
  • Apache Solr、 ElasticSearch 使用了前者

于是创建了 Apache Nutch,同时参考了谷歌的论文,创建了 Hadoop,包括

  • HDFS 文件系统
  • MapReduce

谷歌仍然是保持封闭,最初开源的贡献者是 Yahoo,随后很多公司都跟进了

2007–2008: Hadoop’s early adopters and contributors


MapReduce 很强大,但是写起来并不容易,于是 Yahoo 就推出了 Apache Pig
将高层语言解析为 map-reduce

这段时间还有几个重量级开源项目

  • facebook 推出了 Apache Hive
  • 还是facebook 的 Apache Cassandra
  • Powerset 推出了 Apache HBase,后被微软收购并开启了新项目 Bing
  • AWS 推出了 Elastic MapReduce,可以免运维的方式开发 MapReduce

2008–2012: Rise of the Hadoop vendors


Hadoop集群大了之后就很难安装、维护,于是出现了很多供应商

  • Cloudera,以及他们的 CDH
  • Hortonworks
  • MapR

Cassandra 也找到了供应商 Datastax

在这段时间,人们发现 Hive挺好用的,但是Hive太慢了
而谷歌又发表了后三驾马车的论文

  • Dremel: Interactive Analysis of Web-Scale Datasets
  • Pregel,这个是图数据库
  • Caffeine,网络搜索引擎

Dremel的两个创新

  • 如何在海量数据中快速查询
  • 新的存储格式

三大 Hadoop 供应商基于 Dremel 的启发,又发布了各自的产品

  • Cloudera 推出了 Apache Impala
  • MapR 推出了 Apache Drill
  • Hortonworks 推出了 Apache Tez

Tez 是对MapReduce 的改良,上层的 Hive还是不动
这种方案的原因是 Hortonworks 本身人力不够,因为他们的客户都是基于Hive的,想提升Hive速度而不是迁移到另一个引擎

收到 Dremel 文件格式的启发

  • Cloudera and Twitter 联合推出了 Apache Parquet
  • Hortonworks and Facebook 联合推出了 Apache ORC

2010–2014 : Hadoop 2.0 and the Spark revolution


新的 Hadoop 调度框架 Yarn 出现
之后就是 Spark 的崛起,对整个行业有巨大的推动
基于Sarpk 创建了Databricks,他们是基于云的,而不是搞发型版本

之后也证明了 Databricks 的选择是正确的
这段时间也出现了几个实时处理的项目

  • LinkedIn 推出的 Apache Kafka
  • Twitter 推出的 Apache Storm

而 Netflix 的成功也证明了云计算的强大
之后 微软 Azue在 2010年入局,谷歌 在2011年入局

2014–2016 Reaching the Apex


出现了几个试图统一底层流批的框架
目前还活跃的是 Apache Beam,谷歌搞的
目前是将底层的 Apache Spark, Apache Flink or Google’s DataFlow 做统一

然后就是调度系统,这个其实也挺复杂的,几个开源产品

  • Yahoo!’s Apache Oozie
  • Linkedin’s Azkaban
  • Airbnb 的 Apache Airflow
  • Spotify 的 Luigi

Apache Airflow 还推出了 谷歌云、AWS 的产品

SQL 层面,还有 Presto

  • Amazon 的 Athena 基于它重塑了品牌
  • Presto 创始团队新搞的 Trino

还有几个基于 云的产品

  • Google 的 BigQuery 2011
  • Amazon’s Redshift 2012
  • Snowflake, founded in 2012

The Hadoop Ecosystem Table

2016–2020 The rise of containerisation and deep learning, and the downfall of Hadoop


这段时间的几个大趋势

  1. HDFS替换,迁移到云环境,Amazon S3, Google Storage or Azure Blob Storage
  2. Docker,K8S 容器化出现,Hadoop 在 3.0才支持Docker
  3. 全托管的海量并行SQL数据仓库,也叫做:Modern Data Stack
  4. 深度学习的出现

深度学习需要 GPU,以及 Tensorflow or Keras的多个版本同时运行
这些Hadoop都么有,当时只能用VM 启动多个GPU 跑任务
于是 Cloudera 在2017年 IPO 之后就基于容器化推出了他们的 Data Science Workbench

Hadoop 供应商的大事件

  • 2018年 Cloudera 跟 Hortonworks 合并,前者保留品牌
  • MapR 被 Hewlett Packard Entreprise (HPE) 收购
  • CD&R 以低于发行价 收购了 Cloudera

但这些并不代表 Hadoop 死了,它还在运行
之后又出现一些开放表格的技术

  • Uber 2016年推出的 Apache Hudi
  • Netflix 2017年推出的 Apache Iceberg
  • Databricks 2019年推出的 Delta Lake

这三个项目其实都是为了解决一个问题,从Hadoop迁移到云后,HDFS的那些功能和性能都无法保证了
需要用新的方案来兼容云存储环境,实现事务

Apache Iceberg Reduced Our Amazon S3 Cost by 90%

2020–2023 The modern era

Hadoop云化依然是大趋势,而且每年都在增加
当然企业内部还是有不少部署 私有化 Hadoop 的
新一代启动都是基于 Modern Data Stack 来开发他们的SQL 分析数据仓库产品
如:BigQuery, Databricks-SQL, Athena or Snowflake
目标是低代码、零代码

几个元数据管理产品

  • Apache Atlas, started by Hortonworks in 2015
  • Amundsen, open-source by Lyft in 2019
  • DataHub, open-sourced by Linkedin in 2020

新的调度框架

开始调整 Airflow的地位

lakehouse 开始出现,结合了数据湖、数据仓库的优点
最初是 Databricks 提出的,这个平台也方便了数据科学、BI 用户共享数据
因此 数据治理、安全、知识分享页更简单

之后 Snowflake 跟进推出了 Snowpark
然后是 Azure Synapse
Google with BigLake

开源方面,Dremio provides a lakehouse architecture since 2017

Modern Data Stack: Which Place for Spark ?

2023 — Who can tell what the future will be like ?


对未来的一些猜想

  • 主要的数据平台玩家:Databricks, Snowflake, BigQuery, Azure Synapse 会继续发力,缩小彼此差距,增加更多的功能和连接更多的组件
  • 新项目会越来越少,主要不是缺乏 ideas,而是资金
  • 公司更多是缺乏熟练的劳动力,他们更愿意花钱迁移到新方案而不是优化,可能因为低效的数据管理,使的企业会寻找更好的方案,类似Hadoop的新周期又诞生
  • 云厂商 Google, Amazon, Microsoft才是真正的赢家,找到风向标然后拷贝整合到自己的环境中

Snowbricks & Dataflake
How Fivetran + dbt actually fail