【hash】hash算法、hash函数、哈希表、布隆过滤器、一致性哈希

哈希函数的基本性质

  • 函数定义域是无穷的,值域相对有限(但也很大,比如2的64次方)
  • 输入同样样本一定得到同样的输出
  • 输入不同样本可能得到相同输出,此时叫哈希碰撞
  • 输入大量不同的样本,得到大量输出值,会几乎均匀的分布在整个输出域上

布隆过滤器

通过几个不同哈希函数计算哈希值,对位图长度取模,将对应位置设为1(描黑),可以快速判断元素是否访问过(误判率p,与位图长度m,哈希函数个数和数据量有关n)

一致性哈希

简单的存储结构,在添加机器或者减少机器,数据迁移的代价是全量的
一致性哈希实现的分布式存储结构,哈希域变环、机器进环设计
一致性哈希的虚拟节点技术可以规避数据倾斜、实现负载均衡、实现负载管理

一致性哈希,计算哈希值后不再进行取模运算,直接用哈希值,放在一个环上。机器在环上的位置: 虚拟节点技术,给每台机器分配一些虚拟节点(比如字符串),让这些虚拟节点去抢环(在环上占位)。

posted @ 2024-07-02 23:40  hudad  阅读(36)  评论(0编辑  收藏  举报