推薦 Go 實戰專案—高效能 kv 資料庫 LotusDB

roseduan發表於2022-01-24

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

相關文章