Introduction中文
Pika is a persistent huge storage service , compatible with the vast majority of redis interfaces (details), including string, hash, list, zset, set and management interfaces. With the huge amount of data stored, redis may suffer for a capacity bottleneck, and pika was born for solving it. Except huge storage capacity, pika also support master-slave mode by slaveof command, including full and partial synchronization. You can alse use pika in twemproxy or codis(pika has supported data migration in codis,thanks left2right) for distributed Redis solution
- huge storage capacity
- compatible with redis interface, you can migrate to pika easily
- support master-slave mode (slaveof)
- various management interfaces
- optimize engine nemo to improve list performance
- snappy - a library for fast data compression
- protobuf - google protobuf library
Upgrade your gcc to version at least 4.8 to get C++11 support.
-
linux - Centos 5&6
-
linux - Ubuntu
If it comes to some missing libs, install them according to the prompts and retry it.
Upgrade your gcc to version at least 4.8 to get C++11 support.
Get source code recursive, then pika will pull all submodules
git clone https://github.com/Qihoo360/pika.git
Then compile pika
make
./output/bin/pika -c ./conf/pika.conf
2 same hardware server, one for running pika, the other for running redis-benchmark
CPU: 24 Cores, Intel(R) Xeon(R) CPU E5-2630 v2 @ 2.60GHz
MEM: 165157944 kB
OS: CentOS release 6.2 (Final)
NETWORK CARD: Intel Corporation I350 Gigabit Network Connection
Set, Get
run pika with 16 work threads, run redis-benchmark on another server as follow:
./redis-benchmark -h ... -p ... -n 1000000000 -t set,get -r 10000000000 -c 120 -d 200
execute 1 billion Set and 1 billion Get commands altogether
Set
1000000000 requests completed in 11890.80 seconds
18.09% <= 1 milliseconds
93.32% <= 2 milliseconds
99.71% <= 3 milliseconds
99.86% <= 4 milliseconds
99.92% <= 5 milliseconds
99.94% <= 6 milliseconds
99.96% <= 7 milliseconds
99.97% <= 8 milliseconds
99.97% <= 9 milliseconds
99.98% <= 10 milliseconds
99.98% <= 11 milliseconds
99.99% <= 12 milliseconds
...
100.00% <= 19 milliseconds
...
100.00% <= 137 milliseconds
84098.66 requests per second
Get
1000000000 requests completed in 9063.05 seconds
84.97% <= 1 milliseconds
99.76% <= 2 milliseconds
99.99% <= 3 milliseconds
100.00% <= 4 milliseconds
...
100.00% <= 33 milliseconds
110338.10 requests per second
pika vs ssdb (Detail)
Mail: [email protected]
QQ group: 294254078 For more information about Pika, Atlas and some other technology please pay attention to our Hulk platform official account