數據洪流悄然重塑世界的進程中,大數據的歷史是技術迭代與需求驅動的交響。從 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的一些改動