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)