[
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