如何在cassandra(使用CQL)中实现固定数量的(timeuuid)列?
下面是一个示例用例: 您需要在基于timeuuid的列中存储最后N个(比如1000个作为固定的bucket大小)用户操作的所有细节 通常,每个用户的操作都已经在“UserAction”列族中,其中用户id作为行键,操作在timeuuid列中。您还可能有“AllActions”列族,它存储所有操作,其中timeuuid作为列名,用户id作为列值。它基本上是一个关系列族,但不幸的是没有任何用户操作的细节。我想,由于随机partitioner的存在,使用此列族进行查询的成本很高。另一方面,如果您将所有细节存储在“AllActions”CF中,那么cassandra无法在某一点上正确处理这一大行。这就是为什么我想将最后N个用户操作和所有详细信息存储在固定数量的基于timeuuid的列中 也许你有一个更好的设计方案来解决这个用例。。。我喜欢听 如果没有,问题是如何在cassandra(使用CQL)中有效地实现固定数量的(timeuuid)列 插入之后,如果cql的delete中有某种范围支持,我们可以删除旧的(溢出)列。恐怕没有人支持这一点如何在cassandra(使用CQL)中实现固定数量的(timeuuid)列?,cassandra,cql,Cassandra,Cql,下面是一个示例用例: 您需要在基于timeuuid的列中存储最后N个(比如1000个作为固定的bucket大小)用户操作的所有细节 通常,每个用户的操作都已经在“UserAction”列族中,其中用户id作为行键,操作在timeuuid列中。您还可能有“AllActions”列族,它存储所有操作,其中timeuuid作为列名,用户id作为列值。它基本上是一个关系列族,但不幸的是没有任何用户操作的细节。我想,由于随机partitioner的存在,使用此列族进行查询的成本很高。另一方面,如果您将所有
你知道吗?提前感谢…嗯,这是C*必须像压缩一样处理的事情。在客户端处理这个问题不是一个好主意 也许,我们需要一些列族的配置(存储)选项,使它们适合“最新数据” 这里有点像。