Cassandra 时间序列数据

发布于 2024-08-20 06:53:27 字数 253 浏览 7 评论 0原文

我们正在考虑使用 Cassandra 来存储来自各种来源的信息流。

我们面临的一个问题是查询两个日期之间的最佳方式。

例如,我们需要检索日期时间 dt1 和日期时间 dt2 之间的对象。

我们目前正在考虑将创建的unix时间戳作为指向实际对象的键,然后使用get_key_range来查询检索?

显然,如果两个项目具有相同的时间戳,则这是行不通的。

一般来说,这是在 noSQL 存储中处理日期时间的最佳方法吗?

We are looking at using Cassandra to store a stream of information coming from various sources.

One issue we are facing is the best way to query between two dates.

For example we will need to retrieve an object between datetime dt1 and datetime dt2.

We are currently considering the created unix timestamp as the key pointing to the actual object then using get_key_range to query to retrieve?

Obviously this wouldn't work if two items have the same timestamp.

Is this the best way to do datetime in noSQL stores in general?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

淡紫姑娘! 2024-08-27 06:53:27

Cassandra 行可能非常大,因此请考虑将其建模为行中的列,而不是 CF 中的行;那么您可以使用列切片操作,它比行切片更快。如果没有与此关联的“自然”键,那么您可以使用每日或每小时键,例如“2010/02/08 13:00”。

否则,是的,使用范围查询(get_key_range 在 0.5 中已弃用;使用 get_range_slice)是您的最佳选择。

Cassandra rows can be very large, so consider modeling it as columns in a row rather than rows in a CF; then you can use the column slice operations, which are faster than row slices. If there are no "natural" keys associated with this then you can use daily or hourly keys like "2010/02/08 13:00".

Otherwise, yes, using range queries (get_key_range is deprecated in 0.5; use get_range_slice) is your best option.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文