布隆过滤器

位图

位图中的每一个槽只占1 bit的内存,所以即便面对10亿数据也只占用119多M的内存

适用场景

在面临大数据的情况下,判断一个数是否存在

原理

将判断的值分多个hash函数进行计算,如果其中有一个hash函
数的值不等于1,则可以判定这个数不存在;

反之大概率存在

优点

  • 占用内存小
  • 增加和查询的时间复杂度为:O(K)K为哈希函数的个数
  • 哈希函数相互之间没有关系,方便硬件并行运算
  • 布隆过滤器本身不存储元素本身,在某些对保密要求比较严格的场合有很大优势
  • 数据量很大时,布隆过滤器可以表示全集
  • 使用同一组散列函数的布隆过滤器可以进行交、并、差运算

缺点

  • 存在误判率
  • 不能获取元素本身
  • 一般情况下不能从布隆过滤器删除元素

布隆过滤器
https://huajframe.github.io/2021/12/13/数据库/非关系型数据库/布隆过滤器/
作者
HuaJFrame
发布于
2021年12月13日
许可协议