大数据概念

数据湖

一个现代数据湖(湖仓一体)的架构,通常包含以下几个关键层次:

  • 存储层 (Storage):负责存储原始数据文件,如HDFS、S3、OSS、MinIO等。

  • 文件格式层 (File Format):数据在存储层上的物理组织格式,如Parquet、ORC、Avro。

  • 表格式层 (Table Format) :这是数据湖的"大脑",负责管理元数据、提供ACID事务、时间旅行等能力。Iceberg、Hudi、Delta Lake正属于这一层

  • 计算/查询引擎 (Compute Engine):负责读取表格式层的数据进行计算和查询,如Spark、Flink、Trino、Presto。

  • Catalog/元数据服务 (Catalog Service):统一管理表、数据库等元数据,如Hive Metastore、AWS Glue。

1. 跨源联邦查询:数据不搬家,直接关联

  • 王者:Trino / Presto

  • 唯一性 :只有它把 Connector 架构做到了极致,能一条 SQL 同时查 Hive、MySQL、Kafka、Iceberg、ES、MongoDB。数据不用 ETL,直接 JOIN。

  • 这个场景下,其他引擎做不到:Spark 要搬数据,Impala 绑死 HDFS,Flink 偏流。

  • 一句话"数据虚拟化"的王者,联邦查询只选它。


2. 海量数据复杂 ETL / 批处理

  • 王者:Spark SQL

  • 唯一性 :基于 DAG 调度 + RDD 弹性 + 内存/磁盘混合计算,容错极强,生态最全。PB 级数据跑复杂 ETL、机器学习、图计算,只有它能稳。

  • 这个场景下,其他引擎扛不住:Trino 内存流水线,大 ETL 容易 OOM;Flink 批处理生态不如 Spark 成熟。

  • 一句话"海量批处理"的王者,复杂 ETL 只选它。


3. 纯实时流计算(毫秒级延迟)

  • 王者:Flink SQL

  • 唯一性原生流处理架构,Event Time、Watermark、Checkpoint、Exactly-once、状态管理,全部为流设计。端到端延迟可到毫秒级。

  • 这个场景下,其他引擎做不到:Spark 是微批,延迟至少百毫秒;Trino/Impala 是批查询,没有流概念。

  • 一句话"真流处理"的王者,实时 CDC、实时风控只选它。


4. 实时数仓 / 高并发 OLAP 报表

  • 王者:Apache Doris / StarRocks

  • 唯一性MPP + 向量化 + 存算一体,支持高并发点查和复杂多表 JOIN,运维简单,写入即可查。BI 报表后端,几千 QPS 无压力。

  • 这个场景下,其他引擎有短板:ClickHouse 高并发 JOIN 弱;Trino 不存数据,查湖表有延迟;Kylin 预计算不灵活。

  • 一句话"实时数仓+高并发 BI"的王者,替换传统 MPP 只选它。


5. 日志 / 用户行为 / 大宽表极速聚合

  • 王者:ClickHouse

  • 唯一性列存 + 极致向量化,单表上亿行聚合秒级返回。写入吞吐极高,压缩比极好。

  • 这个场景下,其他引擎比不过:Doris/StarRocks 强在多表 JOIN 和高并发,但单表极致聚合 ClickHouse 更快;ES 存储成本高、聚合近似。

  • 一句话"大宽表单表聚合"的王者,日志分析、监控大屏只选它。


6. 固定报表 / 亚秒级多维分析

  • 王者:Apache Kylin / Druid / Pinot

  • 唯一性预计算,空间换时间。Cube 或索引提前算好,查询直接命中,亚秒级响应,且不占查询时计算资源。

  • 这个场景下,其他引擎做不到:Doris/ClickHouse 是现场算,维度组合多时扛不住;Trino 更慢。

  • 一句话"固定模式 BI 加速"的王者,维度固定、查询量巨大的报表只选它。


7. 数据湖底层存储 / 多引擎共享

  • 王者:Iceberg / Hudi / Paimon

  • 唯一性 :提供 ACID、快照、时间旅行、Schema 演化,让 Spark、Flink、Trino 都能读同一份数据,存储计算解耦。

  • 这个场景下,其他方案做不到:Hive 表没有事务和版本;直接存 Parquet 没有元数据管理。

  • 一句话"湖仓一体底座"的王者,多引擎共享数据只选它。


8. 传统离线 T+1 数仓(稳定、成熟、便宜)

  • 王者:Hive

  • 唯一性绝对稳定、生态最广、成本最低。虽然慢,但 T+1 场景对延迟不敏感,Hive 够用且不会出错。

  • 这个场景下,其他引擎没必要:Spark 更快但更贵;Trino 更快但更耗内存;Doris 更贵。

  • 一句话"传统离线数仓"的王者,T+1 稳定跑批只选它。


9. 极速交互式查询(数据在 HDFS/Hive)

  • 王者:Impala

  • 唯一性C++/LLVM 原生编译 + 数据本地化,在 HDFS 上做交互式查询,延迟比 Spark 低,比 Trino 更贴近存储。

  • 这个场景下,其他引擎有取舍:Trino 更通用但 JVM 有开销;Spark 偏批处理。

  • 一句话"HDFS 本地交互查询"的王者,CDH 集群 Ad-hoc 只选它。


总结成一张表

场景 王者 为什么只能是它
跨源联邦查询 Trino / Presto Connector 架构,数据不搬家
海量复杂 ETL Spark SQL DAG 容错,PB 级批处理最稳
纯实时流计算 Flink SQL 原生流,毫秒级,Exactly-once
实时数仓 / 高并发 BI Doris / StarRocks MPP 存算一体,高并发 JOIN
大宽表极速聚合 ClickHouse 列存向量化,单表聚合最快
固定报表亚秒级 Kylin / Druid / Pinot 预计算 Cube,空间换时间
数据湖底座 Iceberg / Hudi / Paimon ACID、快照、多引擎共享
传统 T+1 离线数仓 Hive 稳定、成熟、便宜
HDFS 本地交互查询 Impala C++ 原生,数据本地化

最后一句

选型不是选"最好"的引擎,而是选"最匹配场景"的引擎。

每个引擎在它的主场都是王者,离开主场就可能被碾压。现代大数据架构,往往是多个引擎组合 ,各司其职:

Flink 做实时入湖,Iceberg 管存储,Spark 做批处理,Trino 做联邦查询,Doris 做实时 BI,ClickHouse 做日志聚合

相关推荐
shirsl2 天前
数据开发每日面试题 Day 5
大数据·数据库·sql·big data
喻师傅3 天前
Apache Hudi 概述:从 Parquet 更新难题到数据湖 Upsert
大数据·数据仓库·big data
shirsl8 天前
数据开发实时项目问题整理
数据库·sql·big data
shirsl8 天前
数据开发每日面试题 Day 1
大数据·数据库·sql·big data
weixin_3077791320 天前
PySpark根据输入的表名和过滤条件生成 INSERT 语句
python·spark·云计算·big data
迅易科技1 个月前
从数据可视化到运营闭环,制造企业如何构建卓越运营数字化体系?
大数据·制造·big data
开开心心就好2 个月前
内存清理工具定时自动清理开机自启动
java·开发语言·elasticsearch·ocr·excel·音视频·big data
迅易科技2 个月前
Power BI 新功能解读:重构 AI 时代的企业数据建设内核
微软·big data·powerbi
真上帝的左手2 个月前
19. 大数据-概念
大数据·big data