CouchDB是NoSQL的代表之一,它是一个开源的面向文档的数据库管理系统,支持以JSON作为数据格式的REST接口进行操作,并可以通过视图来操纵文档的组织和呈现。NoSQL之前更多被认为是一种云计算核心技术,用于互联网站的服务器端。但是,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应用程序开发方式,部署更简单,而且扩展性也更好。