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的一点使用体验的更多相关文章

  1. leveldb 性能、使用场景评估

    最近有个业务写远远大于读,读也集中在最近写入,这不很适合采用leveldb存储么,leveldb业界貌似ssdb用得挺广,花了两天时间就ssdb简单做下测试,以下总结. ssdb 是leveldb的r ...

  2. Tair LDB基于Prefixkey中期范围内查找性能优化项目总结

    "Tair LDB基于Prefixkey该范围内查找性能优化"该项目是仅一个月.这个月主要是熟悉项目..以下从几个方面总结下个人在该项目上所做的工作及自己的个人所得所感. 项目工作 ...

  3. 全内存的redis用习惯了?使用基于硬盘存储类似redis的nosql产品ssdb呢?

    首先说一下背景,在双十一的时候,我们系统接受X宝的订单推送,同事原先的实现方式是使用redis的List作为推送数据的承载,在非大促的场景下, 一切运行正常,内存占用大概3-4G,机器是16G内存.由 ...

  4. 全内存的redis用习惯了?那能突破内存限制类redis产品ssdb呢?

    首先说一下背景,在双十一的时候,我们系统接受X宝的订单推送,同事原先的实现方式是使用redis的List作为推送数据的承载,在非大促的场景下, 一切运行正常,内存占用大概3-4G,机器是16G内存.由 ...

  5. ssdb的高可用,源码分析

    ssdb,一个高性能的支持丰富数据结构的 NoSQL 数据库, 用于替代 Redis.——这是其官网的自我介绍. ssdb在leveldb存储库的基础上进行改造和丰富,添加了类似redis操作的接口, ...

  6. MySQL与MongoDB的区别

    一.MongoDB简介 什么是MongoDB ?MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.在高负载的情况下,添加更多的节点,可以保证服务器性能.MongoDB 旨 ...

  7. 文件缓存tmpfs + 数据缓存SSDB(一)

    一.文件缓存tmpfs 1.特性 1) 基于内存的文件系统,RAW+SWAP,虚拟内存 2) tmpfs使用虚拟内存,/dev/shm/使用共享内存 3) 访问速度快,可以动态调整大小 4) 没有持久 ...

  8. 【MongoDB】6.关于MongoDB存储文件的 命令执行+代码执行

    参考:http://www.runoob.com/mongodb/mongodb-gridfs.html 1.命令执行 MongoDB GridFS GridFS 用于存储和恢复那些超过16M(BSO ...

  9. [转载]MongoDB的真正性能

    最近开始研究MySQL和MongoDB,发现这方面资料不多.尤其是真正的说到点子上的文章,太少了. 有一些对比测试的文章基本上都是瞎测,测试方法都测到了马腿上,得出的结论基本上都是NoSQL毫无价值 ...

随机推荐

  1. FTP服务器移动文件目录

    已经可以移动文件了,原因是路径问题.还是用的Rename方法.原因是RenameTo=“”;这里的路径之前没包含文件名,而且相对路径和绝对路径都没弄对,所以之前一直不相信别人说的Rename可以移动文 ...

  2. 八、CCMenu和CCMenuItem

    游戏中经常会提供一些菜单项让用户开始游戏.暂停\继续游戏.打开\关闭音乐或者是返回到上一个界面,比如下面两张图中用红色线框标记的菜单项     我们可以使用CCMenu和CCMenuItem实现上述的 ...

  3. struts2 中的 result 返回类型是 json 的配置问题

    struts2 中的 result 返回类型是 json 的配置问题 1.引入包(本文中的包全部引自struts-2.1.8.1\lib): struts2-json-plugin-2.1.8.1.j ...

  4. PHP字符串——编码与转义

    因为PHP程序经常与HTML页.Web地址(URL)以及数据库交互,所以PHP提供一些函数来帮助你处理这些类型的数据.HTML.Web页地址和数据库命令都是字符串,但是它们每个都要求不同的字符以不同的 ...

  5. Linux TC (traffic control)

    在着手学习TC采用如下单位来描述带宽: mbps = 1024 kbps = 1024 * 1024 bps => byte/s mbit = 1024 kbit => kilo bit/ ...

  6. 递归神经网络(RNN,Recurrent Neural Networks)和反向传播的指南 A guide to recurrent neural networks and backpropagation(转载)

    摘要 这篇文章提供了一个关于递归神经网络中某些概念的指南.与前馈网络不同,RNN可能非常敏感,并且适合于过去的输入(be adapted to past inputs).反向传播学习(backprop ...

  7. SpringMVC4零配置--Web上下文配置【MvcConfig】

    与SpringSecurity的配置类似,spring同样为我们提供了一个实现类WebMvcConfigurationSupport和一个注解@EnableWebMvc以帮助我们减少bean的声明. ...

  8. AtCoder Regular Contest 061

    AtCoder Regular Contest 061 C.Many Formulas 题意 给长度不超过\(10\)且由\(0\)到\(9\)数字组成的串S. 可以在两数字间放\(+\)号. 求所有 ...

  9. spring源码学习之:xml标签扩展配置例子

    在很多情况下,我们需要为系统提供可配置化支持,简单的做法可以直接基于Spring的标准Bean来配置,但配置较为复杂或者需要更多丰富控制的 时候,会显得非常笨拙.一般的做法会用原生态的方式去解析定义好 ...

  10. 论文笔记之:Semi-Supervised Learning with Generative Adversarial Networks

    Semi-Supervised Learning with Generative Adversarial Networks 引言:本文将产生式对抗网络(GAN)拓展到半监督学习,通过强制判别器来输出类 ...