注册 登录
自由的生活_软路由 返回首页

11的个人空间 https://bbs.routerclub.com/?499 [收藏] [复制] [分享] [RSS]

日志

memcached协议+bloom filter = mc-bloom-filter,海量数据排重服务器。

已有 2130 次阅读2013-3-4 23:58 | filter, 服务器

Introduction

Bloom filter 是由 Howard Bloom 在 1970 年提出的二进制向量数据结构,它具有很好的空间和时间效率,被用来检测一个元素是不是集合中的一个成员,被广泛使用于各种海量数据排重的场景中。Mc bloom filter是一个全新的排重服务器,它采用memcached的网络层封装了bloom filter的操作,使各种语言php、java、perl、python、go、c等等,都能使用memcached的协议进行bloom filter的操作。

Details作者

新浪 汤晓刚 何跃 胡鸿

bloom filter 的简介

bloom_filter的百度百科 Google黑板报 算法详细介绍

mc bloom filter 的特性
  • 完全采用memcached的网络层协议,创建、删除、添加、查看状态等。
  • mc bloom filter 是一个全内存的排重服务器,所有数据均放在内存中。
  • 可以在一个实例中创建多个bloom filter,在内存允许的情况,可以创建几十G大小的bloom filter,支持最高上 百亿 的数据排重。
  • 采用google员工写的的高性能hash算法murmurhash,保证bloom filter的hash的高速
  • 单线程版单机读写速度能达到十万次/s(同网段两台服务器多线程压力测试 服务器配置:8核 Intel(R) Xeon(R) CPU E5620 @ 2.40GHz 12G内存)
  • 多线程版单机读写能力均能达到30万次/s(同网段两台服务器多线程压力测试 服务器配置:8核 Intel(R) Xeon(R) CPU E5620 @ 2.40GHz 12G内存)
  • 32位、64位服务器兼容。
mc bloom filter 的安装
  • bloom filter 使用memcached网络层,依赖于libevent,先登录http://libevent.org/ 下载最新稳定版本。
  •      wget https://github.com/downloads/libevent/libevent/libevent-2.0.20-stable.tar.gz
         tar zxvf libevent
    -2.0.20-stable.tar.gz
         cd libevent
    -2.0.20-stable
         
    ./configure
         make
    && make install
  • 在bloom filter 的google code 上,下载mc bloom filter的最新稳定版本
  •     1.wget bloom filter的最新稳定版本
       
    2.修改Makefile文件,主要是修改libevent到你的目录
       
    3.在目录中执行make,生成mc_bloom_filter【线上版】 mc_bloom_filter_【调试版】 两个可执行文件,调试版会打很多日志
       
    4. nohup ./mc_bloom_filter -p12345 -d -uroot -m4000 p/tmp/mc_bloom_filter.pid l127.0.0.1
       
    日志文件就是当前目录的nohup.out文件
  • mc bloom filter的启动参数

路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

QQ|Archiver|手机版|小黑屋|软路由 ( 渝ICP备15001194号-1|渝公网安备 50011602500124号 )

GMT+8, 2024-5-18 10:14 , Processed in 0.064772 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2023 Discuz! Team.

返回顶部