一致哈希

✍ dations ◷ 2025-10-28 20:59:24 #Hashing

一致哈希 是一种特殊的哈希算法。在使用一致哈希算法后,哈希表槽位数(大小)的改变平均只需要对 K / n {\displaystyle K/n} 个关键字重新映射,其中 K {\displaystyle K} 是关键字的数量, n {\displaystyle n} 是槽位数量。然而在传统的哈希表中,添加或删除一个槽位的几乎需要对所有关键字进行重新映射。

一致哈希由MIT的Karger及其合作者提出,现在这一思想已经扩展到其它领域。在这篇1997年发表的学术论文中介绍了“一致哈希”如何应用于用户易变的分布式Web服务中。哈希表中的每一个代表分布式系统中一个节点,在系统添加或删除节点只需要移动 K / n {\displaystyle K/n} 项。

一致哈希也可用于实现健壮缓存来减少大型Web应用中系统部分失效带来的负面影响。

一致哈希的概念还被应用于分布式散列表(DHT)的设计。DHT使用一致哈希来划分分布式系统的节点。所有关键字都可以通过一个连接所有节点的覆盖网络高效地定位到某个节点。

在使用n台缓存服务器时,一种常用的负载均衡方式是,对资源o的请求使用 hash ( o ) = o mod n {\displaystyle {\mbox{hash}}(o)=o\mod n} 来映射到某一台缓存服务器。当增加或减少一台缓存服务器时这种方式可能会改变所有资源对应的hash值,也就是所有的缓存都失效了,这会使得缓存服务器大量集中地向原始内容服务器更新缓存。因此需要一致哈希算法来避免这样的问题。一致哈希尽可能使同一个资源映射到同一台缓存服务器。这种方式要求增加一台缓存服务器时,新的服务器尽量分担存储其他所有服务器的缓存资源。减少一台缓存服务器时,其他所有服务器也可以尽量分担存储它的缓存资源。一致哈希算法的主要思想是将每个缓存服务器与一个或多个哈希值域区间关联起来,其中区间边界通过计算缓存服务器对应的哈希值来决定。(定义区间的哈希函数不一定和计算缓存服务器哈希值的函数相同,但是两个函数的返回值的范围需要匹配。)如果一个缓存服务器被移除,则它所对应的区间会被并入到邻近的区间,其他的缓存服务器不需要任何改变。

一致哈希将每个对象映射到圆环边上的一个点,系统再将可用的节点机器映射到圆环的不同位置。查找某个对象对应的机器时,需要用一致哈希算法计算得到对象对应圆环边上位置,沿着圆环边上查找直到遇到某个节点机器,这台机器即为对象应该保存的位置。当删除一台节点机器时,这台机器上保存的所有对象都要移动到下一台机器。添加一台机器到圆环边上某个点时,这个点的下一台机器需要将这个节点前对应的对象移动到新机器上。更改对象在节点机器上的分布可以通过调整节点机器的位置来实现。

David Karger及其合作者列出了使得一致哈希在互联网分布式缓存中非常有用的几个特性:

在亚马逊的云存储系统Dynamo的数据划分功能模块中使用一致哈希。

相关

  • 布若卡区布洛卡区(英文:Broca's area)也译为布罗卡区是大脑的一区,它主管语言讯息的处理、话语的产生。与韦尼克区共同形成语言系统。布若卡氏区与韦尼克区通常位于脑部的优势半脑(通常位
  • APOL18542n/aENSG00000100342n/aO14791n/aXM_011530478、NM_001136540、NM_001136541、NM_003661、NM_145343、NM_145344、NM_001362927n/aNP_001130012、NP_001130013、NP_00365
  • 薇拉莉·葛琳诺薇拉莉·葛琳诺(Valeria Golino,1966年10月22日-)是一位意大利女演员。她以饰演1988年奥斯卡获奖电影《雨人》中的女主角苏珊娜而为人所知。她也分别在1986年和2015年两度获得
  • 谢里夫·艾哈迈德谢赫·谢里夫·谢赫·艾哈迈德(阿拉伯语:شيخ شريف شيخ أحمد‎、索马里语:Sheekh Shariif Sheekh Axmed,1964年7月25日-),原名为:“谢里夫·艾哈迈德”(Shariif Axmed)
  • 利斯河战役 (1918年)利斯河战役(Battle of the Lys),是一战期间德军对法兰德斯地区进攻的一部分,也是1918年春季攻势的一部分。 最初为鲁登道夫策划的格尔奥格作战(Operation George),但后来被缩减为格
  • VIA C7-MVIA C7-M是一款x86处理器,由威盛电子设计,它采用 CoolStream 处理器架构,uFCPGA 478封装,IBM 90nm SOI工艺,支持MMX、SSE、SSE2和SSE3等多媒体指令集。主要用于笔记型电脑和UMPC
  • 里奇平坦流形数学中,里奇平坦流形(Ricci-flat manifold)是里奇张量为零的黎曼流形。在物理学中,它们代表了爱因斯坦方程在任何维数之黎曼流形且宇宙常数为零的类比,其所具有的真空解。里奇平
  • 中村大树中村大树(1962年12月25日-),日本资深男性配音员。出身于东京都。81 Produce所属,以前经历ARTSVISION。身高170cm。A型血。高中时期(相洋高等学校(日语:相洋中学校・高等学校))收看喜欢
  • 彩纹山蛭彩纹山蛭(学名:)是一种分布于台湾,婆罗洲和中南半岛的旱蛭。它的猎物主要是中小型哺乳动物。它的长度13-33毫米,背部有3-5道纵向条纹。彩纹山蛭多数栖身于热带雨林地面1米以上的
  • 派拉蒙电影列表该列表列出了由派拉蒙电影公司拍摄的影片:Snoot FilmsBBC电影Qwerty Films天空舞制片公司K/O Paper ProductsBazelevs CompanyTC Productions