cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "T Jake Luciani (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-6477) Materialized Views (was: Global Indexes)
Date Mon, 13 Jul 2015 19:12:08 GMT


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

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