我们正在考虑使用Cassandra存储来自各种来源的信息流。
我们面临的一个问题是在两个日期之间进行查询的最佳方式。
例如,我们需要在datetime dt1和datetime dt2之间检索一个对象。
我们目前正在考虑将创建的unix时间戳作为指向实际对象的键,然后使用get_key_range进行查询以进行检索?
如果两个项目具有相同的时间戳,显然这不起作用。
这是一般在noSQL商店中进行日期时间的最佳方式吗?
答案 0 :(得分:15)
Cassandra行可能非常大,因此请考虑将其建模为行中的列而不是CF中的行;然后您可以使用比行切片更快的列切片操作。如果没有与此相关的“自然”键,则可以使用“2010/02/08 13:00”等每日或每小时的键。
否则,是的,使用范围查询(在0.5中不推荐使用get_key_range;使用get_range_slice)是最佳选择。