5個用于移動開發(fā)的最流行數(shù)據(jù)庫
嵌入式數(shù)據(jù)庫是輕量級的,獨立的庫,沒有服務(wù)器組件,無需管理,一個小的代碼尺寸,以及有限的資源需求。目前有幾種嵌入式數(shù)據(jù)庫,你可以在移動應(yīng)用程序中使用。讓我們來看看這些最流行的數(shù)據(jù)庫。
數(shù)據(jù)庫
數(shù)據(jù)類型存儲
License支持平臺
BerkeleyDBrelational, objects, key-value pairs, documentsAGPL 3.0Android, iOS
Couchbase LitedocumentsApache 2.0Android, iOS
LevelDBkey-value pairsNew BSDAndroid, iOS
SQLiterelationalPublic DomainAndroid, iOS, Windows Phone, Blackberry
UnQLitekey-value pairs, documentsBSD 2-ClauseAndroid, iOS, Windows Phone
1. Berkeley DB
Berkeley DB 是由美國 Sleepycat Software 公司開發(fā)的一套開放源代碼的嵌入式數(shù)據(jù)庫管理系統(tǒng)(已被 Oracle 收購),它為應(yīng)用程序提供可伸縮的、高性能的、有事務(wù)保護(hù)功能的數(shù)據(jù)管理服務(wù)。
Berkeley DB(BDB)是一個高效的嵌入式數(shù)據(jù)庫編程庫,C語言、C++、Java、Perl、Python、Tcl 以及其他很多語言都有其對應(yīng)的 API。Berkeley DB 可以保存任意類型的鍵/值對(Key/Value Pair),而且可以為一個鍵保存多個數(shù)據(jù)。Berkeley DB 支持讓數(shù)千的并發(fā)線程同時操作數(shù)據(jù)庫,支持最大 256TB 的數(shù)據(jù),廣泛用于各種操作系統(tǒng),其中包括大多數(shù)類 Unix 操作系統(tǒng)、Windows 操作系統(tǒng)以及實時操作系統(tǒng)。
2. Couchbase Lite
Couchbase Lite 是一個為滿足在線和離線的移動應(yīng)用所開發(fā)的超輕量的,可靠的,并且安全的 JSON 數(shù)據(jù)庫。即使在最不確定的網(wǎng)絡(luò)條件下,亦可以給您的移動應(yīng)用提供富有成效的和可靠的信譽(yù)。除此之外,’同步門戶’功能亦可以提供協(xié)作, 社交互動或者是用戶的更新。
3. LevelDB
LevelDB 是 Google 開源出的一個 Key/Value 存儲引擎,它采用 C++ 編寫的,支持高并發(fā)訪問和寫入,特別適合對于高寫入業(yè)務(wù)環(huán)境。
對于 LevelDB 的概覽可以參考數(shù)據(jù)分析與處理之二(Leveldb 實現(xiàn)原理)對 LevelDB 的一個描述,本文的圖解更多的是 LevelDB 的一個實現(xiàn)層的糾纏,版本為 LevelDB 1.7.02。
LevelDB 存儲主要分為 SSTable 和 MemTable,前者為不可變且存儲于持久設(shè)備上,后者位于內(nèi)存上并且可變(在 LevelDB 中有兩個 MemTable,一個為當(dāng)前寫入 MemTable,另一個為等待持久化的不可變 MemTable)。首先來看 SSTable 的實現(xiàn)層分析。
4. SQLite
SQLite 是一個開源的嵌入式關(guān)系數(shù)據(jù)庫,實現(xiàn)自包容、零配置、支持事務(wù)的 SQL 數(shù)據(jù)庫引擎。 其特點是高度便攜、使用方便、結(jié)構(gòu)緊湊、高效、可靠。 與其他數(shù)據(jù)庫管理系統(tǒng)不同,SQLite 的安裝和運(yùn)行非常簡單,在大多數(shù)情況下 - 只要確保 SQLite 的二進(jìn)制文件存在即可開始創(chuàng)建、連接和使用數(shù)據(jù)庫。如果您正在尋找一個嵌入式數(shù)據(jù)庫項目或解決方案,SQLite 是絕對值得考慮。
5. UnQLite
UnQLite 是,由 Symisc Systems 公司出品的一個嵌入式C語言軟件庫,它實現(xiàn)了一個自包含、無服務(wù)器、零配置、事務(wù)化的NoSQL 數(shù)據(jù)庫引擎。UnQLite是一個文檔存儲數(shù)據(jù)庫,類似于 MongoDB、Redis、CouchDB 等。同時,也是一個標(biāo)準(zhǔn)的 Key/Value 存儲,與 BerkeleyDB 和 LevelDB 等類似。
UnQLite 是一個嵌入式NoSQL(鍵/值存儲和文檔存儲)數(shù)據(jù)庫引擎。不同于其他絕大多數(shù) NoSQL 數(shù)據(jù)庫,UnQLite 沒有一個獨立的服務(wù)器進(jìn)程。UnQLite 直接讀/寫普通的磁盤文件。包含多個數(shù)據(jù)集的一個完整的數(shù)據(jù)庫,存儲在單一的磁盤文件中。數(shù)據(jù)庫文件格式是跨平臺的,可以在32位和64位系統(tǒng)或大端和小端架構(gòu)之間,自由拷貝一個數(shù)據(jù)庫
posted on 2014-09-26 11:32 順其自然EVO 閱讀(193) 評論(0) 編輯 收藏 所屬分類: 測試學(xué)習(xí)專欄 、數(shù)據(jù)庫