为什么Cassandra中的物化视图(MV)不能有二级索引?从逻辑上讲,Cassandra中的所有表都是物化视图。表不能有外键,并且基于查询建模。这就是RDBMS世界中的View。 所以Cassandra物化观点所做的就是;它自动化非规范化。如果我要进行手动非规范化,我可以在第二个表中使用二级索引。为什么我的表(MV)中的二级索引不能以自动方式创建。 我注意到lot that lot of others已经要求类似的东西,我不相信为什么它是一个糟糕的设计理念。 Cassandra MV是真实的观点吗?它只支持Not Null where子句。因此,我们将自动规范化程序命名为MV,从而使我们感到困惑和局限。
注意:我知道二级索引的缺点。我没有使用它。我有一个特殊的要求,我需要一个SASI二级索引来执行LIKE查询。 Cassandra 3.4+的新功能部分。我更喜欢将我的二级索引需求与MV的优点相结合。
答案 0 :(得分:2)
您的问题的答案在这里:https://issues.apache.org/jira/browse/CASSANDRA-11144
长话短说,原因是在视图上有第二个索引可以限制视图实现的未来变化(有些人正考虑在可能的未来使用RAMP事务来强制执行视图更新的原子性)