写点什么

将 CouchDB 作为个人数据库

  • 2010-06-11
  • 本文字数:894 字

    阅读完需:约 3 分钟

Berlin Buzzwords NoSql 会议上,会议组织者之一、《CouchDB: The Definitive Guide》(O’Reilly 的一本免费图书)的共同作者Jan Lehnardt ( @janl ) 做了一场名为“ Making Software for Humans - CouchDB and The Usable Peer-to-Peer Web ”的演讲。

Jan 热情洋溢地谈论了他对 CouchDB 的重要核心特性的看法:

  • 易于安装
  • 基于文档
  • JSON 是所有编程语言共享的数据类型的公共子集
  • 良好的 HTTP/REST 接口和 API
  • 干净简洁的两层应用程序(浏览器端的 HTML+JavaScript,CouchDB+JavaScript 作为服务端)
  • Couch Apps
  • 向上、向下扩展的能力
  • 适用于多种平台 / 设备,包括移动设备(Android、Nokia Maemo/MeeGo 以及 iPhone)
  • 内建同步、冲突处理及复制机制
  • 性能优异
  • 通过 JavaScript 中的 Map/Reduce 生成视图
  • 通过 HTTP-Socket 提供数据库变更通知

Jan 还强调了数据的隐私和归属问题,他谈及了 Facebook 和 Diaspora 项目。一个推荐的解决方案是在本地 CouchDB 实例中保存更多个人数据(至少一份安全拷贝)。“无论如何每台机器都应该运行一个 Web 服务器——这是 Web 最早的想法之一。”如果你的任意一台机器上有这些实例,那么像如下信息:

  • 联系人
  • 约会信息
  • 书签及浏览历史
  • 甚至是电子邮件和 IM 消息

都能以文档的形式存储在数据库中,自动同步(数据库级别)到所有其他你使用的设备的 CouchDB 实例上。实践这一想法意义深远。针对所有此类个人数据都只有一个快速存储引擎和存储格式,这将带来更简洁的、跨越所有应用程序的文档格式。为这些内容编写客户端也会变得更加容易,因为无须考虑存储、搜索和备份数据,接口也十分简洁。创建机器本地(能够扩展到云端的)mash-up 也将更加方便。

在会场休息期间,一些与会者讨论了采用该两层方法的架构解决方案。如果你在浏览器中使用 HTML5 和 JavaScript 作为客户端,它能够运行于所有平台之上。服务器端是 CouchDB+JavaScript(还包括所有在此之前的 HTTP 基础设施),以 REST 的方式提供服务。对于复杂的工作,可以使 用 node.js +JavaScript。因此有可能把所有的业务逻辑放入 JavaScript 库中,在你的架构的任意部分复用它们。

几天后将会免费提供大会的视频。

查看英文原文: CouchDB as the Personal Database

2010-06-11 00:134669
用户头像

发布了 135 篇内容, 共 66.5 次阅读, 收获喜欢 43 次。

关注

评论

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

架构师训练营第一次课程感想小记1

tuuezzy

软件工程 求职 架构师 UML

架构师训练营第二周

Melo

Assignment 01

高冰洁

Java15都快出来了,你还不会Java8中的Lambda?

Java全栈封神

Java Lambda java8

五分钟学会Elasticsearch查询代理设计

奈学教育

elasticsearch ES

浅谈互联网思维和区块链思维

CECBC

区块链思维

ARTS打卡第二周6.1-6.7

我笔盒呢

徒手撸框架--实现Aop

犀利豆

Java spring

「编程模型」C++封装资源

顿晓

c++ 封装 资源封装 自动化管理 简化代码

第一周作业一:食堂就餐卡系统设计

DZ

iPad配置OpenVPN客户端

wong

ipad OpenVPN

Apache Spark有哪些局限性

古月木易

spark

编程的未来 Java, C, Go, Swift, Dart? Uncle Bob Martin - The Future of Programming

John(易筋)

Java 敏捷开发 编程的未来 编程简史 Bob大叔

架构师训练营第一周学习总结

全力以赴@

【JS】给console来的样式

德育处主任

Java html5 大前端 Web console

面向对象五大基本原则

彭阿三

面向对象设计 面向对象五个基本原则 基本原则

回忆杀:我的编程能力是如何突飞猛进起来的

程序员小跃

Java android 编程 面向对象思想

五分钟学会Elasticsearch查询代理设计

古月木易

SignalR Core之Hubs基本概念

猫定谔的靴

.net core SignalR realtime Hubs

Solidity的Bytecode和Opcode简介

程序那些事

区块链 智能合约 以太坊 Ethereum eth

读懂才会用:Redis ZSet 的几种使用场景

小眼睛聊技术

Java redis 学习 架构 后端

小师妹学JavaIO之:MappedByteBuffer多大的文件我都装得下

程序那些事

Java io nio 小师妹 buffer

Apache Spark有哪些局限性

奈学教育

Apache Spark

徒手撸框架--实现IoC

犀利豆

Java spring

食堂就餐卡系统设计

大家都知道递归,尾递归呢?什么又是尾递归优化?

程序猿石头

平常心平常心

zhoo299

随笔杂谈

IP 基础知识全家桶,45 张图一套带走

小林coding

计算机网络 计算机基础 IP

终于有一个 Java 可以用的微信机器人了

犀利豆

Java

ERC20 Short Address Attack

程序那些事

区块链 以太坊 Token ERC20 代币

【总结】优秀架构师的职责及综合能力

将CouchDB作为个人数据库_REST_Michael Hunger_InfoQ精选文章