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