NoSQL數據庫CouchDB發布Android SDK
51CTO曾報道過《NoSQL數據庫Apache CouchDB》,CouchDB是一個"面向文檔"的數據庫,采用ErLang語言開發,文檔的格式是一個JSON字符串(也可包含二進制附件)。在移動開發領域迅速發展的情況下,CouchDB漸漸把目光投向了移動開發領域。CouchDB 1.0版發布之后,該產品開始支持移動開發平臺。2010年8月10日,CouchDB的主要開發商Couch.io公司宣布發布了 “CouchDB SDK for Android”。此外,惠普的旗下的Palm已經宣布他們的webOS下一個版本將會包括CouchDB本地數據同步服務。
根據Couch.io高管說,Web或者本地應用程序都可以利用CouchDB的P2P同步能力去創建更具吸引力的體驗。另外,應用程序還可以在脫機模式或網絡鏈接很慢的情況下工作。
移動同步一直是一個挑戰,很多公司都嘗試過,但最終都以失敗而告終。CouchDB創始人兼Couchio公司CEO Damien Katz在采訪中談到,“我們的目標是提供優秀的SDK,支持在Android設備上開發使用CouchDB作為本地數據存儲的Web、本地和云計算應用 程序,CouchDB使同步無所不在,它已經成為移動計算的重要組成部分。”
Couch.io公司的副總裁Chris Anderson也接受Dzone的采訪,詳細描述了Android SDK的開發。他表示,為Android開發并不復雜,因為它本質上只是另一種Linux。他們先將Apache CouchDB的標準源代碼轉而在Android上運行,然后進行一些優化,減少內存使用,降低功耗,并提供一些本地的API就完成了。CouchDB的 所有操作是運行在HTTP之上的,所以跨平臺并不困難。而且,CouchDB設計本身的數據一致性就很好,所以能夠應付移動平臺的嚴苛環境,保護數據安 全。而Palm自己已經設計了一種與云中CouchDB進行復制的數據庫,名為db8。因此,只要軟件可以操作CouchDB,就可以訪問Palm的數 據。
Anderson還對CouchDB的解決方案與流行的同步工具Dropbox和MobileMe進行了比較。他表示后兩者只是用于文件共享而 已,而基于CouchDB的應用程序則是通用的,可以實現更豐富的基于云數據庫的功能。他還指出,基于CouchDB的應用程序架構也稱 CouchApps,是一種可以取代Rails或者Django的Web應用程序開發方式,部署更簡單,而且擴展性也更好。
【編輯推薦】