【发布时间】:2013-01-02 16:01:35
【问题描述】:
我有一个 Cassandra 列族,我每月存储大量(数十万个)事件,其中时间戳(“Ymdhisu”)作为行键。它有多个列,为每个事件捕获一些数据。我尝试检索特定时间范围的事件数据。例如对于一月份,我使用了以下 CQL 查询:
a) 2013 年 1 月 1-15 日范围内的查询
从 Test where Key > 20130101070100000000 和 Key
b) 2013 年 1 月 1-10 日范围内的查询
从 Test where Key > 20130101070100000000 和 Key
c) 2013 年 1 月 1 日至 2 月 2 日之间的查询
从 Test where Key > 20130101070100000000 和 Key
似乎范围搜索根本不起作用!我的 Columnfamily 的架构是:
Create column family Test with comparator=UTF8Type and default_validation_class=UTF8Type and key_validation_class=UTF8Type AND compression_options={sstable_compression:SnappyCompressor, chunk_length_kb:64};
要提取数据,有什么建议?我是否需要将密钥验证类重新定义为 TimeUUID 类型的架构?有没有其他方法可以在不更改架构的情况下有效地查询? 我在这个列族中每月至少处理 100-200K 行数据。如果此模式不适用于此目的,那么存储和检索此处描述的数据类型的合适 Cassandra 模式是什么?
【问题讨论】:
标签: nosql cassandra bigdata cql