Yra-kvDB 是一个高性能、基于 Bitcask 存储模型的 KV 数据库,兼容 Redis 数据结构和协议。该项目旨在提供一个快速、稳定、高效的数据存储和检索解决方案。
- 高性能 Bitcask 存储模型:通过预写日志的方式,确保每次写入都是顺序 IO,从而达到高吞吐量和低读写放大的特性。
- 持久化:数据的持久化,确保数据的可靠性和可恢复性。
- 多种内存索引结构:提供高效、快速数据访问。
- 并发控制:采用锁机制,确保数据的一致性和并发访问的正确性。
- 性能比较:与 leveldb、bolt、badger、sled 等相比,读写性能稳定快速,与 redis 基本保持在一个数量级,但大大节省内存空间。
- 简洁直观的用户 API:提供基础的 Put/Get/Delete 等接口,支持 HTTP 接口进行数据访问,并允许通过 redis client 直接访问。
- 缓存系统:作为缓存系统的后端存储,提供快速的数据访问和响应能力。
- 日志存储:将日志数据持久化到磁盘上的日志文件中。
- Key 小 Value 大的 KV 数据存储:利用磁盘的大容量,存储大的 Value。
- 读写低延迟
- 高吞吐量
- 可处理大于内存的数据集
- 简单的备份流程
- 批处理操作的原子性、一致性和持久性
- 所有的 key 必须在内存中维护
- 启动速度受数据量的影响