保留和管理数据历史记录

穆罕默格

我正在考虑将所有数据更改的历史记录保留在OrientDB数据库上的可能性。与正常数据一样,此历史记录也应是可探索的。像:我将能够查询用户对其个人资料所做的所有更改。

我考虑了一些类似此处建议的解决方案以便为每个顶点类创建历史记录类,并在每当顶点发生更改时为该类中的每个更新(记录版本增加)创建历史记录。

可以使用Oracle的某种触发器直接在DB内部完成此操作吗?

即使将其用作顶点的正常数据,边缘也如何?我如何保存它们的历史?在顶点之间?

我在OrientDB中有更直接的方法吗?

马丁·塞勒(Martin Seeler)

我建议将更改和历史记录保留在某种事件存储中。这可以是一个事件序列,每个事件都是不可变的,记录将仅追加。

这看起来像

VERTEX_CREATED(id: 1337, time: 1336624823)
VERTEX_CHANGED(field: foo, before: A, after: B, time: 133676328)
...

这样就可以从所需的任何位置重播历史记录,可以跳过条目以抑制发生的错误,依此类推。

如果将此类记录存储在表或图形中,则无关紧要。在图形内部,这可以是节点,其中每个节点在事件之前和之后都与事件相关联,例如链表。在表中,这只会是行。

如果您想更多地了解这种方法,我可以建议您使用Martin Fowler的Event Sourcing

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何保留备份历史记录?

来自分类Dev

保留TFS配置的历史记录

来自分类Dev

Usermod和历史记录输出

来自分类Dev

浏览器刷新后,数据历史记录值将保留

来自分类Dev

Api访问Office 365的会话历史记录和就地保留

来自分类Dev

如何在多台计算机上保留和汇总bash历史记录?

来自分类Dev

如何保留一个excel工作簿或工作表中的数据更改历史记录到另一工作簿或工作表的历史记录

来自分类Dev

在图形数据库中管理层次结构的历史记录

来自分类Dev

Django-保留字段的历史记录

来自分类Dev

git:合并分支但保留提交历史记录

来自分类Dev

如何撤消git合并,但保留历史记录

来自分类Dev

在git上重命名文件并保留历史记录

来自分类Dev

从TFS迁移-> GIT ...如何保留分支的历史记录

来自分类Dev

在保留历史记录的同时恢复git目录

来自分类Dev

VS Code'git mv'保留文件历史记录?

来自分类Dev

Perforce:移动目录并保留历史记录

来自分类Dev

如何克隆终端并保留其当前历史记录?

来自分类Dev

如何插入查询以保留活动历史记录?

来自分类Dev

gwt-历史记录-如何“保留” UI状态

来自分类Dev

在移动目录上保留Git历史记录

来自分类Dev

浏览历史记录时会保留Bash字符

来自分类Dev

使用bash历史记录保留引号

来自分类Dev

签出单个文件以便保留历史记录

来自分类Dev

重命名 master 但保留分支历史记录

来自分类Dev

如何克隆终端并保留其当前历史记录?

来自分类Dev

共享历史记录和非共享历史记录

来自分类Dev

管理ui路由器状态历史记录

来自分类Dev

Azure管理员登录历史记录

来自分类Dev

Klipper管理的剪贴板历史记录的位置

Related 相关文章

热门标签

归档