原創(chuàng)|行業(yè)資訊|編輯:龔雪|2014-11-21 09:40:31.000|閱讀 1188 次
概述:移動(dòng)開(kāi)發(fā)中數(shù)據(jù)庫(kù)各種各樣,本文盤(pán)點(diǎn)最流行5大數(shù)據(jù)庫(kù),包括:BerkeleyDB、Couchbase Lite、LevelDB、SQLite和UnQLite。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
嵌入式數(shù)據(jù)庫(kù)是輕量級(jí)的,獨(dú)立的庫(kù),沒(méi)有服務(wù)器組件,無(wú)需管理,一個(gè)小的代碼尺寸,以及有限的資源需求。目前有幾種嵌入式數(shù)據(jù)庫(kù),你可以在移動(dòng)應(yīng)用程序中使用。讓我們來(lái)看看這些最流行的數(shù)據(jù)庫(kù)。
數(shù)據(jù)庫(kù) |
數(shù)據(jù)類型存儲(chǔ) |
License |
支持平臺(tái) |
BerkeleyDB |
relational,objects,key-value pairs,documents |
AGPL 3.0 |
Android,iOS |
Couchbase Lite |
documents |
Apache 2.0 |
Android,iOS |
LevelDB |
key-value pairs |
New BSD |
Android,iOS |
SQLite |
relational |
Public Domain |
Android,iOS,Windows Phone,Blackberry |
UnQLite |
key-value pairs,documents |
BSD 2-Clause |
Android,iOS,Windows Phone |
Berkeley DB
Berkeley DB是由美國(guó)Sleepycat Software公司開(kāi)發(fā)的一套開(kāi)放源代碼的嵌入式數(shù)據(jù)庫(kù)管理系統(tǒng)(已被Oracle收購(gòu)),它為應(yīng)用程序提供可伸縮的、高性能的、有事務(wù)保護(hù)功能的數(shù)據(jù)管理服務(wù)。
Berkeley DB(BDB)是一個(gè)高效的嵌入式數(shù)據(jù)庫(kù)編程庫(kù),C語(yǔ)言、C++、Java、Perl、Python、Tcl以及其他很多語(yǔ)言都有其對(duì)應(yīng)的API。Berkeley DB可以保存任意類型的鍵/值對(duì)(Key/Value Pair),而且可以為一個(gè)鍵保存多個(gè)數(shù)據(jù)。Berkeley DB支持讓數(shù)千的并發(fā)線程同時(shí)操作數(shù)據(jù)庫(kù),支持最大256TB的數(shù)據(jù),廣泛用于各種操作系統(tǒng),其中包括大多數(shù)類Unix操作系統(tǒng)、Windows操作系統(tǒng)以及實(shí)時(shí)操作系統(tǒng)。
Couchbase Lite
Couchbase Lite是一個(gè)為滿足在線和離線的移動(dòng)應(yīng)用所開(kāi)發(fā)的超輕量的,可靠的,并且安全的JSON數(shù)據(jù)庫(kù)。即使在最不確定的網(wǎng)絡(luò)條件下,亦可以給您的移動(dòng)應(yīng)用提供富有成效的和可靠的信譽(yù)。除此之外,’同步門戶’功能亦可以提供協(xié)作,社交互動(dòng)或者是用戶的更新。
Couchbase移動(dòng)平臺(tái)的亮點(diǎn):
1.JSON Anywhere:使用專為面向?qū)ο蟮囊苿?dòng)應(yīng)用設(shè)計(jì)的靈活的數(shù)據(jù)模型,即時(shí)適應(yīng)你的應(yīng)用程序需要而無(wú)需大幅改動(dòng)應(yīng)用程序。
2.易于同步(輕松同步):只須幾行代碼就可以同步就緒;使開(kāi)發(fā)者可以更專注于應(yīng)用開(kāi)發(fā)本身,而非同步問(wèn)題。
3.原生APIs:使用專門為iOS和Android優(yōu)化的API管理移動(dòng)數(shù)據(jù)庫(kù)。
4.REST APIs:基于你的開(kāi)發(fā)需求,REST APIs提供了一種替代的訪問(wèn)方法。
LevelDB
LevelDB是Google開(kāi)源出的一個(gè)Key/Value存儲(chǔ)引擎,它采用C++編寫(xiě)的,支持高并發(fā)訪問(wèn)和寫(xiě)入,特別適合對(duì)于高寫(xiě)入業(yè)務(wù)環(huán)境。
對(duì)于LevelDB的概覽可以參考數(shù)據(jù)分析與處理之二(Leveldb實(shí)現(xiàn)原理)對(duì)LevelDB的一個(gè)描述,本文的圖解更多的是LevelDB的一個(gè)實(shí)現(xiàn)層的糾纏,版本為L(zhǎng)evelDB 1.7.02。
LevelDB存儲(chǔ)主要分為SSTable和MemTable,前者為不可變且存儲(chǔ)于持久設(shè)備上,后者位于內(nèi)存上并且可變(在LevelDB中有兩個(gè)MemTable,一個(gè)為當(dāng)前寫(xiě)入MemTable,另一個(gè)為等待持久化的不可變MemTable)。首先來(lái)看SSTable的實(shí)現(xiàn)層分析。
SQLite
SQLite是一個(gè)開(kāi)源的嵌入式關(guān)系數(shù)據(jù)庫(kù),實(shí)現(xiàn)自包容、零配置、支持事務(wù)的SQL數(shù)據(jù)庫(kù)引擎。其特點(diǎn)是高度便攜、使用方便、結(jié)構(gòu)緊湊、高效、可靠。與其他數(shù)據(jù)庫(kù)管理系統(tǒng)不同,SQLite的安裝和運(yùn)行非常簡(jiǎn)單,在大多數(shù)情況下-只要確保SQLite的二進(jìn)制文件存在即可開(kāi)始創(chuàng)建、連接和使用數(shù)據(jù)庫(kù)。如果您正在尋找一個(gè)嵌入式數(shù)據(jù)庫(kù)項(xiàng)目或解決方案,SQLite是絕對(duì)值得考慮。
UnQLite
UnQLite是,由Symisc Systems公司出品的一個(gè)嵌入式C語(yǔ)言軟件庫(kù),它實(shí)現(xiàn)了一個(gè)自包含、無(wú)服務(wù)器、零配置、事務(wù)化的NoSQL數(shù)據(jù)庫(kù)引擎。UnQLite是一個(gè)文檔存儲(chǔ)數(shù)據(jù)庫(kù),類似于MongoDB、Redis、CouchDB等。同時(shí),也是一個(gè)標(biāo)準(zhǔn)的Key/Value存儲(chǔ),與BerkeleyDB和LevelDB等類似。
UnQLite是一個(gè)嵌入式NoSQL(鍵/值存儲(chǔ)和文檔存儲(chǔ))數(shù)據(jù)庫(kù)引擎。不同于其他絕大多數(shù)NoSQL數(shù)據(jù)庫(kù),UnQLite沒(méi)有一個(gè)獨(dú)立的服務(wù)器進(jìn)程。UnQLite直接讀/寫(xiě)普通的磁盤(pán)文件。包含多個(gè)數(shù)據(jù)集的一個(gè)完整的數(shù)據(jù)庫(kù),存儲(chǔ)在單一的磁盤(pán)文件中。數(shù)據(jù)庫(kù)文件格式是跨平臺(tái)的,可以在32位和64位系統(tǒng)或大端和小端架構(gòu)之間,自由拷貝一個(gè)數(shù)據(jù)庫(kù)。
友情推薦:IntelliJ IDEA教程之Andriod項(xiàng)目開(kāi)發(fā)篇。慧都提供Andriod專業(yè)的開(kāi)發(fā)IDE——IntelliJ IDEA (目前年終活動(dòng)中,盡享優(yōu)惠)。還有打折心愿,自己想怎么打折就怎么打折。【年終大促 巔峰盛"慧" 】促銷火熱進(jìn)行中 iPhone 6 Plus、 iPhone 6、iPad Air滿就送,還不趕快買買買!
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn