数据埋点方案及注意事项

数据埋点方案及注意事项,第1张

数据埋点方案及注意事项

文章目录

背景一、整体方案二、注意点

1.接口并发能力2.数据库连接数3.数据定时清除 总结


背景

最近有个诉求,产品需要根据用户使用频次,使用时长,重新调整菜单的等级和顺序,因此需要对前端的一些事件进行埋点。

一、整体方案


整体方案采用后端提供接口,前端相关 *** 作调用后端接口,服务端将埋点数据放在进程内队列,然后根据数据保存策略(定时+定量)产生任务。异步任务循环从队列取数据,达到一定额度,批量写入DB。最后通过Sqoop每天凌晨从mysql抽取数据放入到Hive中,在数据集市中,对Hive中的数据归纳分类展示。

二、注意点 1.接口并发能力

由于前端页面埋点的数据量大,客户 *** 作繁多,所以这个接口并发能力尽量高,能够避免的 *** 作就尽量避免。所以方案中,将埋点数据直接放入到进程的队列中。

2.数据库连接数

埋点接口调用多,若是每次调用,都将数据插入db,对db的连接数是一个大的挑战,所以后端需要采用批量保存的方式。目前批量保存支持两种策略:定时、定量。

3.数据定时清除

这个数据表里面的数据是亿基本,每天产生的数据也至少是500万,所以每天定时清除历史数据,并且需要使用小事务:根据删除日期阈值查询最小id,最大id,每次删除10万条数据,直到全部删完。

总结

方案的考虑,需要多考虑非功能需求,例如此方案中并发,数据库连接,数据大小,每天清除数据大小。考虑的越多,方案才能更加完美。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5704948.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存