3
我需要跟踪Cassandra中的数据版本。我在想,Version#会是一个超级列,实体ID将是行ID,然后我需要跟踪的列将是列。因此,举例来说,实体1版本将是:在Schema中适当使用Supercolum
- supercolumn:V1
- ROWID:UUID
- 列:时间戳,将requestId,用户ID,状态,数据等...
查询时,最常见的请求将被
- 给我X版本备案Ÿ
- 给我版本X - 1和X + 1 记录y。
较小重要的是,会查询,如:
- 给我处于状态1
- 给我的用户ID X更改的所有记录都行。
- 给我所有行的时间戳在x和y之间。
所以上面的方法超级列是最好的方法或是否有更好的模式来完成上述。是否有使用/查询需要注意的超级列的警告?
哇,我很高兴我问了这个问题。我已经按照我所描述的进行了编码。那么复合材料本质上是rowid(我的rowid变成了UUID:版本)?或者合成“列名称”,并且每个列都将变为,例如requestid:version,userid:version,state:version,data:version等。 – AlexGad 2012-07-26 03:01:47
您可以有复合键或列。在你的情况下,带有UUID:版本的组合键似乎满足你的用例。 – 2012-07-26 13:00:28