我需要跟踪 Cassandra 中的数据版本。我在想版本 # 将是一个超级列,实体 ID 将是行 ID,然后我需要跟踪的列将是列。因此,例如,实体的版本 1 将是:
- 超列:v1
- 行ID:UUID
- 列:时间戳、请求 ID、用户 ID、状态、数据等...
查询时,最常见的请求将是
- 给我版本 X 记录 y
- 给我版本 X - 1 和 X + 1 记录 y。
不太重要的查询是:
- 给我所有处于状态 1 的行。
- 给我用户 ID x 更改的所有记录。
- 给我时间戳在 x 和 y 之间的所有行。
上述带有超列的方法是最好的方法,还是有更好的模式来完成上述操作。使用/查询我需要注意的超列是否有注意事项?