V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
imxthd
V2EX  ›  程序员

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

  •  
  •   imxthd · 2023-06-19 19:03:56 +08:00 · 839 次点击
    这是一个创建于 528 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

    NFSwind
        1
    NFSwind  
       2023-06-20 09:11:31 +08:00
    es ,便宜又好用
    vaaagle
        2
    vaaagle  
       2023-06-20 10:50:24 +08:00
    不要做成实时的,加个表存,定时计算生成
    imxthd
        3
    imxthd  
    OP
       2023-06-20 10:58:18 +08:00
    @NFSwind 领导说用 neo4j ,不知道是否可行,还得去看下这个数据库
    @vaaagle 需要根据 userId 和时间段查询,这个没想到怎么做定时生成
    crazytudou
        4
    crazytudou  
       2023-06-20 11:12:42 +08:00
    实时取原始数据计算当然慢,可以按#2 的方法,或者建个结果表,在产生行为记录时,就直接把数据解释并把累加到结果表
    imxthd
        5
    imxthd  
    OP
       2023-06-20 11:44:04 +08:00
    @crazytudou 这个结果表没想出怎么建,需要从 [用户 ID],[时间段],[任意行为] 检索 。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3258 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 13:11 · PVG 21:11 · LAX 05:11 · JFK 08:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.