Skip to content

Releases: JameyWoo/gokv

v1.0.0

03 Mar 08:15
Compare
Choose a tag to compare

使用sstable作为磁盘存储的正式版本. 实现了一下功能

  1. 对sstable的读和写, 并集成到 DB 的读写中
  2. 实现了 compaction, 包括 minor 以及 major compaction. compaction思想是模仿leveldb, 是分级的compaction
  3. 实现了基本的 manifest 功能, 其还有部分的优化空间

接下来需要实现的是

  1. 缓存功能的实现
  2. 优化 compaction, 使其能够合理输出多个而不是一个文件, 这样可以减少高层文件的频繁重写
  3. 规范的常量定义
  4. 项目文件的重新组织

v0.2.0

22 Jan 06:33
Compare
Choose a tag to compare
v0.2.0 Pre-release
Pre-release

v0.2.0

  • 读取一个配置文件
  • 有序SSTable结构
  • 使用标准使用接口(如参考leveldb)改造项目调用方式
  • 实现完整的key-value结构, 包括时间戳
  • 实现基于WAL的故障恢复(启动时从内存恢复)
  • 设计实现varint可变长度编码
  • SkipList版 Memstore

v0.1.0

22 Jan 06:34
Compare
Choose a tag to compare
v0.1.0 Pre-release
Pre-release

v0.1.0

  • 接口: Get, Put, Delete, Scan
  • 布隆过滤器算法版 (暂不集成)
  • map版 Memstore
  • 基本SSTable结构 (追加, 无序, 递增文件序号)
  • LSM-Tree结构
  • 实现WAL存储 (暂不实现故障恢复功能)