JumpBackHash: Say Goodbye to the Modulo Operation to Distribute Keys Uniformly to Buckets

2024年03月27日
  • 简介
    将一定数量的键分发到一定数量的桶中是分布式数据处理和存储的基本任务。一种简单、快速且因此而流行的方法是基于除以桶数后的余数将键的哈希值映射到桶上。然而,当桶数改变时,这些映射是不稳定的,可能会导致系统资源利用率的严重波动,例如网络或数据库请求。一致性哈希算法可以最小化重新映射,但要么比基于模数的方法慢得多,要么需要浮点算术,要么基于一组在标准库中很少可用的哈希函数。本文介绍了JumpBackHash,它只使用整数算术和标准伪随机生成器。由于其速度和简单实现,它可以安全地替换基于模数的方法以提高分配和系统稳定性。JumpBackHash的生产就绪Java实现已作为Hash4j开源库的一部分发布。
  • 图表
  • 解决问题
    JumpBackHash: A Fast, Deterministic, and Portable Hash Function
  • 关键思路
    使用整数算术和标准伪随机生成器实现快速稳定的哈希函数。相比现有的哈希函数,JumpBackHash使用简单的实现方式,速度更快,且能够提高分配和系统稳定性。
  • 其它亮点
    JumpBackHash使用整数算术和标准伪随机生成器实现,速度快,且能够提高分配和系统稳定性。作者发布了Java实现的开源库Hash4j。作者进行了实验验证,结果表明JumpBackHash相比现有的哈希函数具有更好的性能表现。
  • 相关研究
    近期的相关研究包括:Consistent Hashing with Bounded Loads、Jump Consistent Hash、Ketama Consistent Hashing Algorithm等。
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论