新聞中心
Leveldb是一個google實現(xiàn)的非常高效的kv數(shù)據(jù)庫,目前的版本1.2能夠支持billion級別的數(shù)據(jù)量了。 在這個數(shù)量級別下還有著非常高的性能,主要歸功于它的良好的設(shè)計。特別是LSM算法。

我們提供的服務(wù)有:網(wǎng)站制作、網(wǎng)站設(shè)計、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、嶺東ssl等。為成百上千企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的嶺東網(wǎng)站制作公司
LevelDB 是單進(jìn)程的服務(wù),性能非常之高,在一臺4個Q6600的CPU機器上,每秒鐘寫數(shù)據(jù)超過40w,而隨機讀的性能每秒鐘超過10w。
示例代碼:
- #include
- #include "leveldb/include/db.h"
- leveldb::DB* db;
- leveldb::Options options;
- options.create_if_missing = true;
- leveldb::Status status = leveldb::DB::Open(options, "/tmp/testdb", &db);
- assert(status.ok());
- std::string value;
- leveldb::Status s = db->Get(leveldb::ReadOptions(), key1, &value);
- if (s.ok()) s = db->Put(leveldb::WriteOptions(), key2, value);
- if (s.ok()) s = db->Delete(leveldb::WriteOptions(), key1);
授權(quán)協(xié)議: BSD
開發(fā)語言: C/C++ C/C++
操作系統(tǒng): Linux Linux
【簡單說下leveldb】
作者:黃東旭@youdao
最近在公司內(nèi)有人討論到leveldb,之前正好也簡單看了看文檔,沒仔細(xì)看實現(xiàn),簡單寫個總結(jié)
1. leveldb的committer陣容很強大,幾乎是google那篇經(jīng)典的big table的原班人馬。雖然有人說可能并不是完整的google的使用著的實現(xiàn),但是還是很吸引人的
2. 它是一個k/v db library,提供持久化,看項目首頁給出的performance很牛逼, 注意目前只是library, 嚴(yán)格來說和tc有點像,并沒有dht,甚至沒有server實現(xiàn),不過我相信網(wǎng)上很多蛋疼的hacker會寫的,如果有時間的話,我也蠢蠢欲動啊。和Redis之類沒法比,因為沒有cache。
3. 針對隨機寫做了優(yōu)化,使用了傳說中的LSMTree,google的那篇paper里寫了,但是沒仔細(xì)看,在這里暫時不評論。我想應(yīng)該是目前開源的唯一的LSMTree的kv db的實現(xiàn)(流行的大多數(shù)b-tree,其實lsmtree貌似是b-tree的一個優(yōu)化)
4. 實現(xiàn)了iterator, 對data可以前序甚至逆序遍歷,這點很新鮮
5. 類似batch,atom這種就不說了,基本是目前的標(biāo)配
6. 8g一下, chrome中的indexedDB就是用它實現(xiàn)的
7. 居然還提供了ObjC的port
簡單歸結(jié)一句話:這個東西是個k-v本地存儲庫,讀性能一般(和TokyoCabinet 比),隨機寫不錯,很小很清涼。沒有memcache,沒有server,什么都沒有,就是個存儲引擎而已。
網(wǎng)頁名稱:LevelDB—一個超高性能的K/V數(shù)據(jù)庫
新聞來源:http://www.dlmjj.cn/article/dhihghj.html


咨詢
建站咨詢
