Cassandra中的每个表都应该有一个分区键吗?
我正在尝试创建一个Cassandra表,在其中根据时间戳存储商店的日志。我还想创建一个查询,该查询按照时间戳的降序返回数据。如果我将时间戳作为主键,它将自动成为分区键,因为我没有任何其他列作为复合主键 在Cassandra中,我们不能对分区键进行排序。有没有办法让我的时间戳作为主键而不是分区键(一个没有分区键的Cassandra DB) 提前谢谢 表格创建(如果需要):Cassandra中的每个表都应该有一个分区键吗?,cassandra,nosql,cql,datastax-enterprise,Cassandra,Nosql,Cql,Datastax Enterprise,我正在尝试创建一个Cassandra表,在其中根据时间戳存储商店的日志。我还想创建一个查询,该查询按照时间戳的降序返回数据。如果我将时间戳作为主键,它将自动成为分区键,因为我没有任何其他列作为复合主键 在Cassandra中,我们不能对分区键进行排序。有没有办法让我的时间戳作为主键而不是分区键(一个没有分区键的Cassandra DB) 提前谢谢 表格创建(如果需要): CREATE TABLE myCass.logs(timestamp timestamp, logs text, PRIMAR
CREATE TABLE myCass.logs(timestamp timestamp, logs text, PRIMARY KEY (timestamp));
因为你有时间戳,你知道年、月、日。您可以使用它们作为分区键,并将时间戳作为集群列。通过这种方式,您还可以满足对分区键的需要,您将拥有数据的主键,您可以按时间戳排序,并且您可以将数据均匀地分布在集群中
这种分割数据的方法称为bucketing。这里有一些关于这个主题的好文章-timestamp列采用13位Unix时间戳值,我想按原样使用它。我也将在其他查询中使用相同的时间戳值(13位)。有没有办法创建一个没有主键或分区键的表。。???