cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sylvain Lebresne (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-6477) Materialized Views (was: Global Indexes)
Date Wed, 15 Jul 2015 07:43:08 GMT


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

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:
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: API, Core
>            Reporter: Jonathan Ellis
>            Assignee: Carl Yeksigian
>              Labels: cql
>             Fix For: 3.0 beta 1
>         Attachments:, 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

View raw message