Fjall 2.8

主要观点:Fjall 是可嵌入的基于 LSM 的禁止不安全的 Rust 键值存储引擎,目标是成为可靠、可预测且高性能的通用 KV 存储引擎。
关键信息

  • 批量加载 API 可实现快速插入现有数据集,通过直接访问 LSM 树内部段写入机制,按升序插入可跳过日志、刷新和压缩机制,节省临时内存,该 API 对多种数据迁移和恢复场景有用。
  • 统一缓存 API 解决了设置缓存容量的尴尬问题,内部缓存为统一缓存,可自动处理数据驱逐,无需精确知道索引树与值日志的大小比例。
  • 替换了std::slice::partition_point,修改后的实现在 rustc 1.82左右导致二进制搜索性能下降,新的实现在缓存、随机键场景下恢复了部分读取性能。
  • 2.7 主要是维护更新,无重要新功能。
    重要细节
  • 批量加载基准测试写入 1 亿个单调递增的u128整数键及 100 字节值,展示了不同数据库在相关方面的表现。
  • 缓存示例展示了之前和之后的缓存设置方式及问题。
  • 提及可加入 Discord 服务器交流,以及关注 Fjall 项目。
阅读 9
0 条评论