写点什么

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:125250
用户头像

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

关注

评论

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

当我们谈到ThreadLocal的时候,我们在谈什么?

Jason

Java 多线程 ThreadLocal

关于GDB你需要知道的技巧

泰伦卢

c c++ C#

一个平凡程序员的年度总结

小智

程序员 人生

【译】【UX】一个页面可以有多个面包屑导航吗?

Yukun

用户研究 UX 面包屑导航

从删库到跑路?

芦苇

产品 职业 产品经理 职业素养 职业道德

css常见问题总结

靖仙

CSS css3

金融「中台」十宗罪

FinClip

中台 企业中台 业务中台

DDD 实践手册(4. Aggregate — 聚合)

Joshua

设计模式 领域驱动设计 架构模式

《TCP/IP详解》概述

网瘾少年SEC

TCP 网络协议 IP

写字工具更新史

Bonaparte

学习 读书笔记

业务代码的救星——Java 对象转换框架 MapStruct 妙用

周三不加班

MapStruct 对象转换

机会是留给不停寻找他们的人,而不是原地等待的人

非著名程序员

程序员 提升认知 机会 行动派

写作的意义到底是什么

董一凡

写作

面试指南 | 终于要跟大家见面了,我有点紧张。

Apache Flink

大数据 flink 流计算 实时计算

centos7 maven私服自动启动

kcnf

各大公司面试题分类整理

是小毛吖

面试 后端

翻译和产品本地化的区别是什么?

葛仲君

翻译 本地化 全球化 产品开发

开源商业模式促进金融业科技生态的发展

FinClip

开源 金融科技

聊聊苹果账号的那些事儿

不要艾特我

iphone

一次线上服务高 CPU 占用优化实践

挖坑的张师傅

性能优化 JVM cpu

Clickhouse 性能测试

久吾尔岂

MySQL中 int(11)和 int(10) 到底有没有区别?

周三不加班

MySQL 字符宽度 数据库数据类型

C++线程池的实现

泰伦卢

c++ C# 线程池

Python3.6.1官方文档练习——初入江湖(一)

小匚

Python python3.x 入门

C++定时器的实现

泰伦卢

c c++ C#

内存对齐

泰伦卢

c c++ C#

浅谈SpringCloud之服务注册中心Eureka

北漂码农有话说

从一道面试题来看计算机基础知识的重要性

周三不加班

数组 堆栈 函数栈 函数栈调用

笔记:《如何系统思考》之如何做到系统思考

wiflish

思维方式

开始每周写作计划

M1racle

Redis 6.0 新特性-多线程连环13问!

牧码哥

redis 多线程 io

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