大伙帮忙看看这个需求合理吗?

2023-06-19 19:03:56 +08:00
 imxthd

目前将 app 的所有操作节点注册进了系统,用户每点击一次按钮操作后都会将该行为记录起来,比如:

登录->我的资料->绑定手机号->XXX->XX 登录->首页->购买服务->XXX->XX

记录表大概字段为:用户 ID ,行为 ID,行为序号(从 1 开始),行为时间,sessionId

sessionId 每天会重置,目前需要实现以下功能(需要按照用户 id 或时间段查询):

1.选择一个行为节点,查询有哪些下一步行为及对应的数量 2.选择一个行为节点,无限递归其下一步行为和数量,直到没有

使用 mysql 简单做的,没想到现在要在线上用了,数据多了后加载不出来了,有什么好的方案及存储引擎吗

829 次点击
所在节点    程序员
5 条回复
NFSwind
2023-06-20 09:11:31 +08:00
es ,便宜又好用
vaaagle
2023-06-20 10:50:24 +08:00
不要做成实时的,加个表存,定时计算生成
imxthd
2023-06-20 10:58:18 +08:00
@NFSwind 领导说用 neo4j ,不知道是否可行,还得去看下这个数据库
@vaaagle 需要根据 userId 和时间段查询,这个没想到怎么做定时生成
crazytudou
2023-06-20 11:12:42 +08:00
实时取原始数据计算当然慢,可以按#2 的方法,或者建个结果表,在产生行为记录时,就直接把数据解释并把累加到结果表
imxthd
2023-06-20 11:44:04 +08:00
@crazytudou 这个结果表没想出怎么建,需要从 [用户 ID],[时间段],[任意行为] 检索 。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/950088

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX