avro-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yin Huai (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AVRO-1208) Improve Trevni's performance on row-oriented data access
Date Tue, 20 Nov 2012 20:08:58 GMT

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

Yin Huai commented on AVRO-1208:
--------------------------------

Yes, I have a benchmark right now. It is available at https://github.com/yhuai/tableplacement.
In tableplacement-experiment/expScripts, read.Trevni.sh and
write.Trevni.sh can be used to write and read a file with the format of Trevni. 

I just did a quick test. The table I used has 6 int columns, the value of which is randomly
picked from 0 to 9999, 6 string columns, the length of each string is 30, and 1 map column,
the size of which is 10. The type of keys in the map column is string and the length of each
key string is 4. The value type of values in the map column is int and every int value is
randomly picked from 0 to 2147483646.

For a table with 3000000 rows (about 900MB, no compression), the throughput of a entire table
scan is about 55 MB/s. The sequential access throughput of my disk is about 150 MB/s (sudo
hdparm -t /dev/sda).

                
> Improve Trevni's performance on row-oriented data access
> --------------------------------------------------------
>
>                 Key: AVRO-1208
>                 URL: https://issues.apache.org/jira/browse/AVRO-1208
>             Project: Avro
>          Issue Type: Improvement
>    Affects Versions: 1.7.3
>            Reporter: Yin Huai
>
> Trevni uses an 64KB internal buffer to store values of a column. When accessing a column,
it reads 64KB (if we do not consider compression and checksum) data from the storage layer.
However, when the table is accessed in a row-oriented fashion (a entire row needs to be handed
over to the upper layer), in the worst case (a full table scan and values of this table are
all the same size), every 64KB data read can cause a seek.
> This jira is used to discuss if we should consider the data access pattern mentioned
above and if so, how to improve the performance of Trevni. Row-oriented data processing engines,
e.g. Hive, can benefit from this work.

--
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

Mime
View raw message