如何在 cassandra 中通过更新时间获得最后 n 个结果?

Posted

技术标签:

【中文标题】如何在 cassandra 中通过更新时间获得最后 n 个结果?【英文标题】:how to get last n results by updated time in cassandra? 【发布时间】:2014-04-30 16:57:34 【问题描述】:

我想获取最后 n 个,比如最后 5 个更新的行,即按 cassandra 中的 updated_time desc 排序。有什么好的方法吗?

确切的用例是,我想在事件表中发生事件时更新事件计数,并通过更新时间连同计数一起获取最后五个事件。

表结构:-

event_name 文本、updated_time 时间戳、计数计数器

【问题讨论】:

【参考方案1】:

在 Cassandra 中,您可以使用 writetime (cell_name) 检索编辑时间。但是由于您有多个列并且 Cassandra 只能快速读取,因此您可以考虑使用另一个视图以有序的方式准确提供所需的数据。在该新表上,您希望限制读取结果并定期对其进行修剪。

使用writetime() 可能是可行的——但这不是 Cassandra 的方式,因为它的生产速度太慢。另一个只包含您的数据的表是非规范化的 Cassandra 解决方法。

【讨论】:

以上是关于如何在 cassandra 中通过更新时间获得最后 n 个结果?的主要内容,如果未能解决你的问题,请参考以下文章

如何从cassandra事件流中获取最后一个事件

如何在 SQL Server 2008 中通过单个查询更新两个表 [重复]

如何在 Sharepoint 2016 中通过 Visual Web 部件更新项目后重新加载列表?

如何在spring security java config中通过jsp表单更新用户详细信息

如何在flutter中通过没有文档ID的用户ID字段更新文档字段的值?

如何在 VUE 中通过 v-model 直接更新嵌套对象数组值?