Hasty Briefsbeta

双语

Filedb: Disk Based Key-Value Store Inspired by Bitcask

a year ago
  • #Zig
  • #database
  • #Bitcask
  • FileDB是受Riak1论文启发的Bitcask的Zig语言实现
  • 它采用日志结构哈希表存储记录元数据,并保持一个磁盘文件始终处于追加写入状态
  • 在重启或达到MAX_FILE_REACHED时进行文件轮转,旧文件转为只读模式
  • 定期执行压缩操作合并磁盘文件并更新元数据哈希表
  • 同步进程按配置间隔或每次请求时同步打开的磁盘文件
  • 元数据通过精确记录文件位置实现O(1)复杂度检索
  • 内存中的元数据体积恒定,与记录值大小无关
  • 仅追加(append-only)模式保障高吞吐量
  • 提供初始化/销毁/存储/获取/删除/列表/同步/哈希表存储/键目录加载等功能
  • 包含兼容Redis的客户端及性能基准测试
  • 基准测试显示set/get操作具有高吞吐量
  • 附有Zig编程相关资源参考