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