【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

将 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

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

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

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

关注

评论

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

作业-05-java实现一致性hash算法

梦子说

极客大学架构师训练营

Java实现一致性 Hash 算法实现(训练营第五课)

看山是山

极客大学架构师训练营 一致性hash

架构师训练营」第 4 周作业

edd

高性能系统设计

dapaul

极客大学架构师训练营

一致性hash算法及java实现(转载,学习了)

王锟

漫画:Integer 竟然有 6 种比较方式?

王磊

Java 编程 漫画 java编程 漫画编程

架构师课程第五周总结

dongge

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

一雄

学习 极客大学架构师训练营 第五周

视读——沟通的艺术,看入人里,看出人外(第一章)

废材姑娘

读书笔记 视觉笔记

重学 Java 设计模式:实战模版模式「模拟爬虫各类电商商品,生成营销推广海报场景」

小傅哥

Java 设计模式 小傅哥 重构 代码规范

极客时间架构师训练营 - week5 - 作业 2

jjn0703

极客大学架构师训练营

领域模型为核心的架构设计 初篇

小隐乐乐

领域驱动设计 架构师

架构师训练营-第五周-命题作业

sljoai

极客大学架构师训练营 第五周

B站Up主自制秃头生成器,一键get张东升同款发型,网友:秃的太过真实

程序员生活志

程序员 B站 隐秘的角落 张东升 秃头生成器

一致性哈希算法实现及案例测试,java版

潜默闻雨

架构师训练营第五周作业 设计分布式缓存系统

Melo

极客大学架构师训练营

ES5、ES6中继承的几种写法

Manito

Java

架构师训练营 Week 05 总结

Wancho

架构师训练营作业 -- Week 5

吴炳华

极客大学架构师训练营

实现一致性哈希算法

Aldaron

真懂Spring的@Configuration配置类?你可能自我感觉太良好

YourBatman

Spring Boot Spring Framework @Configuration Spring配置类

嗯?阿里为啥不用 ZooKeeper 做服务发现?

Java小咖秀

zookeeper 分布式 技术人生

小师妹学JVM之:JVM中的Safepoints

程序那些事

Java JVM 小师妹 性能调优 签约计划第二季

【第九课 + 第十课】技术选型:缓存架构 + 消息队列与异步架构

Aldaron

架构师训练营:第五周作业-一致性 hash实现

zcj

极客大学架构师训练营

分布式缓存总结

朱月俊

第5周作业

田振宇

可变对象和不可变对象

Leetao

Python Python基础知识

golang实现基于虚拟节点的一致性hash算法

朱月俊

第五次作业

王锟

华为厦门DevCloud创新中心正式揭牌,“上云用数赋智”新助力

Geek_116789

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