一文搞懂:离线数据、实时数据究竟该如何选择

4 评论 15753 浏览 52 收藏 11 分钟
🔗 产品经理软技能是指如逻辑分析、文字表达、语言表达、学习能力、总结能力、创新力、好奇心、情绪态度和团队合作等。

编辑导语:在业务分析过程中,你应该选择实时数据还是离线数据?这需要依据业务场景来进行判断,不能盲目选择。那么,二者的优缺点是什么?各自适合应用于什么场景?本篇文章里,作者针对如何选择离线数据和实时数据这一问题做了解答,一起来看一下。

做数据和用数据的人绕不开的问题是数据的时效性,离线数据、实时数据分别指的是什么,业务应用时,究竟该以什么标准选择呢?很多业务产品或运营搞不懂两者的区别。提数据分析需求,想着肯定越实时越好,数据团队怎样拒绝?

一、什么是离线数据、实时数据?

数据从业务端产生,到分析或者反哺业务使用,需要经过一系列的清洗、处理过程,而这一过程带来时间窗口大小,就是数据的时效性。按照数据延迟的大小,可以将数据分为离线数据和以及实时数据(准实时)。

1. 离线数据

离线数据一般是指T-1的日期,例如今天的日期T=2021-11-12,那么数据结果中,能够体现的业务数据只包括前一天的(昨日数据)。有人也称之为T+1的数据,把数据日期当作T,叫法不同,但本质都是指的今天处理的数据最新日期是截止昨天。

2. 实时数据

实时数据主要是指的数据延迟小,例如毫秒、秒、分钟级的延迟,小时级的延迟称之为“准实时数据“更为准确了。例如,你熬夜赶在双十一晚上的最后1分钟,成功付了尾款,在双十一实时统计大屏中,GMV的值又滚动了一下。

二、处理技术有何差异

1. 离线数据处理

离线数据处理也称之为“批处理”,数据产生之后,不会立即进行清洗,而是在固定的周期进行ETL,例如每天在凌晨12:00之后,处理前一天产生的数据。上大学的时候,有的舍友喜欢将袜子攒起来,一个星期洗一次,这就是批处理的思想。

离线数据处理技术是大数据发展更早,目前已经非常成熟的一套体系,最常见是Hadoop,它是一个能够对大量数据进行分布式处理的软件框架。以一种可靠、高效、可伸缩的方式进行数据处理。核心组件是HDFS、MapReduce、Hive。以HDFS进行数据存储,Mapreduce计算,Hive进行数据仓库建设或者基于HiveSQL进行数据查询。

主要优点是:

  • 能够处理的数据量巨大,从企业成立以来的历史数据,都可以存储、计算处理、分析应用。
  • 数据更准确,对于一些交易类的业务,存在订单状态流转,例如酒店,用户早上下了订单,但是下午有突发情况行程有变,取消了。在离线数据处理时,取当天订单成功状态,就不会计算在内。但对于数据漂移,即12点前下单,12点后取消的情况,就也无法统计到了,这种情形,在数据清洗任务处理时,可以采用全量更新的方式,每日更新全部数据,取最终的订单状态。

缺点:

离线数据的缺点也很明显,就是慢。今天的数据,要隔天(明天)才能看得到。

2. 实时数据处理技术

实时数据处理,也称之为“流式”数据处理,数据像水流一样每时每刻源源不断地产生后,就立即被清洗处理。这就好比,穿的袜子脏了就洗,今日事今日毕,而不是都攒着。

实时数据一般是业务端即席产生(水源),通过Kafka等消息通道(水流管道)进行传输,利用Storm或flink等实时组件进行消费处理。例如,双十一统计每秒钟的订单数。

主要优点:

数据时效性强,可以做到秒级或者毫秒级时延,“所见即所得”。

缺点

  • 需要不停地进行数据计算,即每秒钟或者每分钟进行数据清洗和计算,集群资源消耗大。离线数据处理,任务一天跑一次,一次1小时,实时数据处理每分钟跑一次,一天24小时都在跑。
  • 数据周期短,由于是流式处理的方式,相应的组件在实时处理方面能力强,但是没办法存储太长时间的数据,如果容器只进不出,水终究会溢出。因此,一般数据计算的周期会限定在一周内居多。

三、离线、实时各自适用的场景是什么,如何选择?

数据的应用场景总结下来其实就是两个,数据分析与数据应用。

1. 在分析方面,数据时效性的选择依据是什么呢?

1)业务经营分析、财务分析准确性大于时效性

即对于数据分析的场景,更在意的是能够更加准确地反映业务表现情况,即使T+1天后才可以看到数据也可以接受。尤其是财务结算,一般是月度结算或者季度财报,准确性是第一位的。

2)预警监控类分析,需要追求实时性

如果所有的分析数据都是需要隔天才能看到,肯定是不行的。如果系统宕机了,或者服务异常导致产品不可用,用户投诉才发现或者隔天数据分析才发现,带来的业务损失就无法挽回了。因此,还需要有实时的数据分析模块,对业务核心指标、系统服务指标进行最小延迟的预警监控。

所以,在数据分析场景下,离线数据为主,实时分析要有但不宜过度追求实时性。一般的数据可视化平台,有一个实时数据模块就可以了,其他的主题分析以离线数据为主。

2. 数据应用方面,数据时效性要求高于准确性

1)个性化推荐,用户行为需要实时反馈

你在浏览头条的时候,对推荐的内容点击了“不感兴趣”,相关的内容很快就隐藏了。同样,你在淘宝上搜索或加购了某个产品,再看列表页时,推荐的也都是相关内容。针对个性化推荐的场景,就要做到数据的最小延迟,如果等用户都退出App了数据才计算完成更新,用户就流失掉了。

2)用户运营及营销场景

在用户运营场景中,流失用户召回、会员运营等活动中,对数据时效性要求并没那么高,例如你要对某个城市的下单用户进行短信营销(apppush),不对今天当天下单的用户营销影响也不大。

而对于实时的场景触达,就需要实时数据了,例如,用户打开App,实时判断用户是否是新客(截至本次访问未下过单),发放新客大礼包。

所以在CDP用户运营平台的标签建设时,既需要有离线标签,也需要有实时标签。

3)选择依据小结

数据时效性的选择时,要看具体应用场景对准确性、时效性的要求,实时和离线数据的应用场景选择可以参考下图:

四、总结

不管是离线数据还是实时数据最终都是为了解决业务场景下的问题,搞懂其差别和基本原理后,再去选择到底是实时还是离线,可以做到用最小的资源成本达成业务目标,而不是一味地追求实时,或者永远只能离线。

#专栏作家#

数据干饭人,微信号公众号:数据干饭人,人人都是产品经理专栏作家。专注数据中台产品领域,覆盖开发套件,数据资产与数据治理,BI与数据可视化,精准营销平台等数据产品。擅长大数据解决方案规划与产品方案设计。

本文原创发布于人人都是产品经理,未经作者许可,禁止转载。

题图来自Unsplash,基于CC0协议

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 讲解清晰,赞

    回复
  2. 学到很多,感谢。

    来自四川 回复
  3. 数据类的文章都挺难懂的 我每次看都好痛苦 但是这篇蛮清晰的诶!

    回复
    1. 数据产品视角哈哈

      回复
专题
15627人已学习13篇文章
如果做小红书运营?本专题的文章分享了小红书流量密码。
专题
15173人已学习13篇文章
交互设计是用户与产品以及他们使用的服务之间建立的有意义的关系。
专题
18355人已学习13篇文章
本专题的文章对整个商业模式进行了一个清晰的梳理和设计,并说明了商业模式如何变成可执行的路径。
专题
12452人已学习12篇文章
很多公司都在谈论数字化转型,而数字化的基础即是大量的、繁杂的、高度业务关联的基础数据。数字化运营是其中的一个分支。本专题的文章分享了如何做好数字化运营。
专题
12821人已学习12篇文章
瑞幸咖啡和茅台的这次联名合作,无疑让联名营销这类营销方式又掀起了热度。本专题的文章分享了联名营销指南。
专题
14640人已学习14篇文章
在很多产品中,搜索都是其中比较基础且很重要的一个功能。搜索的设计、逻辑、交互等问题也是需要特别注意,本专题的文章分享了电商搜索功能的设计指南。