┌──────────────┐
│ 数据源 │
│(日志,DB,API等)│
└─────┬────────┘
↓
┌──────────────┐
│ 数据采集层 │
│ Kafka / Pulsar │
└─────┬────────┘
↓
┌────────────┴─────────────┐
↓ ↓
┌────────────────┐ ┌──────────────────┐
│ 实时计算层 │ │ 批处理/离线计算层 │
│ Flink / Spark │ │ Spark / Flink Batch│
└────┬────────────┘ └───────┬──────────┘
↓ ↓
┌─────────────┐ ┌────────────────────┐
│ 中间缓存/存储│ │ 离线数仓 / 数据湖 │
│ Redis / HBase│ │ Hive / Iceberg / │
└────┬────────┘ │ Hudi / Delta Lake │
↓ └─────────┬──────────┘
┌──────────────┐ ↓
│ OLAP引擎 │ ┌────────────────────┐
│ StarRocks │◄────────►│ 数据服务/查询层 │
│ ClickHouse │ │ Presto / Trino │
└──────────────┘ └─────────┬──────────┘
↓
┌────────────────────┐
│ 可视化 & 数据应用层 │
│ Superset / BI工具 │
└────────────────────┘
✅ 二、新趋势与推荐组件(按层次)
1. 数据采集层
- ✅ Apache Kafka:事实标准,超高吞吐,生态成熟。
- 🔄 Apache Pulsar:分布式特性好、支持多租户,但生态不如 Kafka 成熟。
2. 实时计算层
-
✅ Apache Flink(主流):
- 强实时能力,流批一体。
- 支持 CEP、窗口聚合等复杂事件处理。
-
🌟 ByteLake Flink:Flink 的国产增强版(如字节跳动的内部版本),在大公司中使用增多。
3. 离线/批处理层
- ✅ Apache Spark:大规模离线处理仍然可靠。
- ✅ Flink Batch API:逐步替代 Spark 的趋势。
4. 数据湖 & 数仓
-
🌟 Apache Iceberg / Delta Lake / Apache Hudi:
- 支持 ACID、Schema Evolution、Time Travel。
- 适合湖仓一体架构。
-
✅ Hive + Parquet/ORC:传统稳定方案,但逐步向 Iceberg 过渡。
5. OLAP 查询引擎(分析型数据库)
-
🌟 StarRocks(2025最热):
- 高性能实时查询,支持实时写入。
- 支持联合查询、物化视图、Lakehouse 架构。
-
✅ ClickHouse:轻量级、单表分析快,但多表关联不如 StarRocks。
-
🔄 Doris(StarRocks 前身):逐步被 StarRocks 替代。
6. 数据服务层
- ✅ Trino / Presto:分布式 SQL 查询引擎,支持异构数据源。
- ✅ Apache Paimon(Flink Table Store) :Flink 生态下新型 Lakehouse 数据存储。
7. 缓存与索引层
- ✅ Redis:指标缓存、实时接口加速。
- ✅ Elasticsearch / OpenSearch:用于搜索场景或日志分析。
8. 元数据管理 & 数据治理
- ✅ Apache Atlas / DataHub:元数据管理。
- ✅ Amundsen / Egeria:数据目录平台。
📌 三、关键架构理念(2025年热点)
| 架构理念 | 说明 |
|---|---|
| 流批一体 | Flink 同时支持实时流处理和离线批处理,统一计算模型。 |
| 湖仓一体 | 使用 Iceberg/Hudi/Delta Lake 统一数据湖与数据仓库功能。 |
| 云原生 + Serverless | 支持自动扩缩容、按需计费(如 AWS EMR Serverless, Flink Kubernetes Operator)。 |
| 异构融合查询 | Trino/StarRocks 等工具支持跨存储多源聚合分析。 |
| 多租户 & 权限治理 | 更重视数据安全与权限隔离,企业开始接入统一数据资产平台。 |
🎯 四、适合不同规模团队的技术组合
| 场景/团队规模 | 推荐架构组合 |
|---|---|
| 初创公司(轻量) | Kafka + Flink + Redis + ClickHouse + Superset |
| 中型团队 | Kafka + Flink + Iceberg + StarRocks + Trino + BI |
| 企业级平台 | Kafka + Flink + Spark + Iceberg + StarRocks + Atlas/DataHub |
🏗️ 五、大数据架构类型对比与适用场景
| 架构类型 | 简要定义 | 典型场景 | 优点 | 缺点 |
|---|---|---|---|---|
| Lambda 架构 | 同时使用批处理与流处理两套流程,最终进行结果合并。 | 对一致性要求高的实时系统,如风控、广告推荐。 | 兼顾实时性和准确性;批处理可重放保障数据质量。 | 架构复杂、维护成本高、代码重复。 |
| Kappa 架构 | 只用一条实时流处理路径,替代批处理。数据统一从日志流重放。 | 对实时性要求高,且数据规模适中场景,如 IoT、实时监控。 | 简化架构,无需维护两套代码;更实时。 | 依赖流引擎强一致性支持;无法处理超大批数据效率问题。 |
| 数据湖(Data Lake) | 用低成本对象存储(如 S3/HDFS)存放结构化与非结构化数据,后续统一处理。 | 数据采集初期、不确定分析方式时,如日志、文本、图片等原始数据存储。 | 存储灵活、成本低;支持多种分析场景。 | 数据治理弱;查询效率低;数据一致性差。 |
| 数据仓库(Data Warehouse) | 结构化数据的规范建模、ETL处理后统一存储,面向报表和查询优化。 | 报表分析、KPI指标体系建设,如经营分析、用户画像。 | 高性能、强治理、支持复杂查询。 | 不适合非结构化数据;建模周期长,扩展性差。 |
| 混合架构(湖仓一体) | 将数据湖的灵活存储能力与数据仓库的治理分析能力结合,典型工具如 Iceberg、Delta Lake。 | 统一数仓和湖的体系,支撑实时、离线、探索式分析。 | 架构统一、支持 ACID 与流批一体、适配实时与离线。 | 运维复杂度略高;对计算引擎(如 Flink、Trino)依赖强。 |
总结
| 场景类型 | 推荐架构 |
|---|---|
| 实时风控 / 广告推荐 | Kappa 架构(Flink + Kafka) |
| 多源数据治理 + 多模式分析 | 混合架构(湖仓一体) |
| 企业 BI 报表 / 指标体系 | 数据仓库或湖仓一体 |
| 初期探索数据 / 非结构化原始数据收集 | 数据湖 |
📌 架构建议:
- 初创/快速迭代阶段 → Kappa 架构 + 数据湖。
- 成长/扩展阶段 → 引入 Iceberg/Hudi,构建湖仓一体体系。
- 企业级治理阶段 → 混合架构(Lakehouse)+ 元数据管理 + OLAP 查询引擎。
到2025年,大数据架构不再是单一的技术栈,而是多种理念和技术的融合。一个稳定、常用的新型大数据架构可能具备以下特征:
- 以数据湖仓一体为核心存储。
- 以流批一体为核心处理范式,强调实时能力。
- 采用云原生架构实现弹性、可伸缩和降低运维成本。
- 通过数据网格理念解决数据治理和数据所有权问题。
- 深度融合 AI 技术,提升数据管理的自动化和分析的智能化水平。