cassandra中的日期范围查询

时间:2016-02-02 12:22:22

标签: cassandra cql

我是Cassandra的新手。

我们有这样的表结构

CREATE TABLE keyspace.events ( id bigint, msg_time bigint, status int, uuid timeuuid, message text, PRIMARY KEY (id, msg_time, status, uuid) ) WITH CLUSTERING ORDER BY (msg_time ASC, status ASC, uuid ASC) CREATE INDEX timestamp ON hh_keyspace.game_events (msg_time);

我们插入TTL为32天的数据。 Google Analytics小组只需要最近1天的数据。使用msg_time查询> ''允许过滤会对性能产生巨大影响。

Google Analytics小组每天运行查询。有没有其他方法来获取数据。

2 个答案:

答案 0 :(得分:1)

我意识到最好的方法是复制数据,因为写入在Cassandra中很便宜。我们写入另一个具有不同密钥结构的表。

参考:

1)http://blog.websudos.com/2014/08/16/a-series-on-cassandra-part-1-getting-rid-of-the-sql-mentality/(第4节 - 复制数据并在应用程序级别保持一致性)

2)http://blog.websudos.com/2014/08/23/a-series-on-cassandra-part-2-indexes-and-keys/(章节 - 二级索引)

答案 1 :(得分:0)

  

使用msg_time查询> ''允许过滤会对性能产生巨大影响。

允许过滤表示正常生产数据集上的SURELY TIMEOUT。这里不足为奇。

  

是否有其他方法可以获取数据

为您的表建模,以便查询(给我最后一天的数据)非常快。 您希望有多少活动,因为有史以来最大的负载每天