[
https://issues.apache.org/jira/browse/CASSANDRA-5357?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13613504#comment-13613504
]
Vijay commented on CASSANDRA-5357:
----------------------------------
Ooops, I thought i was continuing the discussion from the other ticket... My
bad.
What i had in mind was to do something like Map<RowKey,
[QueryFilter,ColumnFamily]> so invalidation is O(1)
To further improve the performance on a query (And deserializing the whole
[QueryFilter,ColumnFamily] we can have all the QueryFilters as a part of the
RowKey (Kind of like promoted index's).
If we do this then the K (For a fat row) becomes big enough to cause more heap
issue.
Hence we could move that to off-heap along with CF.
Query to a CF will be constant time (or O(m) where m is the size of queries
within a row), Space complexity is also constant since we have the key is a off
heap reference and a hash.
There is one downside in this approche, if a row is hot all the queries will
stay in memory longer (Unless we reimplement a cache like CLHM)...
If we think this is big enough problem then we would need an alternative
approach where we have 2 Maps one for <QF, CF> and the other for <RK, QF>
mapping, which might not be that space efficient. Let me know.
> Query cache
> -----------
>
> Key: CASSANDRA-5357
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5357
> Project: Cassandra
> Issue Type: Bug
> Reporter: Jonathan Ellis
> Assignee: Vijay
>
> I think that most people expect the row cache to act like a query cache,
> because that's a reasonable model. Caching the entire partition is, in
> retrospect, not really reasonable, so it's not surprising that it catches
> people off guard, especially given the confusion we've inflicted on ourselves
> as to what a "row" constitutes.
> I propose replacing it with a true query cache.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira