您可以分享您的想法如何在Cassandra中实现数据版本化。在Cassandra中实现数据版本化的方法
假设我需要在简单的地址簿中记录版本记录。 (地址簿记录作为行存储在ColumnFamily中)。 我想到的是,历史:
- 将不常使用的
- 将用于一次全部呈现它的“时间机器”时尚
- 不会有更多的版本比几百到一个记录。
- 历史记录不会过期。
我考虑了以下方法:
转换通讯录超级柱族在键入一个行存储的地址簿中记录的多个版本(通过时间戳)作为超级列。
创建新的超级柱族来存储旧记录或更改记录。 这样的结构将如下所示:
{ '地址簿行密钥':{ 的时间stamp1“:{ '名字': '新名字', '改良': '用户ID' , },
'time stamp2': { 'first name': 'new name', 'modified by': 'user id', }, },
'其他通讯录行密钥':{ '时间戳':{ ....
商店版本系列化(JSON)对象附着在新山口umnFamilly。将版本集作为行和版本表示为列。 (Simple Document Versioning with CouchDB蓝本)
感谢您指出您始终需要阅读整个超柱。我没有发现阅读cassandra文档的事实。 – 2010-11-27 10:09:34