返回

Iceberg + Doris,赋能实时湖仓一体化查询分析

开发工具

1. 背景

随着企业数字化转型的不断深入,数据量呈现出爆发式增长态势,给传统的数据管理和分析架构带来了巨大挑战。传统的数仓架构通常采用离线批处理的方式,将数据从源系统抽取到数据仓库中,然后再进行数据分析。这种架构存在着数据延迟高、灵活性差、成本高等问题。

为了解决这些问题,近年来湖仓一体的架构理念逐渐流行起来。湖仓一体是指将数据仓库和数据湖结合起来,形成一个统一的数据管理和分析平台。湖仓一体架构可以实现对实时和历史数据的统一存储、管理和分析,满足企业对实时数据分析的需求。

2. Apache Doris

Apache Doris是一个开源的分布式MPP数据库,专为在线分析型处理(OLAP)而设计。Doris具有高性能、高可靠性、高扩展性和高可用性等特点。Doris可以处理PB级的数据,并且能够在秒级内完成查询。

3. Apache Iceberg

Apache Iceberg是一个开源的数据表格式,用于管理大规模的数据集。Iceberg支持多种数据存储格式,包括Apache Parquet、Apache ORC和Apache Avro。Iceberg还支持数据分区和数据版本管理,可以有效地管理大规模的数据集。

4. Flink CDC

Flink CDC(Change Data Capture)是一个开源的工具,用于捕获数据库中的变更数据。Flink CDC可以将变更数据实时地同步到下游系统,例如消息队列或数据湖。Flink CDC支持多种数据库,包括MySQL、PostgreSQL和Oracle。

5. Doris + Iceberg + Flink CDC 构建实时湖仓一体的联邦查询分析

Doris、Iceberg和Flink CDC可以无缝集成,构建一个实时湖仓一体的联邦查询分析系统。具体架构如下:

Doris + Iceberg + Flink CDC 架构图

  1. 数据源 :数据源可以是关系数据库、NoSQL数据库、消息队列等。
  2. Flink CDC :Flink CDC负责捕获数据源中的变更数据,并实时地同步到Iceberg表。
  3. Iceberg :Iceberg负责存储和管理变更数据。Iceberg支持数据分区和数据版本管理,可以有效地管理大规模的数据集。
  4. Doris :Doris负责查询和分析Iceberg表中的数据。Doris可以对Iceberg表进行联邦查询,无需将数据导入到Doris中。

6. 优势

Doris + Iceberg + Flink CDC构建的实时湖仓一体的联邦查询分析系统具有以下优势:

  • 实时性 :Flink CDC可以实时地将变更数据同步到Iceberg表,Doris可以对Iceberg表进行联邦查询,因此可以实现对实时数据的查询和分析。
  • 统一性 :Doris可以对Iceberg表进行联邦查询,因此可以实现对实时和历史数据的统一查询和分析。
  • 灵活性 :Iceberg支持多种数据存储格式,Doris支持多种数据源,因此可以灵活地适应不同的数据需求。
  • 扩展性 :Doris和Iceberg都是可扩展的系统,可以满足企业对数据管理和分析的需求。

7. 应用场景

Doris + Iceberg + Flink CDC构建的实时湖仓一体的联邦查询分析系统可以应用于以下场景:

  • 实时数据分析 :Doris可以对Iceberg表进行联邦查询,因此可以实现对实时数据的查询和分析。这对于需要对实时数据进行分析的企业非常有用,例如,在线广告、在线游戏等。
  • 历史数据分析 :Doris可以对Iceberg表进行联邦查询,因此可以实现对历史数据的查询和分析。这对于需要对历史数据进行分析的企业非常有用,例如,财务分析、市场分析等。
  • 统一数据分析 :Doris可以对Iceberg表进行联邦查询,因此可以实现对实时和历史数据的统一查询和分析。这对于需要对实时和历史数据进行统一分析的企业非常有用,例如,供应链管理、客户关系管理等。

8. 总结

Doris + Iceberg + Flink CDC构建的实时湖仓一体的联邦查询分析系统可以满足企业对实时数据分析、历史数据分析和统一数据分析的需求。该系统具有实时性、统一性、灵活性和扩展性等特点。