You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2017/11/27 21:20:00 UTC

[jira] [Commented] (ASTERIXDB-2149) Improve NormalizedKey on Sorting

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

ASF subversion and git services commented on ASTERIXDB-2149:
------------------------------------------------------------

Commit ed469381235990ce5ecd2f242b679190ef2ca263 in asterixdb's branch refs/heads/master from [~luochen01]
[ https://git-wip-us.apache.org/repos/asf?p=asterixdb.git;h=ed46938 ]

[ASTERIXDB-2149] Enable multiple normalized keys in sort

- user model changes: no
- storage format changes: no
- interface changes: yes. The interface of sort is changed.

Currently, during the (in-memory) sort, we use an int normalized keys to
speed up comparisions by avoiding random memory accesses. However, this
technique is inefficient if the first 4 bytes of the sorting keys are
not distinctive. From performance point of view, it's better to use
longer normalized keys when it's possible (2-3x improvements).

This is enabled by this patch by:
- Allowing multiple normalized keys during sort, and the length of each
normalized key can be longer (multiple integers).
- Enable memory budgeting of pointer directories as well during sort
(but for performance, we still use int[], instead of byte[] from frame).

The next patch will enable the AsterixDB layer to use this feature to
speed up sort performance.

Change-Id: I4354242ff731b4b006b8446b58f65873047dde78
Reviewed-on: https://asterix-gerrit.ics.uci.edu/2127
Sonar-Qube: Jenkins <je...@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
Contrib: Jenkins <je...@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <je...@fulliautomatix.ics.uci.edu>
Reviewed-by: abdullah alamoudi <ba...@gmail.com>


> Improve NormalizedKey on Sorting
> --------------------------------
>
>                 Key: ASTERIXDB-2149
>                 URL: https://issues.apache.org/jira/browse/ASTERIXDB-2149
>             Project: Apache AsterixDB
>          Issue Type: Improvement
>            Reporter: Chen Luo
>            Assignee: Chen Luo
>
> Normalized keys are used to improve sorting performance by avoiding random memory accesses. However, currently it has several limitations:
> # Normalized key computer is missing for some types, e.g., UUID
> # It only helps with unequal keys. When two keys are equal, it still requires random accesses to do comparison.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)