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 協議》,轉載必須註明作者和本文連結