在 Cassandra 中有一个包含大约 2000 万行的表。
该表按primary_key
列排序,该列是一个字符串。我们使用的是“ByteOrderedPartitioner”,因此行是按列排序的,primary_key
而不是primary_key
列的散列。
获取表中最后一条记录的好方法是什么?
非常感谢!
在 Cassandra 中有一个包含大约 2000 万行的表。
该表按primary_key
列排序,该列是一个字符串。我们使用的是“ByteOrderedPartitioner”,因此行是按列排序的,primary_key
而不是primary_key
列的散列。
获取表中最后一条记录的好方法是什么?
非常感谢!
如果对于“最后一条记录”,您的意思是最后订购的记录,我认为您不能像“GET”那样做,您必须扫描行。你能做的最好的事情,afaik,就是根据你的主键选择一个好的扫描范围(好的开始键)。
从 datastax 文档:
“使用有序分区程序允许按主键进行有序扫描。这意味着您可以像在传统索引中移动游标一样扫描行。例如,如果您的应用程序将用户名作为行键,您可以扫描用户的行他们的名字介于 Jake 和 Joe 之间。这种类型的查询不可能使用随机分区的行键,因为键是按照它们的 MD5 散列的顺序存储的(不是按顺序存储的)。
如果您找到更好的解决方案,请告诉我。
问候, 卡罗