写点什么

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

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

关注

评论

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

社招前端必会面试题

bb_xiaxia1998

JavaScript 前端

nft平台搭建:nft商城开发nft平台开发

开源直播系统源码

NFT 数字藏品 数字藏品开发 数字藏品系统

社招前端二面面试题

夏天的味道123

JavaScript 前端

预约报名!阿里云EDA上云解决方案直播开启

阿里云弹性计算

EDA

「趣学前端」图片操作之“多媒体顶流”不羁的一生

叶一一

node.js 前端 9月月更

详解KubeEdge边缘网络项目EdgeMesh

华为云开发者联盟

云计算 云原生 后端 边缘计算 企业号九月金秋榜

架构实战营模块七作业

zhihai.tu

Qt实现文本编辑器(二)

中国好公民st

c++ qt 9月月更

Elasticsearch聚合学习之一:基本操作

程序员欣宸

Elastic Search 9月月更

SpringCloud Feign 远程调用(史上最详细讲解)

SpringCloud Fegin 9月月更

基于阿里云GPU云服务器的AIACC助力UC搜索业务性能提效380%,每年节省数千万成本

阿里云弹性计算

神龙 加速引擎 TensorRT QTC

腾讯前端二面面试题(附答案)

beifeng1996

JavaScript 前端

库调多了,都忘了最基础的概念《Mysql相关知识》

知识浅谈

MySQL 9月月更

「趣学前端」“寓教于乐”的Node.js学习记录

叶一一

node.js 前端 9月月更

MySQL架构与历史

阿柠xn

MySQL innodb 事务 sql 9月月更

打通JAVA与内核!一个ReentrantLock锁的实现原理

Java快了!

java;

专业低代码如何选型?看这12项关键能力

牛刀专业低代码

低代码 低代码开发 低代码平台

「趣学前端」桂花留晚色,聊聊zlib压缩

叶一一

node.js 前端 9月月更

数据治理(十五):Ranger 管理 Hive 安全

Lansonli

数据治理 9月月更

分布式事务解决思想以及实现方案

想要飞的猪

3PC 2PC注意事项 TCC 本地消息表

OpenHarmony源码的编译构建

坚果

OpenHarmony 9月月更

频面试题合集

helloworld1024fd

JavaScript 前端

文盘Rust -- 如何把配置文件打包到二进制文件里

京东科技开发者

rust 后端 文件 配置文件 spring-boot

手部骨骼跟踪能力,打造控制虚拟世界的手势密码

HarmonyOS SDK

关于 DynamoDB

Joseph295

近期对前端性能优化的总结

南城FE

性能优化 前端 性能 性能提升

还能把浏览器当作 Web 服务器?骚操作,学废了~

掘金安东尼

前端 9月月更

Python基础(三) | Python的组合数据类型

timerring

Python. 9月月更

美团前端二面高频面试题合集

loveX001

JavaScript 前端

Java常见名词解释

源字节1号

软件开发 后端开发

vivo 全球商城:电商平台通用取货码设计

vivo互联网技术

Java 系统设计 服务器

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