【发布时间】:2016-01-06 21:54:18
【问题描述】:
我在 Cassandra 有一张桌子,其中关键(现在从业务角度来看)是这样的结构。 键 + 值示例:
Key (exists of 6 columns) Date/value
A | B | C | D | E | F | -> 2000-01 : 100, 2000-02 : 220, ....
A | B | C | D | X | F | -> 2000-01 : 100, 2000-02 : 233, ....
A | B | C | D | Y | F | -> 2000-01 : 111, 2000-02 : 210, ....
A | Z | C | D | E | F | -> 2000-01 : 122, 2000-02 : 230, ....
每个键在特定日期或月份都有一个值(每个键的日期/值记录数量非常少。目前大约 200 个)。但是,密钥的数量很高。
从业务方面来说,只查询一个特定的键(如 A B C D E F)是非常不寻常的。用户将只应用部分过滤,如:
* * C D * *
在这种情况下,查询应该返回所有 6 条记录。他可能还想根据日期/月份进行过滤,但是,鉴于数据量较少,这是一个较低的优先级。
由于 CQL 不允许部分表键过滤(除了 ALLOW FILTERING),我不确定如何构建我的表。有任何想法吗?或者这是一个不适合 Cassandra 的案例?
谢谢
【问题讨论】: