You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Edward Capriolo (JIRA)" <ji...@apache.org> on 2014/04/26 17:41:15 UTC

[jira] [Commented] (CASSANDRA-7085) Specialized query filters for CQL3

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

Edward Capriolo commented on CASSANDRA-7085:
--------------------------------------------

I was looking at this code a bit. What are your thoughts on providing a more generalized filters potentially with a meta language that we could push filtering into?

An example is SARG done here: https://issues.apache.org/jira/browse/HIVE-4579, but it could be a more general interface that takes a closure...wink wink.... I suggest because it seems like a wider abstraction would make further work easier.



> Specialized query filters for CQL3
> ----------------------------------
>
>                 Key: CASSANDRA-7085
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7085
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Sylvain Lebresne
>              Labels: cql, perfomance
>             Fix For: 3.0
>
>
> The semantic of CQL makes it so that the current {{NamesQueryFilter}} and {{SliceQueryFilter}} are not always as efficient as we could be. Namely, when a {{SELECT}} only selects a handful of columns, we still have to query to query all the columns of the select rows to distinguish between 'live row but with no data for the queried columns' and 'no row' (see CASSANDRA-6588 for more details).
> We can solve that however by adding new filters (name and slice) specialized for CQL. The new name filter would be a list of row prefix + a list of CQL column names (instead of one list of cell names). The slice filter would still take a ColumnSlice[] but would add the list of column names we care about for each row.
> The new sstable readers that goes with those filter would use the list of column names to filter out all the cells we don't care about, so we don't have to ship those back to the coordinator to skip them there, yet would know to still return the row marker when necessary.



--
This message was sent by Atlassian JIRA
(v6.2#6252)