速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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

  • 2012-06-14
  • 本文字数:753 字

    阅读完需:约 2 分钟

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 许可。


查看英文原文: PouchDB – a CouchDB-inspired Offline Web Database

2012-06-14 10:124993
用户头像

发布了 184 篇内容, 共 79.8 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

Mybatis【7】-- Mybatis如何知道增删改是否成功执行?

秦怀杂货店

Java mybatis

一直在云上的星空联盟,“真”上云了

亚马逊云科技 (Amazon Web Services)

云计算 AWS

Angel推荐算法在游戏推荐中的应用

DataFunTalk

学习

附PPT丨如何构建数据库容器化PaaS

dbaplus社群

数据库 容器

Github标星5.3K,网易云的朋友给我这份339页的Android面经,附赠课程+题库

欢喜学安卓

android 程序员 面试 移动开发

毕业三年,如何达到月薪30K?我想跟你聊聊!!

冰河

程序员 程序人生 架构师 升职加薪 提升自我

“区块链+”产业生态雏形已现 安全监管逐步完善

CECBC

区块链 区块链生态

《爱奇艺安全应急响应中心漏洞评分标准2021》来了

爱奇艺技术产品团队

安全 安全漏洞

安卓开发快速学习!一个小例子彻底搞懂Android的MVP模式到底是什么?面试必问

欢喜学安卓

android 程序员 面试 移动开发

Mybatis【9】-- Mybatis占位符#{}和拼接符${}有什么区别?

秦怀杂货店

mybatis 预编译

字节跳动自研「BVC2.0」视频编码器在 MSU 2020 中获得四项第一

字节跳动技术团队

字节跳动 视频编码

字节跳动开源云原生机器学习平台 Klever

字节跳动技术团队

学习 字节跳动

星环科技助力商业银行机器学习平台建设

星环科技

FinTech

架构师入门感悟之十

笑春风

架构师训练营第五周课后作业

万有引力

Android开发全套学习!不同层级的Android开发者的不同行为,学习路线+知识点梳理

欢喜学安卓

android 程序员 面试 移动开发

如何使用数据仓库?

数据社

数据仓库 七日更

JustSwap交易所系统APP开发|JustSwap交易所软件开发

系统开发

设计模式【1】-- 单例模式到底几种写法?

秦怀杂货店

设计模式

附PPT丨广东移动智慧中台能力运营实践

dbaplus社群

中台 中台战略

反垄断之下 区块链迎来新生?

CECBC

区块链

开一个世界末日的脑洞

熊斌

我的世界 生活记录 七日更

explicit_defaults_for_timestamp 参数详解

Simon

MySQL 七日更

Lambda【1】-- List相关Lambda表达式使用(上篇)

秦怀杂货店

Java Lambda

爱奇艺用户分析平台实践:TB级数据查询秒级返回

dbaplus社群

大数据

Mybatis【8】-- Mybatis返回List或者Map以及模糊查询怎么搞?

秦怀杂货店

Java mybatis

区块链发展的3个必经阶段究竟是什么

CECBC

去中心化

第五周作业

胡益

记一次由Arthas引起的Metaspace OOM问题

闲鱼技术

Java 阿里巴巴

LeetCode题解:42. 接雨水,双指针,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

领域驱动设计DDD

积极&丧

PouchDB:一款受CouchDB启发的离线Web数据库_移动_Abel Avram_InfoQ精选文章