Jumphash

Jump Consistent Hash algorithm

License

License

MIT
GroupId

GroupId

com.streametry
ArtifactId

ArtifactId

jumphash
Last Version

Last Version

1.0
Release Date

Release Date

Type

Type

jar
Description

Description

Jumphash
Jump Consistent Hash algorithm
Project URL

Project URL

https://github.com/streametry/jumphash
Source Code Management

Source Code Management

https://github.com/streametry/jumphash

Download jumphash

How to add to project

<!-- https://jarcasting.com/artifacts/com.streametry/jumphash/ -->
<dependency>
    <groupId>com.streametry</groupId>
    <artifactId>jumphash</artifactId>
    <version>1.0</version>
</dependency>
// https://jarcasting.com/artifacts/com.streametry/jumphash/
implementation 'com.streametry:jumphash:1.0'
// https://jarcasting.com/artifacts/com.streametry/jumphash/
implementation ("com.streametry:jumphash:1.0")
'com.streametry:jumphash:jar:1.0'
<dependency org="com.streametry" name="jumphash" rev="1.0">
  <artifact name="jumphash" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.streametry', module='jumphash', version='1.0')
)
libraryDependencies += "com.streametry" % "jumphash" % "1.0"
[com.streametry/jumphash "1.0"]

Dependencies

compile (1)

Group / Artifact Type Version
com.google.guava : guava jar 17.0

test (1)

Group / Artifact Type Version
junit : junit jar 4.+

Project Modules

There are no modules declared in this project.

JumpHash

Jump Consistent Hashing algorithm in Java

Abstract from the paper http://arxiv.org/abs/1406.2294:

We present jump consistent hash, a fast, minimal memory, consistent hash algorithm that can be expressed in about 5 lines of code. In comparison to the algorithm of Karger et al., jump consistent hash requires no storage, is faster, and does a better job of evenly dividing the key space among the buckets and of evenly dividing the workload when the number of buckets changes. Its main limitation is that the buckets must be numbered sequentially, which makes it more suitable for data storage applications than for distributed web caching.

Uses Guava library for unsigned longs.

Usage

int bucket = JumpHash.consistent(nrOfBuckets, myObject);

Download

Available on Maven central:

  • com.streametry:jumphash:1.0

Requires Java 1.8

Build

gradle jar

License

MIT

com.streametry

streametry

Real-time metrics store

Versions

Version
1.0