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