原文来自于:http://hao.jobbole.com/ssdb%EF%BC%9A%E5%BF%AB%E9%80%9F%E5%8F%96%E4%BB%A3redis%E7%9A%84nosql/
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
|
<?php require_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/s
writerand : 0.519 ms/op 188.1 MB/s
readseq : 0.304 ms/op 321.6 MB/s
readrand : 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