PouchDB:一款受CouchDB启发的离线Web数据库

PouchDB是受 Apache CouchDB启发为Web设计的一款占用空间少的数据库。它尤其适合于需要基于浏览器的可离线使用的存储方案的移动应用。该数据库可与CouchDB同步,也可与在线设备上的其他PouchDB同步。

PouchDB实际是一个JavaScript库,压缩格式下大小为131KB。目前它能做的基础任务有:数据库的创建、查询、复制与删除;文档(集)的创建、获取、更新及删除;查询数据库信息并监听数据库变化。

该数据库还带有一个HTTP RESTful适配器用于与其他CouchDB或PouchDB数据库进行同步。

PouchDB使用HTML5 IndexedDB API访问浏览器的底层存储引擎,如Firefox的SQLite和Chrome的LevelDB。对于Web SQL、本地存储和node.js的支持正在进行当中。不幸的是,Web SQL已经被W3C弃用,但PouchDB仍将支持它,因为“移动浏览器对IndexedDB的支持远远落后于Web SQL”,PouchDB的作者Dale Harvey说。

当被问及PouchDB的价值可在哪些场景中体现时,Harvey说:

任何需要离线工作的Web应用(移动或其他),而且我相信大多数移动应用都需要离线工作。任何离线或“在云中”工作的应用都将面临可靠的数据同步的问题,它们都可能会使用PouchDB。我能想到的显然的例子有待办工作列表和数据管理类的应用。

Harvey补充,当将PouchDB与离线安装的CouchDB相比时:

CouchDB在服务器上表现很棒,但是,它显然不可能在一个离线的Web应用中工作。PouchDB是一个很小的可嵌入在浏览器中运行的CouchDB,一旦在线,它又能与功能更为强大的CouchDB进行交互。

目前PouchDB正处在alpha版,已经在Firefox+12和Google 19+上通过测试。它几乎能运行在所有实现了IndexedDB API的浏览器中。其代码可从GitHub下载,它采用Apache 2.0许可。

你可能感兴趣的:(CouchDB)