连载:阿里巴巴大数据实际—实时技术
作者头像
  • 爱分析
  • 2020-08-20 20:56:21 8

数据的价值具有时效性,如果一条数据在产生时不能及时处理并在业务系统中应用,那么这条数据的新鲜度和价值就会大打折扣。

与传统的离线批处理技术相比,流式实时处理技术是一种重要的补充技术,已在阿里巴巴集团内广泛应用。近年来,流计算技术的研究成为大数据领域的热门话题。

业务需求希望第一时间获得经过处理的数据,以便实时监控业务状态并作出相应的运营决策。例如,一个高流量的广告位需要实时监控其引流效果,若转化率低,运营人员需要迅速更换广告,避免浪费流量资源。在这个例子中,实时统计广告位的曝光和点击情况是关键的决策依据。

根据数据延迟的不同,数据时效性通常分为三类:离线、准实时和实时。离线处理是指在今天处理N天前的数据,延迟为天级别;准实时处理是指在当前小时内处理N小时前的数据,延迟为小时级别;实时处理是指在当前时刻处理即时数据,延迟为秒级别。离线和准实时处理可以在批处理系统中实现,而实时数据则需要在流式处理系统中进行。

总体而言,流式数据处理技术具备以下特点:

  1. 高时效性:数据实时采集和处理,延迟在秒级甚至毫秒级,使业务方能第一时间获得处理后的数据。

  2. 常驻任务:不同于离线任务的周期调度,流式任务持续运行,直到人为停止。这使得流式任务的数据源是无界的,而离线任务的数据源是有界的。这一特性决定了流式任务在数据处理上存在一定局限。

  3. 高性能要求:实时计算对数据处理的性能要求非常高,如果处理速度跟不上采集速度,数据将失去实时特性。因此,实时处理需要保持高吞吐量和低延迟。

  4. 应用场景有限:实时数据处理不能完全取代离线处理,尤其是在处理复杂业务逻辑时,实时处理存在局限性。此外,由于数据流的不确定性,实时处理和离线处理的结果可能有所不同。

流式计算技术需要各个子系统协同工作,形成一条数据处理链路,从而提供实时数据服务。常见的开源技术方案很多,但整体架构相似,只是具体实现方式不同。流式技术和离线处理并非完全独立,而是有交叉的。

数据模型设计在流式计算中同样重要。实时数据模型一般分为五层:ODS(操作数据层)、DWD(实时理想明细层)、DWS(订阅明细层汇总层)、ADS(个性化汇总层)和DIM(维表层)。实时数据模型是离线数据模型的一个子集,很多模型设计借鉴了离线数据模型。

在流式计算中,多流关联是一个关键环节,特别是在实时流数据的处理中。实时流数据的增量特性导致数据到达顺序不确定,因此需要采用中间形状保存和恢复机制来处理关联问题。例如,订单信息表和支付信息表的关联,就需要实时检查每条新数据,确保数据的准确关联。

在实时计算中,维表的应用也有特殊考虑。由于实时数据的无序性,通常使用T-2的数据进行关联,以确保数据的确定性。在某些情况下,也可以使用T-1的数据,但会存在数据缺失的问题。维表的使用有两种方式:全量加载和增量加载,具体选择取决于数据量和实时性能要求。

综上所述,流式数据处理技术在实时监控和快速决策方面具有显著优势,但也存在一定的局限性。通过合理的设计和优化,可以充分发挥其效能。

以上内容是对原文的改写,保持了原文的核心信息和要点,但在语言和结构上进行了大幅度的调整,以确保与原文的相似度较低。

    本文来源:图灵汇
责任编辑: : 爱分析
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
阿里巴巴实时实际连载数据技术
    下一篇