报名参加CloudWeGo黑客松,奖金直推双丰收! 了解详情
写点什么

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:573067
用户头像

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

关注

评论

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

Git的实战教学 | 从0到1

卢卡多多

git 8月日更

在线分数加减乘除计算器

入门小站

工具

2020-2021华为Java面试真题,内含福利

Geek_f90455

Java 程序员 后端

Druid 从控制台(Druid console)中删除过滤器和运行查询

HoneyMoose

Python OpenCV 图像区域轮廓标记,可用于框选各种小纸条

梦想橡皮擦

8月日更

iOS 开发没市场了吗?移动开发真的凉了吗? | 【话题讨论】

HelloWorld杰少

话题讨论 iOS Developer

10万字Mysql实战文档,Java面试题汇总

Geek_f90455

Java 程序员 后端

2020-2021华为Java面试真题,统统都会!

Geek_f90455

Java 程序员 后端

2020-2021阿里巴巴Java面试真题解析,详细的Java学习指南

Geek_f90455

Java 程序员 后端

架构实战营 - 模块四作业

思梦乐

【设计模式】原型

Andy阿辉

C# 编程 后端 设计模式 8月日更

docker入门:postgresql安装及可视化界面portainer使用

小鲍侃java

8月日更

配置手机测试环境

IT蜗壳-Tango

8月日更

Druid 从控制台(Druid console)从 SQL 脚本转换为 JSON 格式的方法

HoneyMoose

社会心理学-自尊

箭上有毒

读书笔记 8月日更

写作业写作业写作业

Nydia

12年高级工程师的“飞升之路”,面试题+笔记+项目实战

Geek_f90455

Java 程序员 后端

2021Java开发现状分析,给大家安排上!

Geek_f90455

Java 程序员 后端

Druid 的几个查询实例

HoneyMoose

Rust从0到1-模式-可反驳性

rust 模式 Patterns Refutability 可反驳性

02 设计模式之策略模式

陈皮的JavaLib

Java 设计模式 策略模式 8月日更

Linux之iostat命令

入门小站

Linux

15分钟的字节跳动视频面试,工作感悟

Geek_f90455

Java 程序员 后端

Druid 从控制台(Druid console)中查询字段

HoneyMoose

SpringBoot 中使用Redis缓存

xcbeyond

redis 8月日更

10天拿到字节跳动Java岗位offer,互联网行业“中年”危机

Geek_f90455

Java 程序员 后端

3分钟搭建一个网站?腾讯云Serverless开发体验

Zhendong

腾讯云 Serverless 云原生 云开发

webstorm之开发工具Vim(一)

Augus

8月日更

2021Java大厂高频面试题,原理+实战+视频+源码

Geek_f90455

Java 程序员 后端

Druid 通过 dsql 运行的时候提示错误 urllib2

HoneyMoose

怎么对数据指标管理

水滴

指标体系 数据指标 8月日更 指标管理

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