iOS與Android本地數據庫:使用Objective-C和Java編寫
更小、更快,這一直都是開發者對基于移動設備數據庫的要求;正是這個最基本的需求,導致其它數據庫特性在移動端的泯滅,同樣也使得NoSQL在這一領域未能有所建樹。近日,NoSQL數據庫領域的三巨頭之一Couchbase打破了這一僵局,發布了基于iOS及Android版的NoSQL數據庫。
以下為譯文:
近日NoSQL初創公司Couchbase發布一款名為Couchbase Lite的產品,一款基于iOS及Android設計的NoSQL數據庫。Couchbase Lite可以直接運行于平板或者手機之上,支持大多數當下的應用程序。
作為本地數據庫,其優點非常明顯:在不良網絡環境下,避免緩慢的加載時間及工作丟失。假設Lite版本如Couchbase定義的非常輕量級與快速,應用程序可以更快及更靈活的對數據進行更新。使用Couchbase Lite情況下,應用可以將本地數據與基于云的Couchbase Server數據庫同步,這意味著在編程決策與網絡狀態允許的情況下,兩個數據庫可以保持同步更新。
同時這不僅僅是在類似Instagram或者Angry Birds這種簡單應用中,Couchbase產品研發SVP Rahim Yaseen對此非常看好,他認為結合了多核處理器、海量內存的本地數據庫將有著無限的發展空間。 通過Yaseen了解到,這個數據庫在在線學習平臺及醫療領域將大有作為,適當裝備的平板甚至能執行類似超聲波檢查功能。當下,Yaseen的團隊已經通過一個簡單的國際象棋應用展示了這種同步的可能性,他說道:
日益變強的計算及存儲能力開啟了移動應用本地數據密集型篇章,甚至囊括了傳感器類型應用。

曾今類似的創意
可能許多開發者正在疑惑其中創新的地方,SAP通過Sybase SQL Anywhere平臺提供類似的一組服務,Couchbase本身在兩年前也發布了類似的產品Mobile Couchbase。與Sybase SQL Anywhere的不同之處非常明顯——SQL和NoSQL的區別,Couchbase Lite是一個專注JSON文檔的NoSQL數據庫。
Mobile Couchbase與Couchbase Lite之間的區別則更加的技術了一點,Couchbase CEO Bob Wiederhold解釋道:“CouchOne……很早已經有了這個想法,但是技術條件并不允許。”CouchOne是CouchDB的作者,后在2011年與鍵值初創公司Membase合并為Couchbase。Mobile Couchbase基于CouchOne的技術,但是Couchbase現在則是致力于發展它的Couchbase Server技術。
Couchbase Lite Github頁面中展示了整個事件的順序,便于理解其新技術及衍變過程:
2011:Couchbase將CouchDB移植到移動平臺,最終產品則是Couchbase Mobile;由于其解釋性語言開發(Erlang和JavaScript),其體積很大并且速度太慢。
2012:作為一個R&D項目,Couchbase Labs開發了一個新的數據庫TouchDB。使用了被移動系統廣泛使用的SQLite作為底層數據存儲,并添加了一個本地代碼的NoSQL文檔模型及復制協議。這項舉措取得了非常大的成功,TouchDB被開發者接受,并運用于多個商業應用中。
2012:Couchbase發布了它的旗艦產品Couchbase Server 2數據庫,它保持了Membase的高性能,并且添加了CouchDB的MapReduce查詢引擎。
2013:TouchDB之后版本將被命名為Couchbase Lite,它將變得更小及更快。從另一個角度看,Couchbase將建立一個服務器端的網關組件,讓Couchbase Server可以重用復制功能。
通過Yaseen了解到,iOS版本的Couchbase Lite使用Objective-C編寫,Android版本使用的則是Java。該公司正在尋求一部分應用開發平臺的幫助,致力將Couchbase Lite打造成一個標準組件,它將被整合到Antenna、Appcelerator、Apperian、Adobe PhoneGap、Sencha及Xamarin這些平臺中。
這個宣布發布在Couchbase獲得2500萬美元的D輪融資之后,它與MongoDB及DataStax都是NoSQL領域實力相當的三巨頭。如果Couchbase想在移動端有一番作為,它面臨的***對手就是同為3巨頭之一的MongoDB。