docs/introduce.md
Pika是DBA和基础架构组联合开发的类Redis 存储系统,所以完全支持Redis协议,用户不需要修改任何代码,就可以将服务迁移至Pika。Pika是一个可持久化的大容量Redis存储服务,兼容string、hash、list、zset、set的绝大接口兼容详情,解决Redis由于存储数据量巨大而导致内存不够用的容量瓶颈,并且可以像Redis一样,通过slaveof命令进行主从备份,支持全同步和部分同步。同时DBA团队还提供了迁移工具, 所以用户不会感知这个迁移的过程,迁移是平滑的。
Pika相对于Redis,最大的不同就是Pika是持久化存储,数据存在磁盘上,而Redis是内存存储,由此不同也给Pika带来了相对于Redis的优势和劣势
由于Pika是基于内存和文件来存放数据, 所以性能肯定比Redis低一些, 但是我们一般使用SSD盘来存放数据, 尽可能跟上Redis的性能。
从以上的对比可以看出, 如果你的业务场景的数据比较大,Redis 很难支撑, 比如大于50G,或者你的数据很重要,不允许断电丢失,那么使用Pika 就可以解决你的问题。 而在实际使用中,Pika的性能大约是Redis的50%。
目前Pika在线上部署并运行了20多个巨型(承载数据与Redis相比)集群 粗略的统计如下:当前每天承载的总请求量超过100亿,当前承载的数据总量约3TB
在 Pika 中先写入 150G 大小的数据,写入 Hash key 50 个,field 1千万级别。 Redis 写入 5G 大小的数据。 Pika:18 个线程 Redis:单线程
Pika 的单线程的性能肯定不如 Redis,Pika 是多线程的结构,因此在线程数比较多的情况下,某些数据结构的性能可以优于 Redis。
开发不需要做任何事,不用改代码、不用替换driver(Pika使用原生redis的driver),什么都不用动,看dba干活就好