日志 还是 版本

17 天前
 silencegg

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

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

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

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

2298 次点击
所在节点    程序员
9 条回复
litchinn
17 天前
你这个应该用版本,至于是同一张表还是单独一个历史表需要看需求
日志一般直接文件系统存储,而且不会回滚,只会向前走,遇到错误是生成一条错误日志表示,而不是删除上一条日志

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

归档的操作有很多,自己问一下 AI 然后选择一个方案就好了。
8355
16 天前
我觉得是日志
版本和日志的主要区别在于是否需要支持回滚,你的业务明显只是需要记录。
日志本质上是操作本身+操作人+操作时间+变更信息就行了,可以做成系统整体的操作日志,可能甚至不需要对外公开展示,只要存储就行了,必要时进行查询。
版本可就复杂了需要支持系统的多版本迭代和适配。
8355
16 天前
归档可以理解为封存,不能修改或变更,只能查询。
andykuen959595
16 天前
我选日志!
SmiteChow
16 天前
看你所谓的旧数据是否还需要回滚?需要则自然是不同的版本,不需要则是日志。
julyclyde
16 天前
类似于 binlog 选 statement 还是 row 的区别

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

https://ex.noerr.eu.org/t/1151730

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

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

© 2021 V2EX