数据洪流悄然重塑世界的进程中,大数据的历史是技术迭代与需求驱动的交响。从 2003 年分布式系统雏形初现,到 Hadoop 掀起开源浪潮,再到 Spark、容器化技术与深度学习的接力革新,以及 Hadoop 生态的兴衰起落,大数据发展史如同一部技术进化史诗。本文将循着 2003 至 2023 年的时间脉络,解码这场数据革命的前世今生,窥探技术浪潮下的未来图景。
主要参考,翻译整理自这篇文章:
https://towardsdatascience.com/2003-2023-a-brief-history-of-big-data-25712351a6bc
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
这段时间的几个大趋势
-
HDFS替换,迁移到云环境,Amazon S3, Google Storage or Azure Blob Storage
-
Docker,K8S 容器化出现,Hadoop 在 3.0才支持Docker
-
全托管的海量并行SQL数据仓库,也叫做:Modern Data Stack
-
深度学习的出现
深度学习需要 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
新的调度框架
-
Prefect
-
Dagster
-
Flyte
开始调整 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才是真正的赢家,找到风向标然后拷贝整合到自己的环境中
往期推荐
-
OpenLDAP研究
-
PyTorch
-
云环境中的日志收集和处理方案
-
BTrace
-
Data Ingestion: Architectural Patterns
-
Data engineering at Meta
-
The Life of a Read/Write Query for Apache Iceberg Tables
-
Compaction in Apache Iceberg
-
Spark原理-解析过程和Catalog
-
Janino简单使用
-
Oracle的CDC工具OpenLogReplicator编译
-
OpenLogReplicator的一些改动