Omega全实时数据处理架构介绍

1. 实时数据处理的需求场景

目前,很多企业在处理实时数据时面临下列的需求场景:
(1) 通过数据采集平台持续的获取流式数据;
(2) 在获取流式数据的同时进行实时计算;
(3) 实时计算的对象除了实时数据,还要考虑与历史数据相结合;
(4) 采集的实时数据除了需要实时计算的部分,也有不经过计算直接进入数仓;
(5) 实时数据经过实时计算之后的结果进入数仓;
(6) 采集的实时数据直接进入数仓的内容有不会变更的日志数据,也有在一个时间窗口内持续变更的应用数据;
(7) 实时数据存储的数仓此时还会面临实时明细查询的需求
(8) 实时明细查询的对象有实时计算的数据,有应用变更数据的快照,也有实时数据与历史数据相结合计算后的内容

2. Gartner的实时数据处理的需求框架

Omega全实时数据处理架构介绍_第1张图片
根据上述Gartner的定义,实时数据处理任务分三个阶段:
第一阶段,Real-Time Continuous Intelligence:对事件做出实时处理响应,包括指标对比,告警,趋势分析,自动决策;
第二阶段,Real-Time, On-Demand Intelligence:生成报告,支持即席查询,延伸数据探索,记录操作流程;
第三阶段,Offline On-Demand Intelligence:离线任务,包括报告,即席查询,实时决策,建模及长期决策;
第一阶段任务主要通常通过流处理引擎进行处理;
第二阶段和第三阶段任务的on-demand intelligence需要强大的实时数仓实现;
这个需求框架提出了在实时数据处理中的按需智能分析的新需求,按需智能分析有两个主要的特点:
(1) 必须有持续的变更的应用数据通过流式数据进入平台;
(2) 持续变更的数据需要有快照视图进行实时展示,响应客户端的实时明细查询;
传统的实时数据处理框架在流式数据中主要处理的是持续的不可变更的数据。如何在架构上做出变革,以解决持续变更的应用数据,满足实时明细查询的需求?

3. 新的Omega全实时数据处理架构

为了实现第一章描述的实时数据处理的需求场景,并依托Gartner的需求框架,我们先从lambda和Kappa架构定义开始描述:
3.1 Lambda架构
Omega全实时数据处理架构介绍_第2张图片
Lambda架构 (批流分开)
Batch View = Push_function(Historical Immutable Data)
Real-time View =Push_function(Real-time View, New Immutable Data)
Query = Pull_function(Batch View, Real-time View)
3.2 Kappa架构
Omega全实时数据处理架构介绍_第3张图片
Real-time Batch View =Push_function(New Immutable Data, Historical Immutable Data)
融合了历史和当前实时数据计算的结果视图
Query = Pull_function(Real-time Batch View)
3.3 Omega架构
Omega全实时数据处理架构介绍_第4张图片
Omega架构是在新的按需智能需求(On-demand Intelligence)出现以后由偶数科技2021年5月提出的新一代全实时数据处理架构。
Omega架构由流数据处理系统和实时数仓构成。融合了Lambda架构和Kappa架构处理流数据的优势,增加了实时按需智能和离线按需智能数据处理的能力,以及高效处理可变更数据实时快照的能力。
Snapshot View =Pull_function(All data)=Pull_function(Immutable Data, Mutable Data) 基于全景快照数据计算得出的结果视图
Real-time Batch View =Push_function(New Immutable Data, Historical Immutable Data)
Query = Pull_function(Real-time Batch View, Batch View,Snapshot View)
在Omega架构中,我们看到,该架构的功能可以满足第一章提出的实时数据处理业务场景的所有需求。
3.4 三种架构的对比
Omega全实时数据处理架构介绍_第5张图片

4. OUSHUDB基于Omega的全实时数据处理解决方案

在Omega架构中的实时数仓需要满足下列条件:
• 基于云原生技术进行深度优化,采取计算、存储分离的技术架构,充分适应云上数字化应用对高度弹性、无限扩容能力的要求,保证数据服务能力高可用;
• 面向PB级大数据,具备比MPP、SQL-on-Hadoop数据仓库更快的查询性能,从而明显降低批处理、即席查询所需的时间,保证数据服务能力的高时效;
• 完整支持ACID特性,可以保证数据在并发更新、查询失败等情况下保持数据的完备性、一致性和准确性,支持基于Oracle、DB2等传统交易型数据库的数字化应用的平滑移植;
• 具备对各类SQL标准的兼容性,如ANSI SQL-92、SQL-99、SQL-2003等,支持OLAP扩展,支持标准的JDBC/ODBC,并支持基于传统交易型数据库的数字化应用的平滑移植;
• 具备对自动化机器学习技术的支持能力,基于AutoML等技术,为业务人员提供自动化AI建模能力,实现AI模型全生命周期管理,降低AI研发与管理成本。
Omega全实时数据处理架构介绍_第6张图片
以上解决方案,主要包括三个模块:
 实时数据采集
Lava实现数据采集及消息存储(Kafka),负责流数据的接收。
 实时流式数据处理系统
Littleboy的Spark Streaming来完成,负责对不可变更数据的实时计算,以及数据预处理等。
 实时数仓
OushuDB来完成,负责不可变更数据以及可变更数据的在线按需智能,以及离线按需智能,并提供快照视图,实时批数据视图,批视图等。

5. 结语

Omega架构是综合了传统Lambda架构和Kappa架构的优势,在Gartner提出的新的实时数据处理框架基础上,由偶数科技提出的新的全实时数据处理架构,新架构覆盖了当前各个企业在实时数据处理场景下的核心需求,欢迎同行业探讨交流。

你可能感兴趣的:(数据云,混合负载,数据仓库,数据仓库,实时大数据,lambda,大数据,云数据存储)