如何在Cassandra中建立动态查询?

时间:2019-04-09 06:50:25

标签: cassandra cassandra-3.0 dynamicquery

根据论坛和少数人的经验,我理解Java驱动程序可以按照以下文章提供帮助。

Cassandra 3 Java Driver build dynamic queries 1

但是有没有办法在没有Java驱动程序的情况下在Cassandra中构建查询。 不幸的是,没人在这里回答查询 Dealing with dynamic Query String in Cassandra。把它作为重新提出的机会。

谢谢, 普拉萨德

1 个答案:

答案 0 :(得分:0)

这里有2个方面:

  1. 最简单的方法-查询本身的构建-只需连接字符串或使用第一个问题中讨论的QueryBuilder即可完成。
  2. 最复杂的一项-查询的执行方式。在Cassandra中,要求在执行查询时至少提供一个分区键。否则,您将执行全表扫描,该扫描很可能会以读取超时结束。

为缓解第二个问题,人们在进行非规范化并创建辅助表,其中特定字段是分区键。但这不能自动完成,因为您可能会以特定表的数据分发为结尾。二级索引也有局限性,并且最好与分区键配合使用。

P.S。在DataStax Enterprise中,可以通过在表上添加DSE Search索引来稍微放松一点,但是性能会比纯Cassandra稍差。