写点什么

Apache CouchDB 1.0 破茧而出

  • 2010-07-16
  • 本文字数:984 字

    阅读完需:约 3 分钟

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 代码,里面有构建指南供参考。

2010-07-16 04:573125
用户头像

发布了 88 篇内容, 共 270.1 次阅读, 收获喜欢 9 次。

关注

评论

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

nginx在重定向时端口出错的问题

烫烫烫个喵啊

nginx

【计算机网络】你需要知道的链路层知识

烫烫烫个喵啊

计算机网络 链路层 交换机

SpringBoot代码生成器

Kerwin

Java 开源

6 个珍藏已久 IDEA 小技巧,这一波全部分享给你!

楼下小黑哥

Java IDEA

week6 总结

不在调上

程序员的时间管理

Kerwin

程序员

设计模式总篇:从为什么需要原则到实际落地(附知识图谱)

Kerwin

Java 设计模式

Java8——方法引用

Java旅途

java8 方法引用

Docker网络学习第一篇:Linux虚拟网络

Lazy

Docker Linux 网络

没内鬼,来点干货!volatile和synchronized

Kerwin

Java volatile synchronized

纯CSS实现自定义单选框和复选框

爱嘤嘤嘤斯坦

CSS Java 编程语言 标签

一张PDF了解JDK10 GC调优秘籍-附PDF下载

程序那些事

Java jdk JVM GC JDK10

ARTS - Week 5

Khirye

ARTS 打卡计划

redis系列之——一致性hash算法

诸葛小猿

redis 一致性hash redis集群

疫情年逆风翻盘

Kerwin

程序员

简述 CAP 原理

不在调上

当我们在谈架构时,我们谈的是什么?

冯文辉

架构 企业架构 系统架构

Elasticsearch从入门到放弃:再聊搜索

Jackey

elasticsearch

Mybatis执行流程浅析(附深度文章推荐&面试题集锦)

Kerwin

Java mybatis

Hello!GitHub 好用好玩值得收藏的开源项目集合~

Kerwin

开源

6种快速统计代码执行时间的方法,真香!

王磊

Java

没内鬼,来点干货!SQL优化和诊断

Kerwin

MySQL

前端杂记-&&和||

阡陌r

JavaScript && ||

日记一则

progyoung

开发框架文档体系化的思考

vivo互联网技术

框架开发

关于如何判断一个list是否为空的思考

Leetao

Python Python基础知识 列表

秒懂云通信:通信圈黑话大盘点

阿里云Edge Plus

云通信 通信云

30岁+程序员职场攻略:找到自己的“职业锚”乘风破浪

华为云开发者联盟

程序员 AI 开发者 职场

因为 Django ORM update,我今天差点「从删库到跑路」

AlwaysBeta

数据库 django 编程 程序员

Docker网络学习第二篇-认识iptables

Lazy

Docker Linux 网络

5万字、97 张图总结操作系统核心知识点

苹果看辽宁体育

操作系统 计算机

Apache CouchDB 1.0破茧而出_Java_张龙_InfoQ精选文章