当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 4 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 新浪的 memcachedb 高并发数据库
帖子发表于 : 2008-01-18 10:49 
头像

注册: 2005-03-30 0:27
帖子: 3294
送出感谢: 0 次
接收感谢: 2
memcache 本是一个常用的分布式内存缓存系统,

新浪的 张宴 把她弄了 bsddb 后端,变成可持久存储

http://blog.s135.com/read.php/320.htm

引用:
  Memcachedb

  协议:New BSD License
  作者:stvchu, gary.caokai, forever.sky81
  团队:新浪互动社区事业部──博客产品
  网址:http://code.google.com/p/memcachedb/

  Memcachedb = memcache + Berkeley DB

  Memcachedb是一款支持高并发的分布式持久存储系统,对任何原有memcached客户端来讲,它仍旧是个memcached,但是,它的数据是可以持久存储的。
  前端:memcached的网络层
  后端:Berkeley DB存储

  写速度:从本地服务器通过memcache客户端(libmemcache) set 2亿条16字节长的key,10字节长的Value的记录,耗时16572秒,平均速度12000条记录/秒。
  读速度:从本地服务器通过memcache客户端(libmemcache) get 100万条16字节长的key,10字节长的Value的记录,耗时103秒,平均速度10000条记录/秒。

  • 支持的memcache命令
  get, set, add, replace
  incr, decr
  delete
  stats
  flush_all

  • 私有命令
  db_checkpoint, db_archive
  db_ismaster, db_whoismaster (for replication)

  编译及安装方法:
  http://blog.csdn.net/simonlsy/archive/2008/01/07/2027940.aspx


图片


引用:
memcachedb应用指南二:编译以及安装 文章指数:0 CSDN Blog推出文章指数概念,文章指数是对Blog文章综合评分后推算出的,综合评分项分别是该文章的点击量,回复次数,被网摘收录数量,文章长度和文章类型;满分100,每月更新一次。

memcachedb跟memcache一样,网络socket数据处理依赖于libevent,所以,在安装之前需要下载三个安装包,即libevent、Berkeley Db以及memcachedb。

Libevent 下载页面:http://monkey.org/~provos/libevent/ ,下载最新稳定版本就行。

Berkeley Db下载页面:http://www.oracle.com/technology/software/products/berkeley-db/index.html 需要安装4.6版本

memcachedb下载页面:http://code.google.com/p/memcachedb/ 下载最新版本 0.1.0版本

按照顺序安装,Libevent和Berkeley Db按照常规安装即可,这里以Linux 环境为标准。

[======Libevent=====]

tar -zxvf libevent-1.3e.tar.gz

cd libevent-1.3e

./configure

make && make install

[======Berkeley Db=====]

tar -zxvf db-4.6.19.tar.gz

#需要进入特定操作系统编译环境,更常规软件的编译有些区别

cd db-4.6.19/build_unix/

#然后才能够开始编译

../dist/configure

make && make install

#如果没有指定特殊安装路径,编译完成,需要将Berkeley Db运行库的路径添加到系统配置里面

echo "/usr/local/BerkeleyDB.4.6/lib/" >> /etc/ld.so.conf

#重载系统Ld运行库

ldconfig

[======Memcachedb=====]

tar -zxvf memcachedb-0.1.0.tar.gz

cd memcachedb-0.1.0

#如果您要存储的内容的键值的长度和单笔内容的长度有变化,您需要更改一个文件 memcachedb.h

vim memcachedb.h

////////////////////////////////////////////////////////////

#define END_LEN 32 ----> 这是是 Key+Value 的最大长度
#define END_LEN_STR "31" ---> 这是是 key 的最大长度

/////////////////////////////////////////////////////////

#默认key键值只预留了31个字节的长度,单笔数据最长是32个字节数。

#例如您如果需要用这个玩艺来存储文本内容数据,假设您的键值是一个32个字节的md5,单笔数据允许最长10K,那您可以设定

////////////////////////////////////////////////////////////

#define END_LEN 102400 ----> 这是是 Key+Value 的最大长度
#define END_LEN_STR "32" ---> 这是是key的最大长度

/////////////////////////////////////////////////////////

#修改完之后,直接make就行

make

#编译完之后,将生成可执行memcachedb拷贝到 /usr/sbin/

cp -f memcachedb /usr/sbin/

#启动 memcachedb

#第一种,读写合并模式,即不做辅拷贝,即读又写,不做冗余备份

memcachedb -p21211 -d -r -u root -H /data/mdb_11211 -N

#第二种,读写分离/备份模式

#主服务器 192.168.0.1 读写监听 11211 ,同步通过31211的端口完成,不占用繁忙的主服务端口

memcachedb -p21211 -d -r -u root -H /data/mdb_11211_m -N -R 127.0.0.1:31211 -M

# 辅服务器 192.168.0.2 只读监听 21212,从192.168.0.1 的 31211端口同步数据,同时再开一个31212端口对外提供数据同步服务

memcachedb -p21212 -d -r -u root -H /data/mdb_11211_from_16801_s -O 192.168.0.1:31211 -R 192.168.0.2:31212 -S






_________________
跃过无数的时间断层,只为了在


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2008-02-10 10:16 

注册: 2006-10-12 21:31
帖子: 234
送出感谢: 0 次
接收感谢: 0 次
据说这个开源的东西是公司让搞的,效率还不错


_________________
Peigen废话
http://peigen.info


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2008-04-11 13:51 
头像

注册: 2008-04-03 11:51
帖子: 38
送出感谢: 0 次
接收感谢: 0 次
听说过这个,好像不错


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 新浪的 memcachedb 高并发数据库
帖子发表于 : 2008-10-03 1:35 

注册: 2008-10-03 1:34
帖子: 2
送出感谢: 0 次
接收感谢: 0 次
这个是Steven Chu搞的,貌似张宴就压根不会写程序。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 4 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译