Home

Awesome

qdb

A fast, high availability, fully Redis compatible store.

Build Status

Redis Command Support

See commands for more.

Install

Install godep

go get github.com/tools/godep

We will use godep to build our application, the godep will be installed in $GOPATH/bin, you may append it to your system path, e.g, $PATH=$PATH:$GOPATH/bin.

Install backend engine support

   cd extern
   ./engine_install.sh 
engine_install.sh will check whether rocksdb/leveldb is installed first, if not, it will install rocksdb/leveldb in standard path `/usr/local/lib`.

You may use `sudo` to run this script for permisson.
    cd extern
    ./golib_install.sh

Install qdb and run

    $ qdb-server -c conf/config.toml -n 4

Benchmark

OS:   Ubuntu SMP x86_64 GNU/Linux
CPU:  Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz(8 cores)
Mem:  16G
Disk: 256G SSD
redis-benchmark against qdb-server (default config, see conf/config.toml)

$ redis-benchmark -q -t set,get,incr,lpush,lpop,sadd,spop,lpush,lrange -c 100 -p 6380 -r 1000 -n 100000
SET: 19516.00 requests per second
GET: 37979.49 requests per second
INCR: 18875.05 requests per second
LPUSH: 26730.82 requests per second
LPOP: 22862.37 requests per second
SADD: 27012.43 requests per second
SPOP: 21547.08 requests per second
LPUSH (needed to benchmark LRANGE): 24906.60 requests per second
LRANGE_100 (first 100 elements): 1492.94 requests per second
LRANGE_300 (first 300 elements): 552.51 requests per second
LRANGE_500 (first 450 elements): 414.38 requests per second
LRANGE_600 (first 600 elements): 319.44 requests per second

FAQ

See FAQ for more.