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

Jonathan Ellis commented on CASSANDRA-749:
------------------------------------------

It's worth pointing out that our row bloom filter rejects requests for 
non-existing rows very, very performantly, so the overhead for  doing requests 
to all nodes for local indexes (or at least nodes / RF) when cardinality is 
high is lower than it looks at first.

So in practice I strongly suspect this will scale at least to hundreds of nodes 
if not thousands, so saying "we can't do this because it won't scale" is not a 
strong argument.

And when you are doing requests against a "index on a single node," the 
consistency problem is worth than you think.  There's no way to make it 
consistent with a batch m/r, without a Big Lock against the CF being indexed, 
since if you are examining an index entry w/ no matching "natural" entry, you 
have no way of knowing if that's because another process is about to clean out 
the index entry, or add the natural entry.  So you have to check each index hit 
for validity *each* *time* which is a huge hit.  (And allowing the user to say 
"stale data" is okay is wrong, because it's not "eventually consistent," once 
out of sync it will stay that way.)

> 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.8
>
>         Attachments: 0001-simple-secondary-indices.patch, 
> views-discussion-2.txt, views-discussion.txt
>
>


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to