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

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

Commit 2e1834f153e1b7504978bcfa2694a21333a21203 in asterixdb's branch 
refs/heads/master from Wail Alkowaileet
[ https://gitbox.apache.org/repos/asf?p=asterixdb.git;h=2e1834f153 ]

[ASTERIXDB-3165][STO] Avoid encoding primary keys

- user model changes: no
- storage format changes: yes
- interface changes: no

Details:
This patch removes the encoding for PKs to
allow for more efficient point lookups --
especially for upserting with secondary indexes.

Storage changes:
PKs are no longer encoded.

Change-Id: Id361d0d41b54a7ea84ec9212506809f5e0befc84
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17486
Integration-Tests: Jenkins <[email protected]>
Tested-by: Jenkins <[email protected]>
Reviewed-by: Wail Alkowaileet <[email protected]>
Reviewed-by: Murtadha Hubail <[email protected]>


> Avoid encoding PKs in columnar collections
> ------------------------------------------
>
>                 Key: ASTERIXDB-3165
>                 URL: https://issues.apache.org/jira/browse/ASTERIXDB-3165
>             Project: Apache AsterixDB
>          Issue Type: Improvement
>          Components: STO - Storage
>    Affects Versions: 0.9.9
>            Reporter: Wail Y. Alkowaileet
>            Assignee: Wail Y. Alkowaileet
>            Priority: Major
>             Fix For: 0.9.9
>
>
> Currently, we encode every column (including the PKs). Encoding the PKs makes 
> point lookups too expensive when a secondary index is created.
> We should avoid encoding the PKs and allow the following:
>  * Perform binary search for point lookups (vs. sequential search)
>  * Definition levels for PKs should remain encoded. However, we only decode 
> them (definition levels) if the search predicate yields a result
> Optional improvements:
>  * Use a typed comparator instead of the generic one
>  * Avoid deserializing the search predicate



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to