关于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毫无价值 ...
随机推荐
- html5zero 网站模板 影片素材
1. http://www.html5zero.com/ HTML5 Zero 收录来自各个网站的网站模版资源,支持响应式网页设计,部分能直接套用于 WordPress.Bootstrap 外,有 M ...
- Nodejs创建https服务器(Windows 7)
为了实验一下WebRTC,搭了个简单的https服务器.说说步骤: 生成OpenSSL证书 使用Nodejs的https模块建立服务器 OpenSSL 证书 我机子Windows 7,安装了Cygwi ...
- 破解 Rith's CrackMe #1(对比IDA查看动态分析中的MFC函数名)
系统 : Windows xp 程序 : Rith's CrackMe #1 程序下载地址 :http://pan.baidu.com/s/1gecW9Qr 要求 : 注册机编写 使用工具 : IDA ...
- Java学习第二天
一.两个常用工具 1.随机生产一个[0,1)之间的数 Math.random() 举例: double box =Math.random(); //产生随机小数 [0,1) System.out.pr ...
- 深入理解JavaScript闭包
Closure 闭包的定义1: <JavaScript高级程序设计>定义闭包:闭包是指有权访问另一个函数作用域中的变量的函数. 创建闭包的常见方式,就是在一个函数内部创建另一个函数. 然而 ...
- 整合Open vSwitch与DNSmasq为虚拟机提供DHCP功能
继上文<Ubuntu14.04安装配置Open vSwitch>安装好Open vSwitch后,这里我们将要创建两个KVM虚拟机,并通过DNSmasq来为这两个虚拟机自动分配私网IP地址 ...
- Core Java Volume I — 4.10. Class Design Hints
4.10. Class Design HintsWithout trying to be comprehensive or tedious, we want to end this chapter w ...
- Core Java Volume I — 4.1. Introduction to Object-Oriented Programming
4.1. Introduction to Object-Oriented ProgrammingObject-oriented programming, or OOP for short, is th ...
- Customize R initiallization in Mac
First, we need to find a "Rprofile" document. locate Rprofile Then we find Rprofile docume ...
- UVa 11246 - K-Multiple Free set
题意大意: 一个{1..n}的集合,求一个子集合,使得元素个数最多,并且不存在有两个元素x * k = y,求出最多的元素个数是多少. 分析: 先要删除k倍的,删除为{k, 2k, 3k, 4k, 5 ...