You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Pika is a high-performance, large-capacity, multi-tenant, data-persistent elastic KV data storage system using RocksDB as the storage engine. It is fully compatible with the Redis protocol and supports its commonly used data structures, such as string/hash/list/zset/set/geo/hyperloglog/pubsub/bitmap/stream, etc. [Redis Interface](https://github.com/OpenAtomFoundation/pika/wiki/pika-%E6%94%AF%E6%8C%81%E7%9A%84redis%E6%8E%A5%E5%8F%A3%E5%8F%8A%E5%85%BC%E5%AE%B9%E6%83%85%E5%86%B5).
11
+
PikiwiDB is a high-performance, large-capacity, multi-tenant, data-persistent elastic KV data storage system using RocksDB as the storage engine. It is fully compatible with the Redis protocol and supports its commonly used data structures, such as string/hash/list/zset/set/geo/hyperloglog/pubsub/bitmap/stream, etc. [Redis Interface](https://github.com/OpenAtomFoundation/pika/wiki/pika-%E6%94%AF%E6%8C%81%E7%9A%84redis%E6%8E%A5%E5%8F%A3%E5%8F%8A%E5%85%BC%E5%AE%B9%E6%83%85%E5%86%B5).
12
12
13
-
When Redis's in-memory usage exceeds 16GiB, it faces problems such as limited memory capacity, single-threaded blocking, long startup recovery time, high memory hardware costs, easily filled buffers, and high switching costs when one master and multiple replicas fail. The emergence of Pika is not to replace Redis but to complement it. Pika strives to completely comply with the Redis protocol, inherit Redis's convenient operation and maintenance design, and solve the bottleneck problem of Redis running out of memory capacity once the data volume becomes huge by using persistent storage. Additionally, Pika can support master-slave mode using the slaveof command, and it also supports full and incremental data synchronization.
13
+
When Redis's in-memory usage exceeds 16GiB, it faces problems such as limited memory capacity, single-threaded blocking, long startup recovery time, high memory hardware costs, easily filled buffers, and high switching costs when one master and multiple replicas fail. The emergence of PikiwiDB is not to replace Redis but to complement it. PikiwiDB strives to completely comply with the Redis protocol, inherit Redis's convenient operation and maintenance design, and solve the bottleneck problem of Redis running out of memory capacity once the data volume becomes huge by using persistent storage. Additionally, PikiwiDB can support master-slave mode using the slaveof command, and it also supports full and incremental data synchronization.
14
14
15
-
Pika can be deployed in a single-machine master-slave mode (slaveof) or in a [Codis](https://github.com/OpenAtomFoundation/pika/tree/unstable/codis) cluster mode, allowing for simple scaling and shrinking. Migration from Redis to Pika can be smoothly executed by [tools](https://github.com/OpenAtomFoundation/pika/tree/unstable/tools).
15
+
PikiwiDB can be deployed in a single-machine master-slave mode (slaveof) or in a [Codis](https://github.com/OpenAtomFoundation/pika/tree/unstable/codis) cluster mode, allowing for simple scaling and shrinking. Migration from Redis to PikiwiDB can be smoothly executed by [tools](https://github.com/OpenAtomFoundation/pika/tree/unstable/tools).
16
16
17
-
## Pika Features
17
+
## PikiwiDB Features
18
18
19
19
***Protocol Compatibility**: Fully compatible with the Redis protocol, emphasizing high performance, large capacity, low cost, and scalability.
20
20
***Data Structures**: Supports Redis's common data structures, including String, Hash, List, Zset, Set, Geo, Hyperloglog, Pubsub, Bitmap, Stream, ACL, etc.
21
21
***Cold and Hot Data**: Caches hot data and persistently stores the full data in RocksDB, implementing a hierarchical storage of cold and hot data.
22
-
***High Capacity**: Compared to Redis's in-memory storage, Pika supports data volumes in the hundreds of gigabytes, significantly reducing server resource consumption and enhancing data reliability.
22
+
***High Capacity**: Compared to Redis's in-memory storage, PikiwiDB supports data volumes in the hundreds of gigabytes, significantly reducing server resource consumption and enhancing data reliability.
23
23
***Deployment Modes**: Supports single-machine master-slave mode (slaveof) and Codis cluster mode, making scaling and shrinking simple.
24
-
***Easy Migration**: Smooth migration from Redis to Pika without modifying code.
24
+
***Easy Migration**: Smooth migration from Redis to PikiwiDB without modifying code.
25
25
***Convenient Operation and Maintenance**: Comprehensive operation and maintenance command documentation.
26
26
27
-
## Pika Storage Engine Architecture
27
+
## PikiwiDB Storage Engine Architecture
28
28
29
29
* Supports multiple platforms: CentOS, Ubuntu, macOS, Rocky Linux
30
30
* Multi-threaded model
@@ -40,17 +40,17 @@ Pika can be deployed in a single-machine master-slave mode (slaveof) or in a [Co
40
40
* Each data structure uses a separate RocksDB instance
@@ -85,25 +85,25 @@ Pika can be deployed in a single-machine master-slave mode (slaveof) or in a [Co
85
85
</tr>
86
86
</table>
87
87
88
-
Pika has been widely adopted by various companies for internal deployments, demonstrating its scalability and reliability. Some notable usage instances include:
88
+
PikiwiDB has been widely adopted by various companies for internal deployments, demonstrating its scalability and reliability. Some notable usage instances include:
89
89
90
90
***360 Company**: Internal deployment with a scale of 10,000+ instances, each having a data volume of 1.8TB.
91
91
***Weibo**: Internal deployment with 10,000+ instances.
92
92
***Ximalaya(Xcache)**: 6,000+ instances with a massive data volume exceeding 120TB.
93
93
***Getui (个推) Company**: Internal deployment involving 300+ instances, with a cumulative data volume surpassing 30TB.
94
94
95
-
Additionally, Pika is utilized by companies such as Xunlei, Xiaomi, Zhihu, New Oriental Education & Technology Group (好未来), Kuaishou, Sohu, Meituan, Maimai, and more. For a comprehensive list of users, you can refer to the official list provided by the Pika project.
95
+
Additionally, PikiwiDB is utilized by companies such as Xunlei, Xiaomi, Zhihu, New Oriental Education & Technology Group (好未来), Kuaishou, Sohu, Meituan, Maimai, and more. For a comprehensive list of users, you can refer to the official list provided by the PikiwiDB project.
96
96
97
-
These deployments across a diverse range of companies and industries underscore Pika's adaptability and effectiveness in handling large-scale, high-volume data storage requirements.
97
+
These deployments across a diverse range of companies and industries underscore PikiwiDB's adaptability and effectiveness in handling large-scale, high-volume data storage requirements.
98
98
99
99
[More](docs/USERS.md)
100
100
101
101
102
-
## Getting Started with Pika
102
+
## Getting Started with PikiwiDB
103
103
104
104
### 1. Binary Package Installation
105
105
106
-
Users can directly download the latest binary version package from [releases](https://github.com/Qihoo360/pika/releases).
106
+
Users can directly download the latest binary version package from [releases](https://github.com/Qihoo360/pikiwidb/releases).
107
107
108
108
### 2. Compilation from Source
109
109
@@ -126,7 +126,7 @@ Users can directly download the latest binary version package from [releases](ht
# Choose DUSE-PIKA-TOOLS ON or OFF based on whether you need to recompile the tool
198
198
@@ -205,7 +205,7 @@ Users can directly download the latest binary version package from [releases](ht
205
205
```bash
206
206
#1.Start a Ubuntu container locally
207
207
208
-
sudo docker run -v /Youer/Path/pika:/pika --privileged=true -it ubuntu:latest
208
+
sudo docker run -v /Youer/Path/pikiwidb:/pikiwidb --privileged=true -it ubuntu:latest
209
209
210
210
/bin/bash
211
211
@@ -222,7 +222,7 @@ Users can directly download the latest binary version package from [releases](ht
222
222
cmake --build debug --config Debug -j8
223
223
```
224
224
225
-
* #### 2.4 Start Pika
225
+
* #### 2.4 Start PikiwiDB
226
226
227
227
```bash
228
228
./output/pika -c ./conf/pika.conf
@@ -244,9 +244,9 @@ Users can directly download the latest binary version package from [releases](ht
244
244
rm -rf output # regenerate cmake
245
245
```
246
246
247
-
* #### 2.6 Pika Development Debugging
247
+
* #### 2.6 PikiwiDB Development Debugging
248
248
249
-
[Setting up Pika Development Environment with CLion](./docs/ops/SetUpDevEnvironment.md)
249
+
[Setting up PikiwiDB Development Environment with CLion](./docs/ops/SetUpDevEnvironment.md)
250
250
251
251
### 3. Containerization
252
252
@@ -316,7 +316,7 @@ docker-compose.yaml
316
316
317
317
> Note: The test results were obtained under specific conditions and scenarios, and may not represent the performance in all environments and scenarios. They are for reference only.
318
318
319
-
__We recommend that you conduct detailed testing of Pikain your own environment based on the usage scenario to assess whether Pika meets your requirements.__
319
+
__We recommend that you conduct detailed testing of PikiwiDBin your own environment based on the usage scenario to assess whether PikiwiDB meets your requirements.__
320
320
321
321
### 1. Test environment
322
322
@@ -326,7 +326,7 @@ __We recommend that you conduct detailed testing of Pika in your own environment
326
326
* Disk: 3TB Flash
327
327
* Network: 10GBase-T/Full * 2
328
328
* Operating System: CentOS 6.6
329
-
*Pika Version: 2.2.4
329
+
*PikiwiDB Version: 2.2.4
330
330
331
331
### 2. Benchmarking Tool
332
332
@@ -339,11 +339,11 @@ __We recommend that you conduct detailed testing of Pika in your own environment
339
339
340
340
*##### Test Objective
341
341
342
-
Evaluate the upper limit of QPS forPika under different worker thread counts.
342
+
Evaluate the upper limit of QPS forPikiwiDB under different worker thread counts.
343
343
344
344
*##### Test Conditions
345
345
346
-
*Pika Data Size: 800GB
346
+
*PikiwiDB Data Size: 800GB
347
347
* Value: 128 bytes
348
348
* CPU not bound
349
349
@@ -352,22 +352,22 @@ Evaluate the upper limit of QPS for Pika under different worker thread counts.
0 commit comments