我正在寻找一种使用 CouchDB 或 BigCouch(或其他“兼容”数据库)的方法,以便可以维护或至少存档所有修订历史记录。我知道 CouchDB 内部无论如何都会这样做,并且只会在压缩时删除旧修订。由于 CouchDB/BigCouch 是开源的,我想可以将一些东西组合在一起以启用此功能。例如,在压缩过程删除它们之前将每个修订复制到存档数据库。
顺便说一句:我曾在几家公司工作,他们想要他们的 SQL 数据库的“审计历史”,我们通过创建一个“审计表”来实现这一点,我们编写了触发器,在修改任何其他表时将记录插入到该表中。
对 CouchDB 有更多了解的人可以告诉我如何做到这一点吗?我很好奇是否有人以前做过。看起来这将是一个非常有用的功能,所以如果以前没有做过,我想知道为什么?
注意:这个问题部分受到 Dataomic 的启发,Dataomic 是一个具有所需属性的数据库。所以我在寻找的基本上是一个开源的,也许是更轻量级的 Datomic 替代品。