`
godlovesdog
  • 浏览: 99445 次
社区版块
存档分类
最新评论

bloom filter server

阅读更多
1.实现
基于boost svn中bloom filter库编写。为beta版,需要依赖其他项目的日志库等组件,有兴趣的朋友可以私信联系,我来优化
https://github.com/godlovesdog/bloom_filter
2.简介
bloom filter是一种消重过滤器,该过滤器具有如下

优势:
  • 存储空间小:过滤器是一个位矢量,每个数据元素被hash成该矢量中的某几个bit,而非hash成多个字节。
  • 时间复杂度低:O(1),只需进行简单的hash计算

缺点:
  • 有一定的误判率——如果待查询数据在filter中,就一定能被判别出来;但因为hash碰撞,未在filter中的元素仍有可能被误判为已存在
  • 误判率可以通过增大存储空间而控制在一定范围内。如用512MB空间作为filter,使用7个hash函数时,向该过滤器中存储1000万个元素时,误判率为1.26312e-07%;存储1亿条记录时,误判率为0.201594%
  • 无法删除filter中的元素

3.使用
3.1 启动
git clone $G:bloom_filter
cd bloom_filter/bin
./bloom_filter

配置文件bloom_filter/conf.ini
默认监听8000端口
3.2 请求
支持GET及POST两种http请求方式:
  • GET:查询某个key是否已在filter中存在
  • POST:查询某key是否已存在filter中,不存在则将其插入到filter中

参数必须为"ks"多个key之间以逗号分隔
curl http://172.28.0.23:8000/?ks=1,2
curl http://172.28.0.23:8000/?ks=1,2 -X POST
3.3 返回结果
json字符串
{
    "1": "false",
    "3": "false"
}
分享到:
评论

相关推荐

    bloom-server:BloomFilter服务器

    Bloom Filter Server-由btnguyen2k提供。 项目主页: : 。 概述 Bloom Server提供REST和Thrift API来访问集中的数据。 发行说明 最新版本: 0.1.1 。 参见 。 蜜蜂 put(item[, bloomName]) :将项目放入Bloom过滤...

    Scrapy_Redis_Bloomfilter-master.zip

    Scrapy_Redis_Bloomfilter-master.zip 是一个包含Scrapy Redis Bloomfilter过滤器的安装包,主要目的是在数据抓取过程中优化和提升效率。Scrapy是一个流行的Python爬虫框架,而Redis是一个高性能的键值存储系统,...

    LuceneServer:Lucene的网络服务器接口(http

    Bloom Filter Server-由btnguyen2k提供。 项目主页: : 。 概述 Bloom Server提供REST和Thrift API来访问集中的数据。 发行说明 最新版本: 0.1.0 。 参见 。 蜜蜂 put(item[, bloomName]) :将项目放入Bloom过滤...

    论文研究-基于Bloom Filter的混合云存储安全去重方案.pdf

    针对现有云存储系统中数据去重采用的收敛加密算法容易遭到暴力破解以及猜测攻击等不足,提出一种基于布隆过滤器的混合云存储安全去重方案BFHDedup,改进现有混合云存储系统模型,私有云部署密钥服务器Key Server支持...

    fast-filter:快速过滤器是在Redis之上构建的库,提供了许多过滤引擎,可对大型数据集进行快速有效的过滤

    bloomfilter-rb ruby​​gem(在JRuby下不起作用) 使用: 将此添加到您的Gemfile中: gem 'fast-filter', :git => 'git://github.com/mobmewireless/fast-filter.git' 然后: require 'fast-filter' 要:需要...

    HBase的性能优化

    BloomFilter是一种probability数据结构,用于快速判断某个元素是否存在于集合中。启用BloomFilter可以提高读取性能,特别是在大规模数据集群环境中。 调整Put操作 Put操作是HBase中的一种基本操作,用于将数据写入...

    Linge-互联网行业中Redis的应用.pptx,Redis应用讲解PPT文件

    Linge-互联网行业中Redis的应用.pptx==Redis应用讲解PPT文件。Redis(Remote Dictionary Server ),远程字典服务,是一个开源的使用C语言编写、...Bloom Filter 精度问题主要来自于有限的BIT数组大小和hash算法碰撞。

    hbase shell常用命令汇总

    {NAME => 'cl3', VERSIONS => 1, IN_MEMORY => false, BLOOMFILTER => ROW, COMPRESSION => 'NONE', DATA_BLOCK_ENCODING => NONE, TTL => FOREVER, KEEP_DELETED_CELLS => false, BLOCKCACHE => true, MIN_...

    hbase-0.94.1.tar.gz

    - ** Bloom Filter**:利用Bloom Filter减少不必要的磁盘I/O,提升查询效率。 总之,HBase-0.94.1作为一个早期版本,展示了HBase在大数据实时处理中的强大能力。随着技术的发展,HBase已经迭代到更高的版本,但其...

    HBase应用架构

    2. Bloom Filter:利用Bloom Filter可以快速判断某个元素是否可能存在,避免无效的磁盘查找,提升查询性能。 3. Column Index:为频繁查询的列创建索引,加快查询速度。 综上所述,HBase应用架构涉及分布式存储、...

    聊聊Hbase存储优化那些事(上).pdf

    3. ** Bloom Filter**:Bloom Filter 是一种空间效率极高的概率数据结构,用于判断一个元素是否在一个集合中。在HBase中,它可以减少不必要的磁盘读取,提高查询性能。 4. **压缩**:启用数据压缩可以降低存储占用...

    HBase实战实例

    2. Bloom Filter:利用Bloom Filter减少不必要的磁盘I/O,提高查询效率。 3. Compaction策略:适时进行Compaction,平衡存储空间和读取速度。 六、挑战与解决方案 1. 数据一致性:在高并发场景下,如何保证数据的...

    聊聊Hbase存储优化那些事(下).pdf

    - Bloom Filter:启用Bloom Filter可以避免不必要的磁盘I/O,提高查询效率,但会占用额外的内存资源。 - BlockCache:优化BlockCache配置,合理设置大小,优先缓存热点数据,提高读取速度。 - Region Server配置:...

    hbase-1.2.1

    - Bloom Filter:减少不必要的磁盘I/O,提高查询效率。 - Compaction:定期合并HFile,减少文件数量,优化读取性能。 - Column Family配置:根据业务需求调整Block Size、缓存大小等参数。 总之,HBase 1.2.1与...

    Redis的面试题

    1.什么是Redis? 答:Remote Dictionary Server(Redis)是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key...如果你说还玩过Redis Module,像BloomFilter,RedisSearch,Redis-ML 3.Redis的

    Java面试之Redis基础 1

    在Redis 5.0版本之后,还引入了更多高级特性,如HyperLogLog用于估算不重复元素数量,Geo支持地理位置信息处理,Pub/Sub提供发布订阅功能,以及Redis Module,允许扩展Redis功能,如BloomFilter、RedisSearch和Redis...

    hbase0.97官方中文文档

    - Bloom Filter:用于减少不必要的磁盘I/O,提高查询效率。 - Compaction:定期合并HFile,减少文件数量,提高读性能。 6. **监控与维护** - 日志分析:监控HLog和系统日志,排查问题。 - 性能监控:利用HBase...

    CEDAR 用户使用指南1

    3. 数据库功能:CEDAR 系统除了具备传统关系型数据库的基本功能,例如:读写事务、存储过程、游标等,还新增了二级索引、非主键更新、BloomFilter Join、SemiJoin 等特色功能,支持 MySQL 客户端、Java 客户端以及 C...

    hbase-1.2.6-bin+src.zip

    4. Bloom Filter:用于优化Get和Scan操作,通过预计算哈希避免不必要的磁盘I/O。 六、HBase实战应用 HBase广泛应用于日志分析、物联网(IoT)数据存储、实时监控、用户行为分析等领域。例如,Facebook使用HBase存储...

    Hbase Java API

    默认关闭 setBloomFilter 指定是否使用 BloomFilter。 HBase 的 Java API 提供了多种方法来操作数据,如 put、get、scan 和 delete。put 方法用于插入数据,get 方法用于获取数据,scan 方法用于扫描数据,delete ...

Global site tag (gtag.js) - Google Analytics