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