业界动态
Bloom Filter实现大数据集查询
2024-11-03 00:57

先来看几个比较常见的例子

Bloom Filter实现大数据集查询

  • 字处理软件中,需要检查一个英语单词是否拼写正确
  • 在 FBI,一个嫌疑人的名字是否已经在嫌疑名单上
  • 在网络爬虫里,一个网址是否被访问过
  • yahoo, gmail等邮箱垃圾邮件过滤功能
  • 这几个例子有一个共同的特点: 如何判断一个元素是否存在一个集合中?

    常规思路
    数组
    链表
    树、平衡二叉树、Trie
    Map (红黑树)
    哈希表

    虽然上面描述的这几种数据结构配合常见的排序、二分搜索可以快速高效的处理绝大部分判断元素是否存在集合中的需求。但是当集合里面的元素数量足够大,如果有500万条记录甚至1亿条记录呢?这个时候常规的数据结构的问题就凸显出来了。数组、链表、树等数据结构会存储元素的内容,一旦数据量过大,消耗的内存也会呈现线性增长,最终达到瓶颈。有的同学可能会问,哈希表不是效率很高吗?查询效率可以达到O(1)。但是哈希表需要消耗的内存依然很高。使用哈希表存储一亿 个垃圾 email 地址的消耗?哈希表的做法:首先,哈希函数将一个email地址映射成8字节信息指纹;考虑到哈希表存储效率通常小于50%(哈希冲突);因此消耗的内存:8 * 2 * 1亿 字节 = 1.6G 内存,普通计算机是无法提供如此大的内存。这个时候,布隆过滤器(Bloom Filter)就应运而生。在继续介绍布隆过滤器的原理时,先讲解下关于哈希函数的预备知识。

  • 巴顿.布隆于一九七零年提出
  • 一个很长的二进制向量 (位数组)
  • 一系列随机函数 (哈希)
  • 空间效率和查询效率高
  • 有一定的误判率(哈希表是精确匹配)
  • 存在:在集合内(可能错误)”和“不在集合内(绝对不在集合内)”两种情况,可见 Bloom filter 是牺牲了正确率换取时间和空间。

    3.1布隆过滤器原理

    布隆过滤器(Bloom Filter)的核心实现是一个超大的位数组和几个哈希函数。假设位数组的长度为m,哈希函数的个数为k。

    布隆过滤器添加元素

  • 将要添加的元素给k个哈希函数
  • 将这k个位置设为1
  • 布隆过滤器查询元素

  • 将要查询的元素给k个哈希函数
  • 如果k个位置有一个为0,则肯定不在集合中
  • 如果k个位置全部为1,则可能在集合中
  • 3.2布隆过滤器实现

    下面给出python的实现,使用murmurhash算法

    至于Java版的实现,可以参考:

        以上就是本篇文章【Bloom Filter实现大数据集查询】的全部内容了,欢迎阅览 ! 文章地址:http://www.glev.cn/news/8955.html 
         资讯      企业新闻      行情      企业黄页      同类资讯      首页      网站地图      返回首页 歌乐夫资讯移动站 http://wlb.glev.cn/ , 查看更多   
    最新新闻
    余干自驾游攻略:周边景点一日游,畅游余干美景!
      假使你正在计划一次在江西省余干县的自驾游那么这份攻略就是你必不可少的工具书。咱们将为你详细介绍怎样去在短短的一天内游
    小学用什么软件搜题最全
    小学用什么软件搜题最全?有很多小伙伴都想要知道有哪些最全的小学搜题软件。本期小编就为大家带来了几款最全的小学搜题推荐,为
    如何查手机卡的号码
    在数字化时代,手机号码已经成为我们日常生活中不可或缺的一部分。然而,有时我们可能会忘记自己的手机号码,或者需要查询他人的
    百度站长平台高端SEO俱乐部第一期沙龙活动整理分享
      10月26日,由百度平台和MADcon联合举办的百度站长平台高端俱乐部第一期沙龙活动圆满落幕。参与本次沙龙交流的业内资深SEOER
    医疗竞价广告“卷土重来” 百度再度被曝光
      两年前,搜索引擎让推荐的不实医疗广告进入公众视野。近来有网友注意到,竞价医疗广告改头换面、变换载体,又卷土重来。记者
    SEO排名系统,SEO优化系统,快排系统,SEO排名软件,关键词点击工具
    SEO排名系统,支持百度、360、搜三大搜索引擎电脑端+手机端百度移动端,360、算法公司在内测优化中,预计7月份上架,现在购买到
    中国最美的40个景点 九寨沟景色秀美丽江是“艳遇”高发地
      中国拥有最美丽的大好河山,不同的区域不同的城市,你可以感受到不同的美景,这里有自然风光,有人文景观,那么接下来就让我
    Bloom Filter实现大数据集查询
    先来看几个比较常见的例子字处理软件中,需要检查一个英语单词是否拼写正确在 FBI,一个嫌疑人的名字是否已经在嫌疑名单上在网络
    小说的版权费一般多少钱,要交多少税
    小说拍电影版权要多少?这个要根据,看版权是归作者,还是归投稿各平台。例如像阅文集团的起点网,通常他都会将作者的上架的小说
    广告太多、总是找不到想要的资源?这 11 个插件,让你的搜索更高效
    搜索是很多网友率先掌握的基本技能,也是我们每天上网时都会做的事情,搜索引擎的出现极大地提升我们从海量信息找到目标资源的效
    本企业新闻
    推荐企业新闻