高性能 KV 数据库—LotusDB

lotusdb 是一个结合 LSM 和 B+ 树优势的 kv 存储引擎,具备读写快速稳定、读写放大和空间放大极低、简洁优雅的特点。

如果你苦于 CRUD 无法自拔,想造轮子、写数据库、写底层存储引擎,想成为一个内功深厚的程序员的话,这个项目就是为你量身打造的。

如果你想学习 Go 语言,这也是绝佳的项目之一。

有以下几大特点你可以学习:

  • 代码简洁规范
  • 涵盖大多数 Go 语言基础用法和高级特性
  • 单元测试编写技巧
  • 理解和实践常见 kv 存储模型(LSM 和 B+ 树)
  • 数据库设计理念
  • 底层基础知识实践(操作系统、文件、磁盘)

lotusdb 把 LSM Tree 当中最复杂的 SSTable 以及 compaction 操作完全去掉了,大大降低了学习和自己手撸 LSM Tree 的门槛,相信通过这个项目,你可以走上成为一个内功深厚的高手之路!

ps. 目前这个项目刚起步不久,相关的文档还在撰写和完善中,后续会出一个完整的 LotusDB 设计与实现 的系列文章,欢迎关注项目的后续更新。

1 个赞