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