暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
基于TiDB+Flink实现的滑动窗口实时累计指标算法.docx
316
22页
1次
2023-03-31
10墨值下载
前言
在不少的支付分析场景里,大部分累计值指标可以通过 T+n 的方式计算得到 。随着行业大环境由增量市场转为存量市场,产品的运
营要求更加精细化、更快速反应,这对各项数据指标的实时性要求已经越来越高。产品如果能实时把握应用的整体运行情况或特征用
户的状态,就可以及时安排合理的市场营销活动,这对改善用户的体验和促进收益的增长有明显的帮助。
需求指标
有一个场景为了进一步优化营销活动内容,希望我们实时提供每个玩家在最近 1 年、2 年、5 年、10 年内的实时消费总金额。
要实时计算每个玩家最近 N 年的实时消费累计总金额,一方面要考虑到这个指标随着时间推进它可能在不断增加,另一方面会有数
据过期了而不再属于这个统计周期内,要及时减去,从而维护一个动态的累计值。
这里的每一个用户的“最近 N 年”指标是不断前进的,涉及到产品上线以来的全部用户,其累计的用户量、支付数据都在亿级别以上,
且明确要求实时统计历史数据。综合分析下来,解决该问题具有一定的挑战性。
在经过充分调研和分析后,基于实时计算框架 Flink 和分布式数据库 TiDB 的组合使用,我们提出了一种实时计算滑动窗口内累计指
标的算法,在一个数据库里同时支持实时 OLAP 计算和 OLTP 数据服务,有效地解决了这个问题,目前已经在线上稳定服务了一段
时间。下面给大家分享下我们的思考和实践。
数据特点
首先我们先从整体上评估下数据的特点,分析一下数据规模、有哪些关键问题对我们的计算有影响。
数据概况
基础数据量大,存在乱序、重复等问题
o 数据源历史数据量较大,亿级别;日增日志数据在百万级别
o 原始日志数据打印在不同应用机器上,没有集中统一存储,分散
o 由于业务有等待逻辑,业务时间段存在乱序问题,先产的数据的日志打印时间可能于后产的数据的打印时间,
时间乱序的数据如果不及时理可能会出现漏算的情况
o 由于业务有重同的日志数据可能重复出,数据重算会导致结错误
合指标要求支持高并发访
o 果指标要求支持 TP 服务访问,且满足并发场景
of 22
10墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜