Skip to content

Yra-A/Yra-kvDB

Repository files navigation

Yra-kvDB

概述

Yra-kvDB 是一个高性能、基于 Bitcask 存储模型的 KV 数据库,兼容 Redis 数据结构和协议。该项目旨在提供一个快速、稳定、高效的数据存储和检索解决方案。

主要特性

  1. 高性能 Bitcask 存储模型:通过预写日志的方式,确保每次写入都是顺序 IO,从而达到高吞吐量和低读写放大的特性。
  2. 持久化:数据的持久化,确保数据的可靠性和可恢复性。
  3. 多种内存索引结构:提供高效、快速数据访问。
  4. 并发控制:采用锁机制,确保数据的一致性和并发访问的正确性。
  5. 性能比较:与 leveldb、bolt、badger、sled 等相比,读写性能稳定快速,与 redis 基本保持在一个数量级,但大大节省内存空间。
  6. 简洁直观的用户 API:提供基础的 Put/Get/Delete 等接口,支持 HTTP 接口进行数据访问,并允许通过 redis client 直接访问。

适用场景

  1. 缓存系统:作为缓存系统的后端存储,提供快速的数据访问和响应能力。
  2. 日志存储:将日志数据持久化到磁盘上的日志文件中。
  3. Key 小 Value 大的 KV 数据存储:利用磁盘的大容量,存储大的 Value。

优缺点

优点

  • 读写低延迟
  • 高吞吐量
  • 可处理大于内存的数据集
  • 简单的备份流程
  • 批处理操作的原子性、一致性和持久性

缺点

  • 所有的 key 必须在内存中维护
  • 启动速度受数据量的影响

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages