卡桑德拉和查询层次(Cassandra and querying hierarchies)

2019-10-17 02:47发布

我调查卡桑德拉,却找不到任何文档,下面的答案。

我需要跨越深层次查询范围。 我已经确定,代表层次结构中的最简单的方法是让每个级别为一列。 例如:

Origin           Manufacturer    Price    ID
Europe.Germany   VW Group.Audi   20000    1
Europe.Germany   VW Group.Porshe 21000    2
Europe.Germany   BMW             19000    3

下面是一个伪SQL示例:

SELECT ID FROM CompositeTable WHERE (Origin STARTS WITH 'Europe')
AND (Manufacturer STARTS WITH 'VW Group' AND IS NOT 'VW Group.Porshe' OR IS 'BMW')
AND (Price BETWEEN 18000 AND 22000)

结果:

ID = [1, 3]

卡桑德拉可以在一个综合指数进行这种类型的搜索?

Answer 1:

组合键在Cassandra是一种multiple-column index在数据库管理系统,在这里,如果你从C1到C6具有与列的表上的C1,C2和C3指数。 DB总是会尝试使用您索引如果查询是=, > , <, >=, <=上运行(C1),(C1,C2)或(C1,C2,C3),而不是(C2), (C2,C3),(C3)或(C1,C3)。 目前,此案在卡桑德拉相同的,但在这里你有C1上多列索引,以C6 [自第一款基于C1列进行排序和碰撞延续到C2和遵循上]



文章来源: Cassandra and querying hierarchies