编辑词条分享
新知社
新浪微博
人人网
腾讯微博
移动说客
网易微博
开心001
天涯
本词条由Valian创建,共有1位协作者编辑了1次。最新协作者:Valian。
请用一段简单的话描述该词条,马上添加摘要。
目录
1 基本结构
2 编译以及安装
3 性能测试
1 基本结构
2 编译以及安装
3 性能测试
为本词条添加视频和组图相关影像故名思义就是memcached+bdb,是基于memcachedSocket层和berkeley-db存储层结构的实现,是新浪互动社区技术团队2007年的一项重大的技术成果,现在应用于新浪互动社区多个产品线中,其中包括新浪博客等重头产品。通过该系统能够实现任意memcachedapi的调用、数据实时落地以及主辅实时备份等功能。
Memcachedb - 基本结构
Memcachedb是一款支持高并发的分布式持久存储系统,对任何原有memcached客户端来讲,它仍旧是个memcached,但是,它的数据是可以持久存储的。
前端:memcached的网络层
后端:BerkeleyDB存储
写速度:从本地服务器通过memcache客户端(libmemcache)set2亿条16字节长的key,10字节长的Value的记录,耗时16572秒,平均速度12000条记录/秒。
读速度:从本地服务器通过memcache客户端(libmemcache)get100万条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(forreplication)
Memcachedb
Memcachedb - 编译以及安装
1.先安装libevent:
#tarzxvflibevent-1.2.tar.gz
#cdlibevent-1.2
#./configure–prefix=/usr
#make
#makeinstall
2.测试libevent是否安装成功:
#ls-al/usr/lib|greplibevent
lrwxrwxrwx1rootroot2111??1217:38libevent-1.2.so.1->libevent-1.2.so.1.0.3
-rwxr-xr-x1rootroot26354611??1217:38libevent-1.2.so.1.0.3
-rw-r–r–1rootroot45415611??1217:38libevent.a
-rwxr-xr-x1rootroot81111??1217:38libevent.la
lrwxrwxrwx1rootroot2111??1217:38libevent.so->libevent-1.2.so.1.0.3
还不错,都安装上了。
3.安装BerkeleyDb
tar-zxvfdb-4.6.19.tar.gz
#需要进入特定操作系统编译环境,更常规软件的编译有些区别
cddb-4.6.19/build_unix/
#然后才能够开始编译
../dist/configure
make&&makeinstall
#如果没有指定特殊安装路径,编译完成,需要将BerkeleyDb运行库的路径添加到系统配置里面
echo"/usr/local/BerkeleyDB.4.6/lib/">>/etc/ld.so.conf
#重载系统Ld运行库
ldconfig
4.安装memcachedb,同时需要安装中指定libevent的安装位置:
#cd/tmp
#tar-zxvfmemcachedb-1.0.3.tar.gz
#cdmemcachedb-1.0.3
#./configure–with-libevent=/usr
#make
#makeinstall
如果中间出现报错,请仔细检查错误信息,按照错误信息来配置或者增加相应的库或者路径。
安装完成后会把memcachedb放到/usr/local/bin/memcachedb,
5.测试是否成功安装memcachedb:
#ls-al/usr/local/bin/mem*
-rwxr-xr-x1rootroot13798611??1217:39/usr/local/bin/memcachedb
6.启动memcachedb
memcachedb-p11212-d-r-uroot-l192.168.50.117-H/data/mdb_11212-N-P/tmp/memcachedb.pid
7.如查报BerkeleyDb的文件找不到的可以加上下面这句话
exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/BerkeleyDB.4.6/lib
Memcachedb - 性能测试
1.环境
OS:Linux,Ubuntu7.0464-bit
Memory:4G
CPU:Intel(R)Pentium(R)DCPU2.66GHz
SCSIDISK,ext3filesystem
libevent1.3e
Memcached1.2.4
BerkeleyDB4.6.21
Java1.6.0
memcachedb0.1.1安装方法http://blog.csdn.net/simonlsy/
2.测试方法
client/server在同一机上,使用ethernetinterface连接,不是localhost
本Linux同时在作ADSLroutegateway,可能会对测试造成小量影响。
JAVACLIENT,使用3线程
Key:数字,1~100万
数据:100字节字符串
3.测试结果
Memcached写速度
平均速度:16222次/秒
最大速度18799次/秒
Memcached读速度
平均速度:20971次/秒
最大速度22497次/秒
Memcachedb写速度
平均速度:8958次/秒
最大速度10480次/秒
Memcachedb读速度
平均速度:6871次/秒
最大速度12542次/秒
由于硬件环境,网络环境,线程数,编程语言不同,可能测试结果差别也很大,本测试结果只起相对参考作用。即比较memcached/memcachedb在相同环境下的性能区别。
分享到:
相关推荐
1.1.2.1 大规模的互联网应用:随着互联网用户数量的增加,传统的数据库系统可能无法满足高并发、低延迟的需求,Key-Value Store能很好地解决这个问题。 1.1.2.2 云存储:在云计算环境中,Key-Value Store的分布式...
Redis是一种开源的高性能键值存储系统,常用于构建各种应用程序中的缓存层。它支持多种数据结构,如字符串(strings)、...对于希望在实际项目中利用Redis提高性能和可靠性的开发者来说,这本书提供了一个很好的起点。
主要考虑的因素可能包括它可以很好地服务于大规模互联网应用、云存储解决方案,以及在实际应用案例中Redis的优秀表现。 在"初识Redis"章节,将详细探讨Redis的数据类型,包括但不限于字符串、列表、集合、有序集合...
它不仅被广泛应用于构建高速缓存、消息队列、会话存储等多种系统组件,还能够很好地搭建企业级应用。 文档首先介绍了Key-Value存储系统的基本概念,并对不同的Key-Value存储系统进行了比较,比如Voldemort、Dynamo...
- **云存储**:由于其分布式架构,键值存储可以很好地适应云环境中的动态资源分配和弹性需求。 - **Redis实际应用案例**:通过介绍Redis在不同场景下的实际应用,强调了它的实用性。 #### 1.3 初识Redis Redis提供...
2. **面向文档的数据库**:这类数据库如MongoDB和CouchDB,主要用于处理海量数据的存储需求,同时保证较好的查询性能。它们通常支持JSON格式的数据存储,并提供灵活的数据模型。 3. **面向分布式计算的数据库**:...
3. 键值存储:如Tokyo Cabinet/Tyrant、Berkeley DB、MemcacheDB和Redis,这类数据库以键值对形式存储数据,查询速度快,适用于缓存和快速访问场景。 4. 图存储:如Neo4J、FlockDB,专门用于存储和查询复杂的图形...
例如,Memcachedb的出现引起了广泛关注,随后涌现了Tokyo Cabinet、Redis和Cassandra等著名键值存储解决方案。 分布式键值存储成为关注焦点,其中Dynamo是分布式实现的典型代表。Dynamo的设计理念被许多分布式键值...
- **云存储**:云计算环境下的数据存储对可扩展性和高可用性有较高要求,Key-Value存储系统能够很好地适应这一场景。 - **Redis实际应用案例**:例如实时数据分析、消息队列、会话管理等场景中,Redis都展现出了其...
Dynamo的设计思想对于后续许多NoSQL系统的开发都有很大的影响。 ##### 1.1.3 memcachedb memcachedb是一种基于内存的键值存储系统,它是在memcached的基础上发展起来的。memcachedb不仅支持快速的数据存取,还具备...
- **原因**: Key-Value Store天然适应于分布式环境,易于扩展,能够很好地支持云计算环境下的数据存储需求。 ##### 1.2.3 Redis实际应用案例 - **案例分析**: - **社交网络**: 如Twitter使用Redis进行实时消息的...
NoSQL(Not Only SQL)数据库是一种非关系型数据库管理系统,其设计初衷是为了处理大规模数据存储需求,特别是在大数据和实时Web应用中,NoSQL能够提供更好的可扩展性和灵活性。 #### NoSQL发展背景与动机 NoSQL...
Non-relational)是指一类非关系型数据库管理系统,它与传统的SQL数据库不同,不保证关系数据库的ACID特性(原子性、一致性、隔离性、持久性)以及JOIN操作,但支持动态表结构定义,具有更好的可扩展性。NoSQL数据库...
- **云存储**:云服务环境下,数据存储需要具备高度的可伸缩性和灵活性,Key-Value Store能够很好地适应这种需求。 - **Redis实际应用案例**:包括但不限于实时分析、会话存储、消息队列等应用场景,充分展现了Redis...
而Key-Value Store通过其简单的设计,可以很好地应对这些挑战。 - **云存储**:随着云计算的发展,Key-Value Store因其分布式特性,非常适合部署在云端,能够实现弹性伸缩,适应不同规模的数据存储需求。 - **Redis...
- **优势**: Key-Value存储系统能够很好地支持高并发访问,适用于处理大量用户请求的场景。 ##### 1.2.2 云存储 - **优势**: 提供了灵活的存储解决方案,可以轻松地在云环境中进行水平扩展。 ##### 1.2.3 Redis...