喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 喜悦证交所 | 帮助

RSS 订阅当前论坛  

[北京]代朋友公司招聘PHP高级程序员多名

上一主题 下一主题
     
标题: [原创] memcachedb应用指南  
 
simonlin
版主
Rank: 7Rank: 7Rank: 7
中级会员



UID 12243
精华 0
积分 19
帖子 430
金钱 19 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2002-1-16
来自 北京Sina
状态 离线
memcachedb应用指南

原文地址:
     http://blog.csdn.net/simonlsy


       memcachedb故名思义就是 memcached + bdb,是基于memcached Socket层和berkeley-db存储层结构的实现, 是新浪互动社区技术团队2007年的一项重大的技术成果,现在应用于新浪互动社区多个产品线中,其中包括新浪博客等重头产品。能够实现任意memcache api的调用、数据实时落地以及主辅实时备份。

项目主页:

http://code.google.com/p/memcachedb/

为什么要选择memcachedb:没有什么特殊的原因,我们有最好的理由就是,在做到最大不牺牲数据读、写性能的前提下,我们能够让您原来存储在memcache里的数据不再遭受系统宕机或者系统掉电而丢失,即使服务器电源爆炸了,只要硬盘还能够正常工作,换到另外一台服务器上,您的数据依然安然无恙地在硬盘上。

性能的担忧:我们做过小数据测试,小数据(几十个字节)数据的读写,每秒钟并发能够维持在5000+(单块146Scis硬盘,CPU和内存配置几乎可以忽略因为这不是性能瓶颈)。基本上满足所有互联网高效存储的应用。

应用场合:需要频繁读写的小数据。例如数字类服务就像点击数,需要频繁写入小数据的例如评论系统,需要记录用户状态的例如在线人数以及在线用户等等。当然,如果您想用来存储单笔超过10K以上的数据,例如新闻或者文章或者论坛帖子也可以,但是我们没有尝试过,如果您真的用来这样子玩了,可以反馈给我们。

数据备份&&读写分离:memcachedb支持主辅实时无差异同步,配置主服务和辅服务仅仅需要很短的一条启动命令。当然,您也可以利用这一便利特性来实现读写分离,那样子会让您的系统更加的高效。

稳定性:memcachedb目前被应用于新浪互动社区多个产品线中,具有钢铁般的品质,Sina出品,品质毋庸置疑。


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

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

Berkeley Db下载页面:http://www.oracle.com/technology ... keley-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




----Sina互动社区常年招聘互联网工程师 一流的工作环境一流的团队一流的回报-----
MSN:shuiyang AT live.cn
---2008.8---奥运火热招聘季---
2008-1-9 06:17 PM#1
查看资料  访问主页  Blog  发短消息  QQ  顶部
 
奶瓶 (NP博士)
版主
Rank: 7Rank: 7Rank: 7
老仙


UID 52707
精华 4
积分 5481
帖子 6103
金钱 5431 喜悦币
威望 50
人脉 0
阅读权限 100
注册 2004-11-22
来自 北大中文系
状态 在线
[推荐阅读] 算法实现
很好,很强大
希望大家支持





图片包子,注册送100包子!
2008-1-9 06:26 PM#2
查看资料  访问主页  Blog  发短消息  QQ  ICQ 状态  Yahoo!  顶部
 
芽雨
高级会员
Rank: 4
老老会员


UID 27830
精华 0
积分 826
帖子 933
金钱 826 喜悦币
威望 0
人脉 0
阅读权限 50
注册 2004-4-15
来自 永州-->太原-->北京
状态 离线
[推荐阅读] 邮件正文乱码问题?
有使用的例子就更好了



My WebSite : 芽雨快跑:http://www.yayu.org
2008-1-10 11:54 AM#3
查看资料  访问主页  Blog  发短消息  QQ  顶部
 
xieaotian (老老仙)
版主
Rank: 7Rank: 7Rank: 7


UID 82205
精华 1
积分 1252
帖子 1481
金钱 1252 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2006-10-26
来自 老老神仙部落
状态 离线
[推荐阅读] 北京外企急寻PHP工程师
有啊,其实这东西不难。



http://www.okpython.com
让中国的python发展的更快。
2008-1-10 12:22 PM#4
查看资料  访问主页  Blog  发短消息  QQ  顶部
 
simonlin
版主
Rank: 7Rank: 7Rank: 7
中级会员



UID 12243
精华 0
积分 19
帖子 430
金钱 19 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2002-1-16
来自 北京Sina
状态 离线
[推荐阅读] 按分类top 10


QUOTE:
原帖由 芽雨 于 2008-1-10 11:54 AM 发表
有使用的例子就更好了
跟使用memcache一模一样。




----Sina互动社区常年招聘互联网工程师 一流的工作环境一流的团队一流的回报-----
MSN:shuiyang AT live.cn
---2008.8---奥运火热招聘季---
2008-1-10 02:21 PM#5
查看资料  访问主页  Blog  发短消息  QQ  顶部
 
c1a1o1
版主
Rank: 7Rank: 7Rank: 7
一品带刀护卫


UID 68669
精华 0
积分 1225
帖子 2180
金钱 1225 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2006-2-17
状态 离线
[推荐阅读] 生成静态页时的问题
收藏 收藏



成人电影
php教材价格比较网美女图片
2008-1-10 04:46 PM#6
查看资料  Blog  发短消息  QQ  顶部
 
xieaotian (老老仙)
版主
Rank: 7Rank: 7Rank: 7


UID 82205
精华 1
积分 1252
帖子 1481
金钱 1252 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2006-10-26
来自 老老神仙部落
状态 离线
[推荐阅读] 音乐网站博客推广打造几万
刚才没仔细看,搞了半天是memcachedb,我还以为是memcached,HOHO~



http://www.okpython.com
让中国的python发展的更快。
2008-1-11 09:06 AM#7
查看资料  访问主页  Blog  发短消息  QQ  顶部
 
duketang (duketang)
版主
Rank: 7Rank: 7Rank: 7
无聊的老亮


UID 18398
精华 3
积分 77
帖子 1641
金钱 47 喜悦币
威望 30
人脉 0
阅读权限 100
注册 2003-2-17
来自 沈阳->北京->沈阳-> ...
状态 离线
[推荐阅读] PHP程序员 工作地点:郑州 招聘继续中... 请大家踊跃投递简历
只是把内存改到bdb上做存储?
还是在mem的基础上加上了bdb的同步?




Msn:duketxl@gmail.com
OICQ:8339544
www.80666.cn
性搜
中国招标信息数据库
2008-1-25 12:20 PM#8
查看资料  Blog  发短消息  QQ  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.026003 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP