You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Sylvain Lebresne (JIRA)" <ji...@apache.org> on 2013/05/14 11:59:16 UTC
[jira] [Commented] (CASSANDRA-5514) Allow timestamp hints
[ https://issues.apache.org/jira/browse/CASSANDRA-5514?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13656934#comment-13656934 ]
Sylvain Lebresne commented on CASSANDRA-5514:
---------------------------------------------
bq. We should be able to eliminate sstables based on the entire column name, even if it is a composite one right?
That won't work as well as we want unfortunately. Say your table is something like:
{noformat}
CREATE TABLE timeline (
key int,
category string,
time timestamp,
value1 int,
value2 text,
PRIMARY KEY (key, category, time);
)
{noformat}
i.e. the (internal) column names are a composite with a category first and then a timeline for each category (not saying that model is smart, it's just an example to illustrate :)).
Now say in one sstable you only have entries whose {{time}} is <= 10, but for {{category}} "a" through "z". So the min/max column names might be "a:0"/"z:10". So if you do a query like:
{noformat}
SELECT * FROM timeline WHERE key = 3 AND category = "c" AND time > 100
{noformat}
then we cannot eliminate the sstable above, because "a:0" < "c:100" < "z:10".
However, if we keep each component separately, we would keep: for {{category}}, min/max = "a"/"z" and for {{time}}, min/max = 0/10. And from that we can eliminate the sstable for the query above since the time queried is not in the min/max range for {{time}}.
> Allow timestamp hints
> ---------------------
>
> Key: CASSANDRA-5514
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5514
> Project: Cassandra
> Issue Type: New Feature
> Components: API, Core
> Reporter: Jonathan Ellis
> Assignee: Marcus Eriksson
> Fix For: 2.0
>
> Attachments: 0001-CASSANDRA-5514-v1.patch
>
>
> Slice queries can't optimize based on timestamp except for rare cases (CASSANDRA-4116). However, many common queries involve an implicit time component, where the application author knows that he is only interested in data more recent than X, or older than Y.
> We could use the per-sstable max and min timestamps we track to avoid touching cold data if we could pass a hint to Cassandra about the time range we care about.
--
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