You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Konstantin Orlov (Jira)" <ji...@apache.org> on 2021/12/02 14:02:00 UTC

[jira] [Comment Edited] (IGNITE-14769) Key hash calculation.

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

Konstantin Orlov edited comment on IGNITE-14769 at 12/2/21, 2:01 PM:
---------------------------------------------------------------------

Here are graphs for distribution among partitions with use of affinity function from Ignite-2. Total row count is 1 000 000. On Y axis is count of keys per partition, and for the X axis is partition id.  Every key consists of 3 sequentially increasing integers 0 to 99.
 [^Partition count 8.png]  [^Partition count 32.png]  [^Partition count 100.png]  [^Partition count 128.png]  [^Partition count 480.png]  [^Partition count 1024.png].


was (Author: korlov):
Here are graphs for distribution among partitions with use of affinity function from Ignite-2. Total row count is 1 000 000. On Y axis is count of keys per partition, and for the X axis is partition id.  Every key consists of 3 sequentially increasing integers 0 to 99.
 [^Partition count 8. png]  [^Partition count 32. png]  [^Partition count 100. png]  [^Partition count 128. png]  [^Partition count 480.png]  [^Partition count 1024. png].

> Key hash calculation.
> ---------------------
>
>                 Key: IGNITE-14769
>                 URL: https://issues.apache.org/jira/browse/IGNITE-14769
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Andrey Mashenkov
>            Assignee: Konstantin Orlov
>            Priority: Major
>              Labels: iep-54, ignite-3
>         Attachments: Partition count 100.png, Partition count 1024.png, Partition count 128.png, Partition count 32.png, Partition count 480.png, Partition count 8.png
>
>   Original Estimate: 96h
>  Remaining Estimate: 96h
>
> There are next possible ways for cache calculation.
>  # Update hash on every write method call as it works for now.
>  # Calculate for all key chunk (hash of byte[]) - all columns including a null-map.
> Let's choose and implement the best way and along with a better hash function,
>  e.g. xxHash64 [1], Murmur3 [2]released in Apache Commons, CityHash (from Google) [3], FastHash32 [4].
>  
> [1][https://github.com/Cyan4973/xxHash/]
> [2]https://commons.apache.org/proper/commons-codec/jacoco/org.apache.commons.codec.digest/MurmurHash3.java.html
> [3] [https://github.com/google/cityhash]
> [4] https://github.com/rurban/smhasher/blob/master/fasthash.cpp



--
This message was sent by Atlassian Jira
(v8.20.1#820001)