accumulo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Keith Turner (JIRA)" <>
Subject [jira] [Commented] (ACCUMULO-550) Colocate rfile index entries within file
Date Mon, 23 Apr 2012 20:24:48 GMT


Keith Turner commented on ACCUMULO-550:

I did some experiments and found that scans of the index were 4 to 5 times faster for a large
file with contiguous index blocks.   This is when the files were not in any cache (I discovered
the purge command on the mac).  When the index blocks were in the filesystem cache it was
about 1.5 times faster. 
> Colocate rfile index entries within file
> ----------------------------------------
>                 Key: ACCUMULO-550
>                 URL:
>             Project: Accumulo
>          Issue Type: Improvement
>          Components: tserver
>            Reporter: Keith Turner
>            Assignee: Keith Turner
>             Fix For: 1.5.0
> Before multi-level indexes were introduced, when an an rfile was written its entire index
was held in memory and written out then the file was closed.  With the introduction of multilevel
index each index block is written when it fills up as the file is being written.  This was
done to handle the case where the index may not fit into memory.  This leads to index blocks
being sprinkled through the file.   So any operation that iterates over the entire index can
be slow because it turns into a lot of random accesses.   
> One possible solution is to buffer lots of index blocks up to some some threshold and
write out alot of index blocks at once.  This would make a scan of the index much faster as
it would turn into a set of sequential reads of large chunks of data.
> Could buffer all block at a particular level and write them out when the parent index
block fills up.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message