几个kv数据库的比较

由于业务需要,需要有一种kv数据库支持冷数据落盘,热数据放入到磁盘里。下面几个数据库是这次测试的,而且只是很粗糙很外围的测试。
不涉及到数据类型这些。

核心内容是:

  • 读写性能
  • 同步测试
  • 主从切换
  • 升级扩容
  • 监控

使用的github.com/go-redis/redis/v8这个库来进行的测试。

首先进行的是写入性能的测试

写入的是1KB大小的string,并发3,写入1亿个。

写入时长 整体文件大小 db文件大小 cpu使用率 磁盘吞吐 磁盘写入次数 网络流量
kvrocks 3h6m 108GB 7GB 54% 108MB/s 270次/s 255Mb/s
pika 3h52m 12GB 11GB 50% 54MB/s 110次/s 200Mb/s
ssdb 2h51 36GB 7.2GB 52% 35MB/s 77次/s 284Mb/s

读取的也是1KB的string,并发3,读取一亿个。

读取时长 cpu使用率 磁盘吞吐 磁盘读取次数 网络流量
kvrocks 3h5m 40% 11MB/s最高,平均1M 2200次/s最高 260Mb/s
pika 3h24m 45% 10MB/s最高,平均1M 110次/s最高 250Mb/s
ssdb 2h53m 43% 55MB/s最高,平均1M 900次/s最高 300Mb/s

待续……