SSDB是一个开源的高性能数据库服务器, 使用Google 的 LevelDB作为存储引擎, 大家有可能没听过leveldb的名字,但是淘宝的开源nosql tair大家应该有所耳闻吧,他也是基于leveldb做的开发。ssdb支持T级别的数据, 同时支持类似Redis中的zset和hash等数据结构, 在同时需求高性能和大数据的条件下, 是一个可以代替Redis的方案.
SSDB 的主要特点:
支持 zset, map 数据结构, 可替代 Redis
特别适合存储大量集合数据
使用 Google LevelDB 作为存储引擎
支持主从同步, 多主同步
客户端支持 PHP, C++, Python, Lua, Java, Ruby, nodejs, Go 等
内存占用极少
php客户端使用实例
|
1
2
3
4
5
6
|
<?phprequire_once(‘SSDB.php‘);$ssdb = new SimpleSSDB(‘127.0.0.1‘, 8888);$resp = $ssdb->set(‘key‘, ‘123‘);$resp = $ssdb->get(‘key‘);echo $resp;// output: 123 |
编译安装
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
$ wget --no-check-certificate https://github.com/ideawu/ssdb/archive/master.zip$ unzip master$ cd ssdb-master$ make$#optional, install ssdb in /usr/local/ssdb$ sudo make install# start master$ ./ssdb-server ssdb.conf# or start as daemon$ ./ssdb-server -d ssdb.conf# ssdb command line$ ./tools/ssdb-cli -p 8888# stop ssdb-server$ kill `cat ./var/ssdb.pid` |
性能
一千个请求
|
1
2
3
4
|
writeseq : 0.546 ms/op 178.7 MB/swriterand : 0.519 ms/op 188.1 MB/sreadseq : 0.304 ms/op 321.6 MB/sreadrand : 0.310 ms/op 315.0 MB/s |
ssdb 对比 redis
并发访问指标
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
========== set ==========qps: 44251, time: 0.226 s========== get ==========qps: 55541, time: 0.180 s========== del ==========qps: 46080, time: 0.217 s========== hset ==========qps: 42338, time: 0.236 s========== hget ==========qps: 55601, time: 0.180 s========== hdel ==========qps: 46529, time: 0.215 s========== zset ==========qps: 37381, time: 0.268 s========== zget ==========qps: 41455, time: 0.241 s========== zdel ==========qps: 38792, time: 0.258 s |
架构
github地址https://github.com/ideawu/ssdb

