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应用程序开发方式,部署更简单,而且扩展性也更好。
【编辑推荐】