V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
silencegg
V2EX  ›  程序员

日志 还是 版本

  •  
  •   silencegg · 16 天前 · 2289 次点击

    最近在做一个业务的基础功能开发,比如仓库管理,或者一些业务基础设置之类的,每次更改都要记录,到底是做成版本还是日志

    我想做成版本,version = 'last' 代表最新, 历史版本都是加 1 的概念

    如果做成日志的话,我估计我要做的事情就是事务了,日志 与 业务的东西要在一个事务里面

    还有的想问下,传统企业的归档是指啥

    9 条回复    2025-08-13 12:12:13 +08:00
    litchinn
        1
    litchinn  
       16 天前
    你这个应该用版本,至于是同一张表还是单独一个历史表需要看需求
    日志一般直接文件系统存储,而且不会回滚,只会向前走,遇到错误是生成一条错误日志表示,而不是删除上一条日志

    归档就是将数据挪到另一个不经常使用的地方,可以是另一张表也可以是另一个库,甚至另一种介质
    jiakme
        2
    jiakme  
       16 天前
    如果是日志且业务为单表的话, 可以考虑使用 cdc 监听方案.
    spritecn
        3
    spritecn  
       16 天前
    version 的问题是数据量大了,历史 version 是不是要删或走 history
    日志更通用,想杂记杂记,需求是会变的,一会需要记录入人,一会需要记审核人
    dfkjgklfdjg
        4
    dfkjgklfdjg  
       16 天前
    如果是通用的会用操作日志,管理员去按照不同的业务标识去查询。
    如果是某一个业务的迭代更新(表单不同版本之类的)会使用版本。

    归档的操作有很多,自己问一下 AI 然后选择一个方案就好了。
    8355
        5
    8355  
       16 天前
    我觉得是日志
    版本和日志的主要区别在于是否需要支持回滚,你的业务明显只是需要记录。
    日志本质上是操作本身+操作人+操作时间+变更信息就行了,可以做成系统整体的操作日志,可能甚至不需要对外公开展示,只要存储就行了,必要时进行查询。
    版本可就复杂了需要支持系统的多版本迭代和适配。
    8355
        6
    8355  
       16 天前
    归档可以理解为封存,不能修改或变更,只能查询。
    andykuen959595
        7
    andykuen959595  
       16 天前
    我选日志!
    SmiteChow
        8
    SmiteChow  
       16 天前
    看你所谓的旧数据是否还需要回滚?需要则自然是不同的版本,不需要则是日志。
    julyclyde
        9
    julyclyde  
       15 天前
    类似于 binlog 选 statement 还是 row 的区别
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4823 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 09:35 · PVG 17:35 · LAX 02:35 · JFK 05:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.