跳转到内容

替代品 Pika

Pika 是 360 开源的类 Redis 存储系统。主要解决的是用户使用 Redis 的内存大小超过 50G、80G 等等这样的情况,会遇到启动恢复时间长,一主多从代价大,硬件成本贵,缓冲区容易写满等问题。Pika 就是针对这些场景的一个解决方案。

Pika 底层采用了 rocksdb 作为存储引擎。数据库基于内存和文件,所以性能要比 Redis 低。但是 Pika 目标并不是取代redis, 而是 redis 的一个补充. 是在使用 redis 容量过大的场景下面的一个解决方案。

优缺点

优点:

  • 节约成本,占用内存较小,写入数据达到 700 GB 后,占用内存在 7GB 左右
  • 采用 snappy 压缩数据,数据压缩比较大,写入数据达到 700GB 后,占用磁盘约为 110 GB 左右
  • 重新启动后恢复数据的过程很快,没有redis 将数据加载到内存的过程
  • 多线程,不会像 Redis 一样由于某个耗时操作导致后面操作阻塞的现象
  • 自带持久化
  • 官方支持 Docker 部署

缺点:

  • 严重依赖磁盘 IO 性能,注意不同实例写入同一块盘时的影响
  • lsm tree 普遍存在的 IO 放大问题
  • 不支持 multi exec 的事务操作
  • list 相关操作性能比 Redis 差
  • compact 时较大的影响写入性能
  • 极限性能下对 cpu 的压力较大