BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

将CouchDB作为个人数据库

| 作者 Michael Hunger 关注 1 他的粉丝 ,译者 丁雪丰 关注 4 他的粉丝 发布于 2010年6月12日. 估计阅读时间: 3 分钟 | AICon 关注机器学习、计算机视觉、NLP、自动驾驶等20+AI热点技术和最新落地成功案例。

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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

非常好! by 冯 希顺

既然我们已经拥抱云了,即便没法蒸发自己加入到云中,那么怎么也不能当地上的石头吧。

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT