关于ttserver, mongodb, couchbase. ssdb ,tair, leveldb的一点使用体验
2年前使用的ttserver,性能很高,支持分布式,但稳定性不足,当存储容量达到亿级的时间经常会出现无法插入的情况,而且不知道是什么原因造成的错误,重启后也无济于事,只好重启开新库。
单库写入性能 2000/sec,当数据量增大到亿级的时候,只是轻微的降低。
双库写入性能 2000/sec,当数据量增大到亿级的时候,只是轻微的降低。
单与双对写入性能影响不大。
然后开始使用mongodb,mongodb支持分布式也支持分片,可以说功能相当强大,但在我的服务器环境中(机械硬盘)插入速度却是非常慢(10/sec)
单库写入性能 12/sec。
双库写入性能 10/sec。
couchbase 支持分布式集群,也支持多数据中心同步,且任意一台机器都可以既读又写,而且支持web管理,非常方便。
不足之处,就是内存占用非常高,cpu也特别高,而且当数据量达到1000多万的时候还写swap。
博客园也使用了couchbase。
博客园关于couchbase的cpu负载高的说明:http://www.cnblogs.com/cmt/archive/2013/05/21/3090761.html
竞然是因为一个久拖而未解的bug引起的,这在生产环境下怎么用呀。
最后使用的是google的leveldb,总共发现了两个方案,一是taobao的tair(http://tair.taobao.org/), 一是ssdb(http://www.ideawu.com/ssdb/)
tair是taobao开发的,有多人在维护,是一个团队项目,支持分布式/负载均衡/failover,底层库支持redis/leveldb, 功能可以说是非常优秀,但缺点是客户端只支持java和c++,如果要在php中使用,需要自己开发接口。但对小团队来说,这是一个非常大的问题。还有就是文档不详尽,因为功能丰富,所以配制起来相对来说复杂,因为文档不详尽, 所以配制过程麻烦挺多。
对ssdb,开发主力也即作者自己,但主流语言的客户端都支持(php/python),性能之高就不用说了,资源占用也特别的低,还支持分布式,配制起来非常方便,只需要修改一个文件,而且这个文件只有10几行。缺点说是文档比较分散,哪里都有,也不知道哪个是官方文档。
对于tair,感觉纯粹为了开源而开源,开源后的支持工作做的不到位,ssdb则完全面向开发者,感觉是真正的开源软件,适合创业团队使用。
以上为个人的使用体验,如有不足之处,还请多多指教。
关于ttserver, mongodb, couchbase. ssdb ,tair, leveldb的一点使用体验的更多相关文章
- leveldb 性能、使用场景评估
最近有个业务写远远大于读,读也集中在最近写入,这不很适合采用leveldb存储么,leveldb业界貌似ssdb用得挺广,花了两天时间就ssdb简单做下测试,以下总结. ssdb 是leveldb的r ...
- Tair LDB基于Prefixkey中期范围内查找性能优化项目总结
"Tair LDB基于Prefixkey该范围内查找性能优化"该项目是仅一个月.这个月主要是熟悉项目..以下从几个方面总结下个人在该项目上所做的工作及自己的个人所得所感. 项目工作 ...
- 全内存的redis用习惯了?使用基于硬盘存储类似redis的nosql产品ssdb呢?
首先说一下背景,在双十一的时候,我们系统接受X宝的订单推送,同事原先的实现方式是使用redis的List作为推送数据的承载,在非大促的场景下, 一切运行正常,内存占用大概3-4G,机器是16G内存.由 ...
- 全内存的redis用习惯了?那能突破内存限制类redis产品ssdb呢?
首先说一下背景,在双十一的时候,我们系统接受X宝的订单推送,同事原先的实现方式是使用redis的List作为推送数据的承载,在非大促的场景下, 一切运行正常,内存占用大概3-4G,机器是16G内存.由 ...
- ssdb的高可用,源码分析
ssdb,一个高性能的支持丰富数据结构的 NoSQL 数据库, 用于替代 Redis.——这是其官网的自我介绍. ssdb在leveldb存储库的基础上进行改造和丰富,添加了类似redis操作的接口, ...
- MySQL与MongoDB的区别
一.MongoDB简介 什么是MongoDB ?MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.在高负载的情况下,添加更多的节点,可以保证服务器性能.MongoDB 旨 ...
- 文件缓存tmpfs + 数据缓存SSDB(一)
一.文件缓存tmpfs 1.特性 1) 基于内存的文件系统,RAW+SWAP,虚拟内存 2) tmpfs使用虚拟内存,/dev/shm/使用共享内存 3) 访问速度快,可以动态调整大小 4) 没有持久 ...
- 【MongoDB】6.关于MongoDB存储文件的 命令执行+代码执行
参考:http://www.runoob.com/mongodb/mongodb-gridfs.html 1.命令执行 MongoDB GridFS GridFS 用于存储和恢复那些超过16M(BSO ...
- [转载]MongoDB的真正性能
最近开始研究MySQL和MongoDB,发现这方面资料不多.尤其是真正的说到点子上的文章,太少了. 有一些对比测试的文章基本上都是瞎测,测试方法都测到了马腿上,得出的结论基本上都是NoSQL毫无价值 ...
随机推荐
- windows 命令修改IP
修改ip: netsh -c interface ip set address name="本地连接" source=static addr=192.168.11.100 mask ...
- magento -- 如何为商品分类(category)添加自定义属性
在magento 中,由于使用了强大的EAV设计方法,我们可以很方便的给商品添加任意数量的属性.然而magento 没有给我们提供给商品分类添 加属性的功能.尽管我们知道magento所采用的EAV设 ...
- 特性节点Attribute
深入理解DOM节点类型第六篇——特性节点Attribute document.getElementById('b_results').attributes[0].textContent documen ...
- Hadoop 流
前言 Hadoop流提供了一个API,允许用户使用任何脚本语言编写Map函数或Reduce函数. 本文对此知识点进行介绍. Hadoop流的工作原理 在以前的例子中,Map和Reduce工作都是由类来 ...
- metronic后台模板学习 -- 所用外部插件列表
插件名称 描述 URL jQuery 1.11.0 js库,不用介绍了 http://www.jquery.com jQuery Migrate plugin 1.2.1 jQuery 老版本过渡迁移 ...
- R处理xml文件
最近处理数据的时候需要处理一些xml文件,但是xml文件的格式之前并不是很熟悉.幸好R有一些函数可以帮助快速处理xml文件.其中的xmlToList函数尤其方便,可以使你从陌生的XML迅速回到熟悉的R ...
- WordPress自定义文章页面模板
如果想让某个分类的文章页面样式有别于其它分类,我们可以使用自定义的模板的方法实现.例如,我们准备让名称为 WordPress 的分类文章使用有别于其它分类的模板样式, 首先在所用主题根目录新建一个名称 ...
- CSS 阴影怎么写?
只有CSS3才zh支持阴影效果,ke可以用如下写法:.shadow {-webkit-box-shadow:1px 1px 3px #292929;-moz-box-shadow:1px 1px 3p ...
- Blob 构造函数
Blob 构造函数使 Web 开发人员可直接在客户端上创建或操作 Blob(经常等效于一个文件). 该构造函数在 W3C 的文件 API 规范中进行定义,该规范目前尚处于工作草案阶段.在较早版本的文件 ...
- JavaWeb学习记录(六)——用户登录功能之Session与验证码验证功能的实现
一.产生验证码的工具类 package blank.util; import java.awt.Color;import java.awt.Graphics;import java.awt.image ...