2016-03-31 49 views
0

爲什麼Cassandra中的物化視圖(MV)沒有二級索引?從邏輯上講,Cassandra中的所有表都是物化視圖.i.e。表不能有外鍵,並根據查詢進行建模。這就是RDBMS世界中的一種觀點。所以Cassandra Materialized Views所做的就是這樣;它可以自動化反規範化。如果我要做手動非規範化,並且可以在第二個表中創建二級索引。爲什麼我無法在自動創建的表格(MV)中創建二級索引。 我注意到lot that lot of others要求類似的東西,我不相信爲什麼它的設計不好。 卡桑德拉MV是一個真正的視圖?它只支持Not Null Where子句。那麼我們是否會將自動化的denormalizer命名爲MV來混淆和限制自己。卡桑德拉。爲什麼不能實現物化視圖有二級索引?

注:我知道二級指標的缺點。我不使用它。我有一個特殊的要求,我需要一個SASI二級索引來執行LIKE查詢。 Cassandra 3.4+的新功能部件。我更喜歡將我的二級索引需求與MV的優點結合起來。

回答

2

你的問題的答案就在這裏:https://issues.apache.org/jira/browse/CASSANDRA-11144

長話短說,原因是在視圖上有第二個指標可以限制的實施意見的未來變化(有些人想的是在可能使用RAMP交易未來強制更新視圖的原子性爲例)

+0

Cassandra MV是一個真正的視圖?它只支持Not Null Where子句。那麼我們是否會將自動化的denormalizer命名爲MV來混淆和限制自己。 – Ravi

+0

這些NOT NULL子句用於避免主鍵的空值。目前MV有一些限制,請閱讀我的博客文章:http://www.doanduyhai.com/blog/?p=1930 – doanduyhai