[ https://issues.apache.org/jira/browse/CASSANDRA-6477?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14625179#comment-14625179 ]
T Jake Luciani commented on CASSANDRA-6477: ------------------------------------------- bq. and not all of the rows have that column present (it's null) - what happens to rebuild then? Well by definition then the MV row is {{null}} because part of the PK is null. But in the existing case this is a 1:1 relationship since we only allow one Nullable column in the PK of the MV (when base is null then view is null). If we applied the same idea to multiple Nullable fields then we would end up with a much more confusing situation. Consider building from inconsistent replicas: Let's say you put non-PK columns A and B into a Materialized view. Replica 1 has All of Column A, Replica 2 has All of column B. The build would end up with no data in the MV. You would need to subsequentally repair the data to build the MV. Also, in general I'm not sure ATM how to support things like multiple conflicting TTLs across non-PK columns. > Materialized Views (was: Global Indexes) > ---------------------------------------- > > Key: CASSANDRA-6477 > URL: https://issues.apache.org/jira/browse/CASSANDRA-6477 > Project: Cassandra > Issue Type: New Feature > Components: API, Core > Reporter: Jonathan Ellis > Assignee: Carl Yeksigian > Labels: cql > Fix For: 3.0 beta 1 > > Attachments: test-view-data.sh, users.yaml > > > Local indexes are suitable for low-cardinality data, where spreading the > index across the cluster is a Good Thing. However, for high-cardinality > data, local indexes require querying most nodes in the cluster even if only a > handful of rows is returned. -- This message was sent by Atlassian JIRA (v6.3.4#6332)