leveldb原始碼剖析1 1 基礎概述之原始碼搭建

2021-10-08 19:39:27 字數 263 閱讀 1003

leveldb是乙個開源的單機kv儲存庫,其作者是谷歌工程師jeff dean和sanjay ghemawat。很多開源lsm儲存引擎都基於或使用leveldb,例如rocksdb。

關鍵原始碼目錄介紹:

其中,db和table是功能的核心,部分資料結構在util中。如果沒做過資料庫引擎的人,建議看**以db目錄為起點;然後基於api使用用例閱讀和理解**。

此外,還有其他benchmarks(基準測試)、helpers(env的乙個具體實現)、doc(文件)等目錄。

leveldb原始碼剖析 編碼

leveldb是乙個google出品的單機kv資料庫。用c 編寫,量很小,大概只有1 2萬行。寫的可以用優雅來形容,毫無疑問是我至今看到的最優雅的c 而且由於 量比較小,可以直接通讀整個原始碼,了解乙個完整的kv系統的構建流程。是乙個很好的學習材料。這也是我第一次讀資料庫方面的原始碼,嘗試用部落格記...

LevelDB原始碼剖析之Memtable 1

memtable是leveldb很重要的一塊,leveldb的核心之一。我們肯定關注kv資料在memtable中是如何組織的,秘密在skip list中。在leveldb中,所有記憶體中的kv資料都儲存在memtable中,物理disk則儲存在sstable中。在系統執行過程中,如果memtable...

SQLITE原始碼剖析 11

應用程式必須在關閉sqlite3物件前,sqlite3 finalize finalize 所有的與該物件相關的 prepared statements 必須 sqlite3 blob close close 所有的與該物件相關的 blob handles blob大二進位制控制代碼 and sql...