你能分享一下你在Postgresql中如何实现数据版本控制的想法. (我已经询问了有关
Cassandra和
MongoDB的类似问题.如果您有任何想法,哪个db更好,请分享)
假设我需要一个简单的通讯录中的版本记录.地址簿记录存储在一个表中,为了简单起见没有关系.我期望的历史:
>将不经常使用
>将一次性使用,以“时间机”的形式呈现
>不会有更多的版本比几百到单个记录.
>历史不会过期.
我正在考虑以下方法:
>创建一个新的对象表以存储具有地址簿表模式副本的记录历史记录,并将时间戳和外键添加到地址簿表中.
>创建一种减少表格以存储地址簿记录的更改.这样的表将包括:AddressBookId,TimeStamp,FieldName,Value.这样我只会将更改存储到记录中,我不必将历史表和地址簿表保持在同步状态.
>创建一个表来存储串行(JSON)地址簿记录或更改地址簿记录.这样的表格将如下所示:AddressBookId,Object(varchar).
再次,这是模式较少,所以我不必保持历史表与地址簿表同步.
(This is modelled after Simple Document Versioning with CouchDB)