WHERE子句具有非主键缺点
我是cassandra
新手,我将其用于分析任务(需要良好的索引)。
我在这篇文章(和其他人)中读到:cassandra,通过非主键选择,我无法使用带WHERE clause
的非主键列查询我的数据库。
要做到这一点,似乎有三种可能性(所有主要缺点):
IN
或=
之外的其他运算符。 有没有另外一种方法去做我想做的事情(带有非主键列的WHERE clause
)而没有上面的3个约束?
从Cassandra本身来说,你仅限于你在上面指定的选项。 如果你想知道为什么看看这里:
CQL的深层次看哪里条款
但是,如果您试图对Cassandra中存储的信息运行分析,那么您是否使用Spark进行了研究。 Spark是为分布式系统上的大规模数据处理而构建的。 事实上,如果您正在使用Datastax(请参阅此处),它具有Spark和Cassandra之间的一些非常好的集成功能,专门用于加载和保存数据。 它有一个免费(社区)和付费(企业)版本。
我假设表是为不同的目的而设计的,因为你想查询的字段不是分区键的一部分。 我的建议是复制表格并将其键入想要查询的字段。 我会建议设计一个新的表格,以便根据数据建模概念使用它。
Cassandra提供了一些优点,例如线性缩放等,通过对您可以对CQL执行的操作施加某些限制。
链接地址: http://www.djcxy.com/p/90409.html上一篇: WHERE clause with non primary key disadvantages
下一篇: How to get the overall most popular tags from normalized tables?