cassandra中的每个表都应该有分区键吗?

tsm1rwdh  于 2021-06-15  发布在  Cassandra
关注(0)|答案(1)|浏览(426)

我正在尝试创建一个cassandra表,在其中根据时间戳存储商店的日志。我还想创建一个查询,它按照时间戳的降序返回数据。如果我将时间戳作为主键,它将自动成为分区键,因为我没有任何其他列作为复合主键。
在Cassandra,我们不能按分区键排序。有没有办法让我的时间戳作为主键而不是分区键(没有分区键的cassandradb)。
提前谢谢。
表格创建(如果需要):

CREATE TABLE myCass.logs(timestamp timestamp, logs text, PRIMARY KEY (timestamp));
k97glaaz

k97glaaz1#

因为你有时间戳,你知道年,月,日。您可以使用它们作为分区键,并将时间戳作为集群列。通过这种方式,您还可以满足对分区键的需要,您将拥有数据的主键,您可以按时间戳排序,并且您可以将数据均匀地分布在集群中。
这种拆分数据的方法称为bucketing。这里有一些关于这个主题的好读物-大规模的Cassandra时间序列数据建模

相关问题