[ 
https://issues.apache.org/jira/browse/CASSANDRA-6477?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14627670#comment-14627670
 ] 

Sylvain Lebresne commented on CASSANDRA-6477:
---------------------------------------------

bq. When we actually add support for null partition keys we can lift this 
requirement.

I do want to note that there *is* a technical problem with allowing null in the 
MV primary keys (partition key or clustering columns alike), and that is TTLs. 
More precisely, if a column {{c}} in the MV PK has a TTL, we would need to 
update the MV once {{c}} expires, replacing the entry by one where {{c}} is now 
{{null}}. And a priori, I don't see an even remotely efficient way to deal with 
that (keeping in mind that we collect expired column lazily, *not* when they 
expire).

That is, I agree that requiring {{IS NOT NULL}} for all *primary* key columns 
is the safe option for 3.0, but just wanted to note that the TTL problem above 
seems to me like a big obstacle in removing that requirement.


> 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)

Reply via email to