[
https://issues.apache.org/jira/browse/CASSANDRA-749?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12833472#action_12833472
]
Stu Hood commented on CASSANDRA-749:
------------------------------------
Thoughts on incrementally updated views:
In a first version a View CF could be defined with a normal column family
definition, plus a function that transforms a mutation against a 'base' column
family into zero or more mutations against the 'view' column family.
At mutation time, inserts can immediately be transformed into inserts to the
view. But, an insert that overwrites an older value implies deletion from the
base, and therefore a potential deletion from the view.
One disadvantage/advantage Cassandra has is that an entire row is not available
at mutation time, so we need to defer all deletes to the view until read time.
To handle deletes, all columns in the view cf should be tagged with the
column_key from the base cf that caused their creation.
At read time, the base cf column_keys that are tagging the columns in the view
need to be queried and the view function re-applied. If the output of the view
function no longer causes an insert to the column in question in the view, the
column can be deleted from the view.
Definitely need to think of ways to efficiently account for deletes, and
minimize the number of reads to the base cf that need to occur at read time for
the view cf.
> Secondary indices for column families
> -------------------------------------
>
> Key: CASSANDRA-749
> URL: https://issues.apache.org/jira/browse/CASSANDRA-749
> Project: Cassandra
> Issue Type: New Feature
> Components: Core
> Reporter: Gary Dusbabek
> Assignee: Gary Dusbabek
> Priority: Minor
> Fix For: 0.7
>
> Attachments: 0001-simple-secondary-indices.patch
>
>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.