leveldb原始碼分析1

2021-06-02 17:02:49 字數 644 閱讀 2117

leveldb是乙個key/value型的儲存引擎,由google開發,並宣布在bsd許可下開放源**。

plain**

git clone   

plain**

cd leveldb  

make all  

此時生成libleveldb.a庫檔案。拷貝leveldb的標頭檔案到/usr/include下

plain**

cp -r ./include/leveldb /usr/include/  

即完成leveldb的安裝工作

測試程式如下:

cpp**

#include 

#include 

#include 

#include 

int main()    

將生成libleveldb.a拷貝到原始檔相同的目錄下,編譯該程式:

plain**

g++ -o test test.cpp libleveldb.a -lpthread  

此時即生成test可執行檔案。執行test結果如下:

plain**

[root@mdss33 test]# ./test   

value 

Leveldb原始碼分析 1

前言 看了一點oceanbase,沒有意志力繼續堅持下去了,暫時就此中斷,基本上算把master看完了,比較重要的update server和merge server 卻沒有細看。中間又陸續研究了hadoop的原始碼,主要是name node和寫入pipeline。主要的目的是想看看name nod...

levelDB原始碼分析 SSTable

sstable是bigtable中至關重要的一塊,對於leveldb來說也是如此,對leveldb的sstable實現細節的了解也有助於了解bigtable中一些實現細節。本節內容主要講述sstable的靜態布局結構,sstable檔案形成了不同level的層級結構,至於這個層級結構是如何形成的我們...

Leveldb原始碼分析 2

輕鬆一刻,前面約定中講過leveldb使用了很多varint型編碼,典型的如後面將涉及到的各種key。其中的編碼 解碼函式分為varint和fixedint兩種。int32和int64操作都是類似的。首先是fixedint編碼,直接上 很簡單明瞭。void encodefixed32 char bu...