LevelDB

LevelDB

Leveldb是一個google實現的非常高效的kv資料庫,目前的版本1.2能夠支持billion級別的數據量了。 在這個數量級別下還有著非常高的性能,主要歸功於它的良好的設計。特別是LSM算法。

基本介紹

  • 中文名:LevelDB
  • 目前的版本:1.2
  • 屬於:計算機學
特點,局限,實現介紹,

特點

LevelDB 是單進程的服務,性能非常之高,在一台4核Q6600的CPU機器上,每秒鐘寫數據超過40w,而隨機讀的性能每秒鐘超過10w。
此處隨機讀是完全命中記憶體的速度,如果是不命中 速度大大下降

局限

LevelDB 只是一個 C/C++ 程式語言的庫, 不包含網路服務封裝, 所以無法像一般意義的存儲伺服器(如 MySQL)那樣, 用客戶端來連線它. LevelDB 自己也聲明, 使用者應該封裝自己的網路伺服器.

實現介紹

leveldb中有一系列參數會與讀寫的效率有關,將相關的配置以及編譯常量統一修改成可運行時配置參數,測試選取最佳配置值。
首先確定在一個tair server上要啟幾個leveldb實例?
Tair中以桶來組織數據,如果按照一個桶一個leveldb實例,在做遷移複製的時候會很方便,但考慮如果在一塊磁碟上起多個實例,那么整體看來,多個順序寫變成了隨機寫,每個實例的compact進程會加劇整個磁碟的隨機IO,所以並不採用每個桶一個實例,而是針對磁碟的數量由相關配置控制實例的個數。

相關詞條

熱門詞條

聯絡我們