KitDB

KitDB是一个内嵌式持久型的 高速NoSQL存储 lib,以jar 包方式嵌入到应用中。KitDB提供了丰富的数据结构和功能,请见:

KitDB的功能

特性

  • 嵌入式: jar 包方式嵌入到应用中
  • 容量大:没有内存限制, 最大使用空间等于磁盘空间的大小
  • 速度快:读写速度都非常快,最高可提供高百万级的查询和十万级的写入,良好的多线程支持

数据结构

  • Key-Value
  • List
  • Map
  • Set
  • ZSet(有序集合)
  • Sequence(递增序列)
  • SeqList(高速顺序写入列表)

高级功能

  • TTL(过期时间)
  • 备份
  • BinLog
  • ACID事务
  • 多节点强一致性等(Raft)

KitDB可以做什么

通过使用KitDB提供的高速磁盘存储和便利的数据结构。你可以快速解决项目的本地储存问题。KitDB还提供了多节点一致性插件,可以帮助你解决多节点或分布式应用的一致性存储问题。

目前KitDB已经在如下领域使用:

  • 应用的本地缓存
  • 较大数据量计算时的本地存储和缓冲
  • 中间件的数据存储

性能

和Redis对比

redis运行redis-benchmark -q -n 100000介绍 - 图1

基准性能

以K-V的性能作为基准性能,记录value大小不同时,不同数量下的读写性能测试服务器使用阿里云ESC:本地SSD型 ecs.i2g.2xlarge

X轴:10W、50W、100W、200W、500W 数据量Y轴:每秒对应操作处理的K-V的个数

单Value大小10B

介绍 - 图2

单Value大小1KB

介绍 - 图3

单Value大小10KB

介绍 - 图4