You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jun Rao (JIRA)" <ji...@apache.org> on 2009/05/13 21:42:46 UTC
[jira] Updated: (CASSANDRA-172) A improved and more general version
of get_slice
[ https://issues.apache.org/jira/browse/CASSANDRA-172?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jun Rao updated CASSANDRA-172:
------------------------------
Attachment: get_slice_from.patchv1
Propose a new API:
list<column_t> get_slice_from(1:string tablename, 2:string key, 3:string columnFamily_column, 4:bool isAscending, 5:i32 start, 6:i32 count)
get_slice_from gets a specified number of columns starting from a specified starting column. For example,
get_slice_from(Table1, row1, CF1:col5, true, 0, 5)
returns the first 5 columns in CF1 in row1 whose names are larger than or equal to col5.
Because get_slice_from specifies a starting column, column index can be exploited to reduce the amount of data scanned in sstables.
Submit a patch. In this patch, get_slice_from is only supported on Standard CF sorted by Name.
Overview of the patch
ColumnFamilyStore : a new method getSliceFrom that does a multi-way merge among memtables and sstables.
ColumnIterator: interface for iterating through columns from a starting column; both memtable and sstable have an implementation of that interface
SliceFromReadCommand: a new type of read command
SequenceFile: a new ColumnSliceBlockReader that skips to an initial data block using the column index and starts iterating the blocks after or before the initial block
> A improved and more general version of get_slice
> ------------------------------------------------
>
> Key: CASSANDRA-172
> URL: https://issues.apache.org/jira/browse/CASSANDRA-172
> Project: Cassandra
> Issue Type: New Feature
> Reporter: Jun Rao
> Assignee: Jun Rao
> Attachments: get_slice_from.patchv1
>
>
> Today, get_slice has to scan through all columns in every memtable and sstable to get a slice of columns. This becomes inefficient when the number of columns in a row is large. We need a more efficient API.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.