一、批处理到内存计算

批处理时代(2006-2012)

  • MapReduce框架占据主导
  • 典型场景:夜间ETL、日志分析、数据清洗
  • 性能瓶颈:中间结果需落盘、任务调度开销大

Spark革命(2013)

  • 创新点:RDD内存计算、DAG执行计划、多语言支持
  • 性能提升
    • 迭代算法:快100倍
    • 交互式查询:快10-100倍
    • 批处理作业:快10-30倍

生态演进

  • Cloudera Impala(2013):首个开源MPP SQL引擎
  • Facebook Presto(2013):支持多种数据源
  • Apache Drill(2015):支持半结构化数据

二、离线到实时计算

离线计算时代

  • T+1模式:当日处理前一天数据
  • 适用:每日报表、历史分析、ML模型训练

实时流计算兴起

  • Apache Storm:亚秒级延迟,但只支持”至多一次”语义
  • Lambda架构:批处理层+速度层+服务层(需维护两套代码)

新一代流处理

技术特点延迟
Spark Streaming微批处理,精确一次秒级
Apache Flink原生事件驱动,毫秒级毫秒级

典型应用场景

场景技术延迟
离线分析Hadoop小时/天级
准实时Spark秒/分钟级
实时处理Flink毫秒级

三、从单体到云原生架构

传统单体架构局限

  • 扩展性差、资源利用率低、运维复杂

架构演进

  1. YARN:资源池化、多框架支持、动态分配
  2. 云原生:Kubernetes编排、存算分离、Serverless

主流云服务

服务商存储计算
AWSS3EMR on EKS
AzureBlobHDInsight
GCPGCSDataproc

技术演进总结

三大时代

时代时间核心技术特点
Hadoop批处理2006-2013MapReducePB级离线,分钟级延迟
Spark内存计算2014-2018RDD性能提升10-100倍
Flink实时计算2019至今Flink毫秒级,批流统一

当前趋势

  • 架构融合:批流一体、Lambda向Kappa演进
  • 云原生:Serverless化、存算分离
  • 智能增强:MLOps、实时特征计算