大数据核心概念全景

从数据仓库到数据湖,从 Lambda 到湖仓一体 —— 一张图看懂大数据技术体系

Big Data Concepts · 2026
📦 什么是大数据?核心概念一览

大数据的本质是用分布式系统处理超出单机能力的数据。下面这些概念是理解整个体系的基石。

🔷 数据仓库 Data Warehouse

面向分析决策的、集成的、稳定的、反映历史变化的数据集合。数据经过 ETL 清洗、建模后,以结构化形式存储,典型模型是星型/雪花模型。

结构化 ETL OLAP

🔶 数据湖 Data Lake

存储海量原始数据的存储系统,支持任意格式(结构化、半结构化、非结构化)。数据先存进来,用的时候再定义 Schema(读时模式)。

原始数据 Schema-on-Read 低成本

🔷 湖仓一体 Lakehouse

数据湖的灵活存储 + 数据仓库的管理能力(ACID 事务、Schema 管理、数据治理)的结合体。Delta Lake、Iceberg、Hudi 是典型实现。

ACID Delta/Iceberg

🔶 ETL & ELT

ETL:Extract(抽取)→ Transform(转换)→ Load(加载),传统数仓模式。ELT:先 Load 原始数据进湖,再用 SQL 做 Transform,更灵活。

抽取 转换 加载

🔷 ODS / DWD / DWS / ADS

数据仓库分层:ODS(原始数据层)、DWD(明细层)、DWS(汇总层)、ADS(应用层)。分层让数据复用、治理、追溯更清晰。

分层建模

🔶 OLTP vs OLAP

OLTP(事务处理):面向业务写入,行存,范式为王。OLAP(分析处理):面向查询分析,列存,维度建模。两者目标完全不同。

行存 vs 列存
⚖️ 数据仓库 vs 数据湖 vs 湖仓一体

三者不是替代关系,而是针对不同场景的互补方案。选哪个,看你的数据结构和分析需求。

对比维度 数据仓库 DW 数据湖 Data Lake 湖仓一体 Lakehouse
数据格式 结构化(表格) 任意格式(文本/图片/日志/视频) 任意格式 + 表格式抽象
Schema 策略 写时模式(Schema-on-Write) 读时模式(Schema-on-Read) 两者兼顾,支持 Schema Evolution
数据存储成本 较高(需建模清洗) 极低(对象存储,如 S3/OSS) 低(基于对象存储 + 元数据层)
数据质量 高(ETL 强约束) 低(原始数据,质量参差不齐) 高(ACID 事务 + 数据校验)
典型查询引擎 Hive / Presto / ClickHouse Spark / Flink(直接读文件) Spark / Trino + Delta/Iceberg
适用场景 BI 报表、财务分析、监管报表 ML 训练、数据探索、日志分析 同时满足 BI + AI 的统一平台
典型技术 Hive + ORC/Parquet S3 + Spark + HDFS Delta Lake / Iceberg / Hudi
🏗️ 大数据架构演进:从传统数仓到湖仓一体

大数据架构经历了多次迭代,每次都是为了解决上一代的痛点。下面用图示展示核心架构。

① Lambda 架构(经典但复杂)

用两套系统分别处理离线批处理和实时流处理,最终在 Serve 层合并结果。优点是稳定,缺点是维护两套逻辑("Lambda 双写问题")。

数据源
DB / 日志 / 消息队列
Speed Layer
实时流处理
Storm / Flink
Serving Layer
合并批处理 + 实时结果
Druid / HBase
↑ 实时链路(低延迟,近似值)
Batch Layer
离线批处理
MapReduce / Spark
Serving Layer
批处理精确结果
覆盖实时近似值
↑ 离线链路(高延迟,精确值)
⚠️ Lambda 痛点:同一份逻辑要在批处理和流处理各写一遍,维护成本高,容易不一致。
② Kappa 架构(简化 Lambda)

LinkedIn 提出的改进方案:只保留流处理,用消息队列(Kafka)保存完整历史数据,批处理也用流引擎重放实现。一套逻辑,统一处理。

数据源
所有数据写入
消息队列(Kafka)
持久化完整事件日志
支持重放(Replay)
流处理引擎
Flink / Kafka Streams
实时 + 重放批处理
Serving
结果存储
✅ Kappa 优势:一套代码处理实时和离线,逻辑统一。挑战:消息队列存储成本高,重放大量历史数据慢。
③ 湖仓一体(Lakehouse)架构

在对象存储之上加一个"表格式"元数据层(Delta/Iceberg/Hudi),让数据湖具备数据仓库的事务能力和高性能查询能力。

数据源
数据湖存储层
S3 / OSS / HDFS
Parquet / ORC 文件
⬆ 表格式层(Table Format):Delta Lake / Iceberg / Hudi
Spark / Flink
写入 & 处理
+
Presto / Trino
交互式查询
+
Delta / Iceberg
ACID / Time Travel
Schema Evolution
BI 报表
+
ML 训练
+
Ad-hoc 查询
✅ Lakehouse 优势:一份数据同时服务 BI 和 AI,无需在数仓和数据湖之间搬运,Schema 灵活演进,成本远低于传统数仓。
传统离线数仓流程 & 实时数据管道

理解数据从产生到最终被消费的完整链路,是做数据平台的基本功。

📊 传统离线数仓处理流程(T+1)

数据以天为单位批处理,适合对实时性要求不高的 BI 报表、经营分析等场景。

① 业务 DB / 日志 / 外部数据
↓ Sqoop / DataX / CDC(全量/增量同步)
② ODS 层(操作数据层)— 原始数据落地,保持原貌
↓ ETL:清洗、去重、格式统一(Spark / Hive SQL)
③ DWD 层(明细层)— 维度建模,事实表 + 维度表
↓ 聚合计算(Hive / Spark SQL)
④ DWS 层(汇总层)— 宽表,按主题域预聚合
↓ 应用层加工
⑤ ADS 层(应用层)— 直接对接 BI 报表 / 接口
↓ 导出
⑥ BI 看板 / 数据服务 API / 业务系统
⚡ 实时数据管道(毫秒~秒级)

数据产生后实时捕获、处理、输出,用于实时监控、实时推荐、风控等场景。

业务 DB(Binlog)
CDC 捕获
(Canal / Debezium)
消息队列
(Kafka / Pulsar)
流处理
(Flink / Spark Streaming)
结果存储
(Redis / HBase / ClickHouse)
实时应用
(大屏 / 告警 / API)
💡 关键点:Exactly-Once 语义(Flink Checkpoint)、事件时间 vs 处理时间(Watermark)、窗口计算(Tumbling / Sliding / Session Window)
🔄 批流一体(Unified Batch + Streaming)

用同一套 API 和引擎处理离线和实时,Flink 是典型代表:"批是流的特例"(有界流 = 批处理)。

维度传统离线(批处理)实时流处理批流一体(Flink)
数据边界有界(已知大小)无界(无限数据流)统一用 DataStream / Table API
延迟小时 / 天级毫秒 / 秒级同一引擎,按需选择
容错机制Task 失败重跑Checkpoint + 状态后端统一的 Checkpoint 机制
典型引擎MapReduce / SparkStorm / FlinkFlink(推荐)/ Spark Structured Streaming
🛠️ 大数据技术栈全景

大数据生态庞大,按功能分层理解。不需要全部掌握,但需要知道每个组件解决什么问题。

① 分布式存储层(HDFS / S3 / OSS)

大数据的基石。HDFS 是 Hadoop 分布式文件系统,提供高吞吐的块存储;云上则使用 S3 / OSS 等对象存储,成本更低、弹性更好。数据以文件形式存储,通常配合列式格式(Parquet / ORC)提升查询效率。

HDFS S3 OSS GCS Ceph
② 资源调度层(YARN / Kubernetes)

管理集群 CPU / 内存资源,决定哪个任务跑在哪台机器上。YARN 是 Hadoop 生态的传统调度器;Kubernetes 正在成为新标准,支持更细粒度的资源隔离和弹性伸缩。

YARN Kubernetes Mesos Spark Standalone
③ 计算引擎层(MapReduce / Spark / Flink)

MapReduce:Google 提出的经典模型,将计算分为 Map 和 Reduce 两个阶段,适合大规模批处理,但磁盘 IO 多、慢。
Spark:基于内存的批处理引擎,比 MapReduce 快 10~100 倍,支持 SQL、流处理、MLlib 机器学习。
Flink:真正的流处理引擎,支持事件时间、状态管理、Exactly-Once,批流一体是其核心设计目标。

MapReduce Spark Flink Tez
④ 消息队列层(Kafka / Pulsar / RocketMQ)

实时数据管道的核心组件,负责解耦生产者和消费者、缓冲峰值流量。Kafka 是事实标准,以高吞吐、持久化、水平扩展著称;Pulsar 是新一代消息系统,支持计算存储分离;RocketMQ 在国内互联网广泛使用。

Kafka Pulsar RocketMQ RabbitMQ
⑤ 查询引擎层(Hive / Presto / ClickHouse / Doris)

Hive:基于 MapReduce/Spark 的 SQL 引擎,适合离线批处理,延迟高。
Presto/Trino:内存化 MPP 查询引擎,支持跨数据源联合查询,适合 Ad-hoc 分析。
ClickHouse:列式 OLAP 数据库,单表查询极致性能,适合实时报表。
Doris / StarRocks:新一代 MPP 数据库,兼顾实时写入和高并发查询,国内主流选择。

Hive Presto Trino ClickHouse Doris StarRocks
⑥ 表格式层(Delta / Iceberg / Hudi)

湖仓一体的核心,位于文件格式(Parquet/ORC)之上、查询引擎之下,提供 ACID 事务、Time Travel、Schema Evolution 等能力。
Delta Lake:Databricks 开源,与 Spark 深度集成。
Iceberg:Netflix 开源,支持隐藏分区、时间旅行,与引擎无关,生态最好。
Hudi:Uber 开源,擅长增量更新和近实时数据摄入。

Delta Lake Iceberg Hudi
⑦ 数据集成层(Sqoop / DataX / Flume / CDC)

负责将数据从各个源头同步到数据平台。Sqoop 用于 Hadoop 与关系型数据库之间的批量同步;DataX 是阿里开源的异构数据同步工具;Flume 用于日志采集;CDC(Change Data Capture)用于实时捕获数据库变更(Binlog)。

Sqoop DataX Flume Canal Debezium Flink CDC
🌐 大数据生态全景总结

把所有组件放到一张图里,理解它们之间的关系。

数据采集 & 接入
Sqoop / DataX
Flume / Filebeat
Flink CDC / Canal
Kafka / Pulsar
存储 & 计算
HDFS / S3
Spark / Flink
YARN / K8s
Delta / Iceberg
数据服务 & 消费
Hive / Presto
ClickHouse / Doris
BI 报表 / 数据服务
ML 训练 / 特征工程
↑ 数据流向:左 → 中 → 右 ↑
📌 核心概念速查表
概念一句话解释关键词
数据仓库面向分析的结构化数据集合,建模后存储ETL、维度建模、OLAP
数据湖存储任意格式原始数据的系统,读时定义 SchemaSchema-on-Read、低成本
湖仓一体湖的存储 + 仓的管理能力,统一数据平台Delta、Iceberg、ACID
Lambda 架构批处理 + 流处理两套系统,结果合并双写、Serving Layer
Kappa 架构只用流处理,通过消息队列重放实现批处理Kafka、重放、统一逻辑
ODS/DWD/DWS/ADS数仓四层分层模型,从原始到应用分层建模、数据治理
批流一体用同一套引擎和 API 处理离线和实时Flink、有界/无界流
CDC捕获数据库变更日志,实现实时数据同步Binlog、Debezium、Flink CDC
表格式(Table Format)在文件之上提供事务、Schema 管理的元数据层Delta、Iceberg、Hudi