准实时流式数仓 Paimon+Dinky

 

一.背景

业务需求的驱动:随着数字化进程的加速,企业业务的实时性需求日益增长。例如在电商领域,需要实时监控订单状态、商品销量等信息,以便及时调整库存和营销策略;在金融行业,实时监控交易流水、风险指标等,进行实时反欺诈和风险预警。

技术发展的推动:实时计算技术如 Storm、Flink 等的不断成熟,为处理实时数据提供了强大的技术支撑。同时,存储技术的发展也使得能够更高效地存储和管理实时数据,如 Apache Paimon 等支持流批一体的存储系统的出现。

数据量与复杂性的增加:数据的产生速度和规模呈爆炸式增长,传统的离线数仓难以满足对实时数据的处理需求。企业需要一种能够实时处理海量数据的架构,以实现对数据的及时分析和决策。

架构演进的需求:从早期的 Hadoop 架构,到流批分离的 Lambda 架构,再到流批一体的 Kappa 架构,数据处理架构不断演进。实时流式数仓在这些架构的基础上发展而来,旨在提供更简单、高效、统一的实时数据处理解决方案。

二.定义

实时流式数仓是一种基于流式计算技术和数据仓库理念构建的,能够实时或近实时地采集、处理、存储和分析大规模实时数据的数据仓库架构。它具有以下特点:

实时性:能够在数据产生的瞬间或极短时间内进行处理和分析,提供秒级甚至毫秒级的响应时间,让企业能够及时获取最新的业务数据和洞察。

流式处理:采用流式计算引擎如 Flink、Spark Streaming 等,对实时流入的数据进行持续处理,无需等待数据积累到一定量再进行批量处理,实现数据的实时流动和处理。

数据集成:可以集成多种数据源,包括关系型数据库、消息队列、日志文件、传感器数据等,将不同来源的实时数据进行整合,统一存储和管理。

流批一体:支持将实时数据和离线数据进行统一存储和处理,消除了离线和实时数据之间的差异,避免了数据不一致性问题,同时也降低了开发和运维的成本。

可扩展性:基于分布式架构,能够水平扩展计算和存储资源,以应对大规模实时数据的处理需求,具有良好的弹性和容错性。

数据一致性:通过有效的数据管理和血缘关系维护,确保实时数据在处理和存储过程中的一致性和准确性,保证数据质量。

分析能力:提供丰富的数据分析功能,支持 SQL 查询、聚合、关联等操作,以及机器学习、数据挖掘等高级分析功能,满足企业不同的业务分析需求。

三.框架

这张图展示了一个准实时流式湖仓(Streaming LakeHouse)的技术选型架构。以下是对图中技术选型的详细解释:

总体架构

  • 准实时流式湖仓:旨在结合实时数据处理和数据湖的优势,实现高效的数据存储和分析。

核心组件

  1. Dinky:实时计算平台
    • 位于图的上方,作为整个架构的实时计算核心。
    • 主要负责处理实时数据,确保数据能够及时被处理和分析。
  2. Paimon
    • 位于图的中心,是整个架构的数据存储和管理核心。
    • 支持多种数据操作,包括 ODS(操作数据存储)、DIM(维度表)、DWD(数据仓库明细层)、DWS(数据仓库服务层)和 ADS(应用数据服务层)。
    • Paimon 通过 Hive Meta Store 进行元数据管理,并与 HDFS(Hadoop 分布式文件系统)进行数据存储。
  3. Doris/StarRocks
    • 位于图的右上角,主要用于多维 OLAP 分析和 BI 报表。
    • 提供高性能的数据分析功能,能够快速处理大量数据。

 

数据源

  • Kafka 和 MySQL
  • 位于图的左侧,是主要的数据源。
  • Kafka 通过 SQL Kafka 和 Flink SQL 进行数据处理,MySQL 通过 CDC MySQL(变更数据捕获)进行数据处理。

 

数据处理流程 

1.ODS 层(操作数据存储层)-->业务数据实时入湖入仓
数据源:主要来自 Kafka 和 MySQL。Kafka 中的数据通过 SQL Kafka 进行处理,MySQL 中的数据通过 CDC(Change Data Capture,变更数据捕获)MySQL 进行处理。
功能:
1).这一层负责将业务数据实时入湖入仓,作为原始数据的存储层,数据在这里基本保持着原始的业务形态。
2).ODS 层负责接收和存储来自 Kafka 和 MySQL 的实时业务数据。
3).这些数据通过 Flink SQL 和 CDC MySQL 进行处理,确保数据能够及时进入 Paimon。

2.DIM 层(维度层)-->构建维表
数据来源:主要从 ODS 层获取数据。
功能:对从 ODS 层抽取的数据进行维度建模,提取出具有业务意义的维度数据。例如,在电商业务中,可能会从原始订单数据中提取出商品维度、用户维度等数据,这些维度数据将在后续的数据分析中起到重要作用。

3.DWD 层(数据仓库明细层)--构建宽表
数据来源:从 ODS 层和 DIM 层获取数据。
功能:
1).在这一层构建宽表,对数据进行进一步的整合和处理。它会将从 ODS 层来的原始数据与 DIM 层的维度数据进行关联和整合,形成更具业务分析价值的明细数据。
2).DWD 层在 Paimon 中构建宽表,对数据进行初步的整合和处理。
3).宽表的构建有助于后续的数据查询和分析。

4.DWS 层(数据仓库服务层)--汇总聚合数据
数据来源:主要从 DWD 层获取数据。
功能:
对 DWD 层的数据进行轻度汇总,形成面向业务主题的数据服务层。例如,对电商业务中的订单明细数据进行按天、按地区等维度的汇总,以便为上层的应用和分析提供更高效的数据支持。

5.ADS 层(应用数据服务层)--指标计算
数据来源:从 DWS 层获取数据。
功能:
1).基于 DWS 层的数据进行进一步的处理和分析,生成面向具体业务应用的指标数据,如用户活跃度、商品销量等指标
2).指标计算的结果可以用于业务决策和分析。

数据分析

  • Doris/StarRocks
  • 1).提供多维 OLAP 分析和 BI 报表功能。
  • 2).通过与 Paimon 的数据交互,能够快速生成分析报表和数据洞察。

总结

1).这种技术选型架构通过结合实时计算平台(Dinky)、数据存储和管理平台(Paimon)以及高性能数据分析平台(Doris/StarRocks),实现了从数据源到数据分析的全流程处理。

2).能够高效地处理实时数据,进行数据存储和管理,并提供快速的数据分析和报表功能,适用于对实时数据处理和分析有较高要求的业务场景。

四.特点及优势

流式数仓作为一种新兴的数据处理架构,具有诸多显著特点及好处,以下是详细介绍:

特点

1).实时性高:能够实时或近实时地处理数据,数据一旦产生即可立即进行采集、处理和分析,无需像传统数仓那样等待批量数据加载,可在秒级甚至毫秒级内提供分析结果,及时反映业务的最新状态。

2).数据持续流动:基于流式计算技术,数据以流的形式源源不断地进入系统,在流动过程中进行处理和转换,不存在数据处理的边界,可实现对无限数据序列的持续处理。

3).低延迟处理:采用先进的流处理引擎,优化了数据处理流程,减少了数据在各个环节的等待时间,能够快速对数据进行过滤、聚合、关联等操作,将处理结果快速反馈给下游应用。

4).分布式架构:通常构建在分布式计算平台上,如 Apache Flink、Apache Spark Streaming 等,具有良好的横向扩展性,可以根据业务需求灵活增加计算节点和存储资源,轻松应对大规模实时数据的处理压力。

5).流批一体:支持将实时流数据和离线批数据进行统一存储和处理,使用相同的代码逻辑和数据模型,既可以处理实时的流式数据,也可以对历史数据进行批量分析,消除了流批处理的差异。

6).状态管理:能够有效管理流处理过程中的状态信息,如窗口状态、聚合状态等,确保在数据处理过程中状态的一致性和准确性,即使在出现故障或节点重启的情况下,也能通过状态恢复机制保证数据处理的连续性。

好处

1).及时决策支持:企业决策者可以根据实时数据的分析结果迅速做出决策,如实时调整营销策略、优化生产流程、监控业务风险等,提高企业的响应速度和竞争力。

2).提升用户体验:在一些面向用户的应用场景中,如实时推荐系统、实时监控系统等,能够根据用户的实时行为和偏好提供个性化的服务和反馈,增强用户的参与度和满意度。

3).优化资源利用:通过实时监控和分析系统的运行状态,如资源使用情况、业务流量等,及时调整系统资源的分配,实现资源的动态优化,提高资源的利用率,降低运营成本。

4).增强数据一致性:由于采用了流批一体的架构,避免了传统架构中因流批处理分离而导致的数据不一致性问题,确保了数据在不同处理阶段和不同应用场景中的一致性和准确性。

5).降低开发成本:开发人员无需分别为实时流处理和离线批处理编写不同的代码,减少了代码的重复开发和维护工作量。同时,统一的开发和运维模式也降低了对开发和运维人员的技术要求,提高了开发效率。

6).灵活扩展业务:可以方便地接入新的数据源和应用场景,快速实现业务功能的扩展和创新。例如,随着业务的发展,可以轻松添加新的实时监控指标、实时分析报表等,满足企业不断变化的业务需求。

五.准实时流式湖仓在未来企业中的发展

技术发展方向

  1. 性能优化
    • 实时计算效率提升
      • 随着企业数据量的不断增长,像 Dinky 这样的实时计算平台将不断优化其计算引擎。例如,进一步改进 Flink SQL 的执行效率,通过优化算法和数据结构,减少实时数据处理的延迟。这将使企业能够更快速地获取数据洞察,及时做出决策。
    • 存储系统升级
      • Paimon 作为数据存储核心,会不断升级其存储架构。一方面,会增强与 HDFS 的集成,提高数据存储的稳定性和扩展性。另一方面,可能会引入新的存储技术,如融合对象存储的优势,降低存储成本的同时提高数据读写速度。
  2. 功能扩展
    • 多维分析能力增强
      • Doris/StarRocks 在多维 OLAP 分析方面将不断拓展。未来可能会集成更多先进的数据分析算法,支持更复杂的数据分析场景,如预测性分析、机器学习模型的实时应用等。这将使企业不仅能进行事后分析,还能进行实时预测和决策。
    • 数据治理功能完善
      • 整个架构会加强数据治理功能。例如,在 Paimon 中会进一步完善元数据管理,通过 Hive Meta Store 实现更精细的数据血缘追踪和数据权限管理。这有助于企业保障数据质量,确保数据在各个层级的合规使用。

二、应用场景拓展

  1. 行业多元化
    • 金融行业深化应用
      • 在金融行业,准实时流式湖仓将不仅仅用于交易监控和风险预警。未来可能会用于实时的客户信用评估,通过实时分析客户的交易行为、资产变动等数据,即时调整客户的信用额度和风险等级,降低金融风险。
    • 制造业智能生产
      • 制造业企业可以利用该架构实现生产流程的全实时监控。从原材料采购、生产线上的设备运行状态,到产品质量检测,都可以通过实时数据进行优化。例如,通过实时分析设备传感器数据,提前预测设备故障,安排预防性维护,减少停机时间。
  2. 业务创新
  3. 实时营销优化
    • 对于零售和电商企业,基于准实时流式湖仓,可以实现真正的实时个性化营销。通过实时分析用户的浏览行为、购买历史等数据,在用户浏览商品的瞬间就提供高度个性化的推荐,提高营销转化率。
    • 供应链实时协同
      • 在供应链管理方面,企业可以通过实时共享和分析上下游企业的数据,实现供应链的实时协同。例如,实时监控库存水平、物流状态等,及时调整采购和生产计划,减少库存积压和物流延误。

三、对企业运营的影响

决策效率提升:企业管理层能够基于准实时的数据洞察做出决策,大大缩短决策周期。例如,在新产品发布时,可以实时监控市场反馈,及时调整营销策略,提高产品的市场成功率。

成本控制与资源优化:通过实时数据监控和分析,企业可以更精准地控制运营成本。例如,在能源行业,实时分析能源消耗数据,优化能源分配,降低能源成本。同时,能够根据实时业务需求优化 IT 资源分配,避免资源浪费。

数据驱动文化的形成:随着准实时流式湖仓在企业中的深入应用,企业将形成更加浓厚的数据驱动文化。各个部门都将依赖数据进行日常运营和决策,从而推动企业整体向更加智能、高效的方向发展。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值