当前大数据架构发展
目前主流的大数据技术架构呈现出以下几个关键趋势和对应的技术选型:
1. 架构理念演进:从 Lambda 到 Kappa,再到湖仓一体与存算分离
- 湖仓一体 (Lakehouse):这是当前最受关注的架构趋势。它旨在融合数据湖的灵活性和低成本(存储原始数据)与数据仓库的结构化管理、高性能查询和数据治理能力。通过引入数据湖表格式(如 Apache Iceberg、Apache Hudi、Delta Lake),在对象存储(数据湖)之上提供事务、Schema 管理、版本控制等数据仓库的特性。Apache Iceberg 正在成为事实标准之一。 [1][2]
- 存算分离 (Storage-Compute Separation):为了更好地应对弹性伸缩和成本效益,计算和存储资源解耦已成为主流。这意味着数据存储在一个独立的服务中(如对象存储),而计算引擎可以按需启动和关闭,独立扩展。 [2][3] 这种模式在云环境中尤为普遍。
- 流批一体 (Stream-Batch Unification):传统的 Lambda 架构(批处理层+流处理层)因其复杂性和数据冗余而逐渐被 Kappa 架构或更广义的流批一体架构所取代。目标是使用一套技术栈和一套逻辑同时处理实时数据和历史数据,简化开发和运维。 [3][4]
2. 存储层 (对应 HDFS)
虽然 HDFS 在本地部署的 Hadoop 集群中仍然广泛使用 [5][6],但其地位已受到挑战,尤其是在云环境中:
- 对象存储 (Object Storage):在云原生大数据架构中,云服务商提供的对象存储(如 Amazon S3、Azure Blob Storage、Google Cloud Storage)已成为数据湖的事实标准存储层。它们提供极高的可扩展性、持久性和成本效益,并且与各种计算引擎良好集成。 [2][3] 对于私有化部署,MinIO 或 Apache Ozone 是常见的对象存储选择。 [5][6]
- 数据湖表格式 (Data Lake Table Formats):为了在对象存储上实现数据仓库的特性,引入了数据湖表格式。
- Apache Iceberg:因其开放性、高性能和广泛的引擎支持,正逐渐成为湖仓一体架构中的首选表格式。 [5][7]
- Apache Hudi:由 Uber 开源,主要关注实时数据更新和事务支持。 [5][8]
- Delta Lake:由 Databricks 开源,与 Spark 生态紧密结合。 [5]
- 列式存储格式 (Columnar Storage Formats):Apache Parquet 和 Apache ORC 依然是数据湖中数据序列化的事实标准,它们提供了高效的压缩和查询性能。 [5][6]
3. 数仓层 (对应 Hive)
Hive 仍然是数据仓库工具,但其底层架构和使用方式发生了变化,并涌现出更多高性能的数仓解决方案:
- 基于数据湖的数仓:通过上述数据湖表格式,直接在对象存储(数据湖)上构建逻辑数据仓库,实现湖仓一体。 [7][8]
- MPP (Massively Parallel Processing) 数据库:针对高性能分析查询,MPP 架构的数据库越来越受欢迎。它们通常提供 SQL 接口,能够处理大规模数据并提供秒级响应。
- Apache Doris:一个开源的 MPP 实时分析数据库,支持高并发、低延迟的查询和分析。 [9]
- ClickHouse:另一个高性能的列式 MPP 数据库,擅长 OLAP 查询。
- StarRocks:源自百度 Massive Analytic and Realtime System (MARS),也是一个高性能的 MPP 数据库。 [3]
- 云原生数据仓库:在云服务中,Google BigQuery、Snowflake 等提供了完全托管、按需付费、弹性伸缩的云原生数据仓库服务,大大降低了企业自建数仓的门槛和运维成本。 [9]
4. 计算引擎 (对应 Spark)
Spark 依然是大数据计算领域的重要玩家,但其生态更加丰富,并出现了专注于实时处理的强大对手:
- Apache Spark:仍然是主流的通用计算引擎,广泛应用于批处理、流处理、机器学习和图计算。它的内存计算能力和丰富的 API 仍然使其成为许多场景的首选。 [10][11]
- Apache Flink:在实时流处理领域表现卓越,并逐渐向流批一体的方向发展,成为实时计算和构建实时数仓的核心引擎。它提供精确一次语义和低延迟处理能力。 [3][10]
- Presto/Trino:这些是分布式 SQL 查询引擎,能够对 HDFS、对象存储、关系型数据库等多种数据源进行交互式查询,常用于即席查询和数据探索。 [5][10]
- 其他专业引擎:
- Apache Druid:高性能实时分析数据库,适用于快速聚合和交互式分析。 [10]
- ClickHouse/Doris/StarRocks 等 MPP 数据库本身也包含了强大的计算引擎,可以直接进行数据处理和分析。
总结
您过去熟悉的 HDFS + Hive + Spark 仍然是许多企业大数据平台的基础,但其演进方向是:
- 存储方面:从 HDFS 转向更灵活、成本更低的对象存储,并通过 数据湖表格式(如 Iceberg) 来提供数据治理能力,构建 湖仓一体 架构。
- 数仓方面:从 Hive 更多地转向基于数据湖的逻辑数仓,或者采用 高性能的 MPP 数据库(如 Doris、ClickHouse、StarRocks) 来满足实时分析和复杂查询的需求,同时 云原生数据仓库 越来越普及。
- 计算方面:Spark 依然是通用计算的主力,而 Flink 在实时处理和流批一体方面占据主导地位,Presto/Trino 则专注于交互式查询。整个趋势是计算引擎能力边界的扩展和融合,以及 存算分离 的普遍应用。
总而言之,当前主流的大数据架构更加强调实时性、灵活性、成本效益和云原生能力,通过 湖仓一体、存算分离和流批一体 等理念,结合 对象存储、数据湖表格式、MPP 数据库和 Spark/Flink/Presto 等计算引擎,构建更高效、更适应业务需求的数据平台。
Learn more:
- 大数据(二)大数据架构发展史- 只会一点java - 博客园
- 大数据技术的发展趋势-腾讯云开发者社区
- 挑战Spark和Flink?大数据技术栈的突围和战争| 年度技术盘点与展望 - InfoQ
- 从小数据到大数据,架构经历了怎样的演变 - 腾讯云
- 2024数据工程开源技术跟踪- 天戈朱 - 博客园
- 2024 开源数据工程生态系统全景图- Ji_Lei - 博客园
- 数据平台竞技场2024:AI 或成为必杀技,但面临三个致命挑战 - InfoQ
- 「火山引擎」数智平台VeDI 数据中台产品双月刊VOL.07 - 文章- 开发者社区
- 主流的数据仓库有哪些,数据仓库类型 - SelectDB
- 开源大数据计算引擎有哪些 - 帆软
- “后Hadoop时代”,大数据从业者如何应对新技术趋势带来的挑战? - InfoQ