BT

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

Apache CouchDB 1.0破茧而出

| 作者 张龙 关注 14 他的粉丝 发布于 2010年7月17日. 估计阅读时间: 3 分钟 | AICon 关注机器学习、计算机视觉、NLP、自动驾驶等20+AI热点技术和最新落地成功案例。

Apache CouchDB是个免费、开源、面向文档的数据库,使用Erlang语言编写,可以使用JavaScript以MapReduce的风格查询、索引CouchDB。CouchDB是个NoSQL解决方案,用于local replication并且可以垂直扩展到多种设备上。在经过多个月的开发后,近日Apache CouchDB 1.0终于破茧而出了。

CouchDB提供了一个RESTful JSON API,支持HTTP请求的环境都可以访问。有很多用各种编程语言编写的第三方客户端程序库简化了对CouchDB的访问。可以通过HTTP请求使用CouchDB内置的Web管理控制台直接与数据库交互。

CouchDB使用Erlang语言编写,Erlang是一种健壮的函数式编程语言,非常适合于构建并发的分布式系统。Erlang的设计非常灵活,其可伸缩性与可扩展性都非常棒。

下图展示了CouchDB的整体架构

image

CouchDB的赞助者是Couchio公司,其创建者兼CFO Chris Anderson说到

  • CouchDB两个主要的增强使得1.0版实至名归。其一是软件性能得到了极大的提升;其二是CouchDB现在可以用在Windows上了。我们还付出了艰辛的努力,保证软件的稳定性。
  • Couchio内部的性能基准测试表明,新版本CouchDB的读写速度要比之前的版本提升了300%,这种性能上的改进主要是通过代码优化实现的。
  • 这也是首个能在Windows上运行的CouchDB版本,无论是服务器还是桌面系统都可以。此前的版本可以运行在Linux上,此外我们还在开发一个能够运行在Google Android智能手机操作系统上的版本。

作为Apache软件基金会顶级项目的CouchDB是个非关系型数据库,使用简单的键——值对的形式来存储数据。数据是使用JSON存储的,可以通过HTTP请求查询。

Anderson说:“可以通过CouchDB来构建Web应用而无需中间层。与以前那种数据库、Java栈和浏览器的方式不同,现在只需要HTTP与浏览器足矣”。

Web应用开发者可能会觉得这项技术很有趣,因为它考虑到了数据的离线存储,这对于并非总是联网的设备上的Web应用设计来说极具价值。对于开发者来说,CouchDB要比关系数据库还易于使用,因为它无需编写SQL查询语句了。

CouchDB 1.0提供了如下新特性与改进:

  • 速度:对大文档的写速度提升了300%
  • 支持Windows
  • 认证系统:无需创建用户模型就可以编写CouchDB应用了

感兴趣的读者可以阅读CouchDB的说明技术概览文档以深入了解背后的设计与基本概念,还可以从Subversion仓库中下载最新的CouchDB代码,里面有构建指南供参考。

评价本文

专业度
风格

您好,朋友!

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

获得来自InfoQ的更多体验。

告诉我们您的想法

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

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

舍去服务器代码? by wang kepan

也就是说js直接读取数据库?舍去服务端逻辑构建只有html和js的应用?

Re: 舍去服务器代码? by Fei Jordan

只是NoSQL类型的数据库(不依赖于或者不完全依赖于关系数据库的一种新型数据库),跟服务器代码无关系。

Apache CouchDB是个免费、开源、面向文档的数据库? by li wee

面向文档?
一般情况我们的文档是直接保存在File System 上的。
保存在这里的好处是? 检索快?还是?

允许的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通知我

3 讨论

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


找回密码....

Follow

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

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

Like

内容自由定制

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

Notifications

获取更新

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

BT