推荐 Go 实战项目—高性能 kv 数据库 LotusDB

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

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

如果你想学习 Go 语言,这也是绝佳的项目之一。
项目地址:
github.com/flower-corp/lotusdb

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

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

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

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

本作品采用《CC 协议》,转载必须注明作者和本文链接
roseduan
讨论数量: 1

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!