西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴的軟件下載站!
西西首頁 電腦軟件 安卓軟件 電腦游戲 安卓游戲 排行榜 專題合集

LevelDB數(shù)據(jù)庫

v1.22 綠色免費(fèi)版
  • LevelDB數(shù)據(jù)庫v1.22 綠色免費(fèi)版
  • 軟件大小:316KB
  • 更新時(shí)間:2019-12-10 08:36
  • 軟件語言:中文
  • 軟件廠商:
  • 軟件類別:國(guó)產(chǎn)軟件 / 免費(fèi)軟件 / 數(shù)據(jù)庫類
  • 軟件等級(jí):2級(jí)
  • 應(yīng)用平臺(tái):WinXP
  • 官方網(wǎng)站:http://www.innovatechautomation.com
  • 應(yīng)用備案:
好評(píng):50%
壞評(píng):50%

軟件介紹

LevelDB數(shù)據(jù)庫是Google編寫的一個(gè)快速鍵值存儲(chǔ)庫,LevelDB應(yīng)用了LSM (Log Structured Merge) 策略,lsm_tree對(duì)索引變更進(jìn)行延遲及批量處理,它提供了從字符串鍵到字符串值的有序映射,調(diào)用者可以提供一個(gè)自定義比較函數(shù)來覆蓋排序順序。

功能介紹

鍵和值是任意的字節(jié)數(shù)組。

數(shù)據(jù)是按鍵排序存儲(chǔ)的。

調(diào)用者可以提供一個(gè)自定義比較函數(shù)來覆蓋排序順序。

基本的操作是Put(key,value)、Get(key)、Delete(key)。

在一個(gè)原子批中可以進(jìn)行多次修改。

用戶可以創(chuàng)建瞬時(shí)快照,以獲得數(shù)據(jù)的一致視圖。

在數(shù)據(jù)上支持向前和向后迭代。

使用Snappy壓縮庫對(duì)數(shù)據(jù)進(jìn)行自動(dòng)壓縮。

外部活動(dòng)(文件系統(tǒng)操作等)通過虛擬接口中轉(zhuǎn),因此用戶可以自定義操作系統(tǒng)的交互。

LevelDB的特點(diǎn)和限制如下:

特點(diǎn):
1、key和value都是任意長(zhǎng)度的字節(jié)數(shù)組;
2、entry(即一條K-V記錄)默認(rèn)是按照key的字典順序存儲(chǔ)的,當(dāng)然開發(fā)者也可以重載這個(gè)排序函數(shù);
3、提供的基本操作接口:Put()、Delete()、Get()、Batch();
4、支持批量操作以原子操作進(jìn)行;
5、可以創(chuàng)建數(shù)據(jù)全景的snapshot(快照),并允許在快照中查找數(shù)據(jù);
6、可以通過前向(或后向)迭代器遍歷數(shù)據(jù)(迭代器會(huì)隱含的創(chuàng)建一個(gè)snapshot);
7、自動(dòng)使用Snappy壓縮數(shù)據(jù);
8、可移植性;

限制:
1、非關(guān)系型數(shù)據(jù)模型(NoSQL),不支持sql語句,也不支持索引;
2、一次只允許一個(gè)進(jìn)程訪問一個(gè)特定的數(shù)據(jù)庫;
3、沒有內(nèi)置的C/S架構(gòu),但開發(fā)者可以使用LevelDB庫自己封裝一個(gè)server;

更新日志

修正了格式,使其符合Google C++ Style Guide的要求。

特別導(dǎo)出Windows鏈接的WriteBatch::Handler內(nèi)部類。

Merge pull request #665 from cheng-chang:coding.

Merge pull request #669 from pavel-pimenov:fix-readme-windows-mkdir.

Merge pull request #472 from zhoudayang:patch-1.

Merge pull request #339 from richcole-at-amazon:master.

用 CMake 構(gòu)建恢復(fù) soname 版本。

其他雜項(xiàng)清理、修復(fù)和改進(jìn)。

寫操作流程:

1、順序?qū)懭氪疟Plog文件;
2、寫入內(nèi)存memtable(采用skiplist結(jié)構(gòu)實(shí)現(xiàn));
3、寫入磁盤SST文件(sorted string table files),這步是數(shù)據(jù)歸檔的過程(永久化存儲(chǔ));

注意:

log文件的作用是是用于系統(tǒng)崩潰恢復(fù)而不丟失數(shù)據(jù),假如沒有Log文件,因?yàn)閷懭氲挠涗泟傞_始是保存在內(nèi)存中的,此時(shí)如果系統(tǒng)崩潰,內(nèi)存中的數(shù)據(jù)還沒有來得及Dump到磁盤,所以會(huì)丟失數(shù)據(jù);

在寫memtable時(shí),如果其達(dá)到check point(滿員)的話,會(huì)將其改成immutable memtable(只讀),然后等待dump到磁盤SST文件中,此時(shí)也會(huì)生成新的memtable供寫入新數(shù)據(jù);

memtable和sst文件中的key都是有序的,log文件的key是無序的;

LevelDB刪除操作也是插入,只是標(biāo)記Key為刪除狀態(tài),真正的刪除要到Compaction的時(shí)候才去做真正的操作;

LevelDB沒有更新接口,如果需要更新某個(gè)Key的值,只需要插入一條新紀(jì)錄即可;或者先刪除舊記錄,再插入也可;

軟件標(biāo)簽: LevelDB數(shù)據(jù)庫

其他版本下載

發(fā)表評(píng)論

昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
查看所有(0)條評(píng)論 > 字?jǐn)?shù): 0/500

TOP
軟件下載