相关疑难解决方法(0)

在Cassandra中实现数据版本控制的方法

您能否分享一下您如何在Cassandra中实现数据版本控制的想法?

假设我需要在简单的地址簿中对记录进行版本控制.(地址簿记录存储为ColumnFamily中的行).我期待历史:

  • 将很少使用
  • 将一次性使用以"时间机器"的方式呈现它
  • 单个记录的版本不会超过几百个.
  • 历史不会过期.

我正在考虑以下方法:

  • 将地址簿转换为超级列族并将多个版本的地址簿记录存储在一行(按时间戳)键为超级列.

  • 创建新的超级列族以存储旧记录或更改记录.这种结构如下:

    {'地址簿行键':{'时间戳1':{'名字':'新名称','由'修改':'用户ID',},

    'time stamp2': {
            'first name': 'new name',
            'modified by': 'user id',
        },
    },
    
    Run Code Online (Sandbox Code Playgroud)

    '另一个地址簿行键':{'时间戳':{....

  • 将版本存储为新ColumnFamilly中附加的序列化(JSON)对象.将版本集表示为行,将版本表示为列.(使用CouchDB进行简单文档版本控制后建模)

database-versioning cassandra

20
推荐指数
1
解决办法
1万
查看次数

标签 统计

cassandra ×1

database-versioning ×1