QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

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

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

关注

评论

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

中国CRM突围指南

ToB行业头条

CRM

大企软件系统问题多?归乡名企工程师:解决很简单,分分钟做个新系统

Learun

敏捷开发 快速开发 企业开发 CRM 企业应用

测试过程中如何快速定位一个bug

测试人生路

软件测试

LeetCode题解:455. 分发饼干,贪心while循环,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

同步与异步,回调与协程

Linux服务器开发

线程 后端 协程 底层应用开发 Linux服务器开发

美团T8级架构师剖析Spring Boot源码:日志、缓存、消息、Web服务等

Java架构追梦

Java 源码 架构 微服务 springboot

架构师 3 期 3 班 -week2- 作业

zbest

作业 week2

OPPO技术开放日第六期丨OPPO安全解析“应用与数据安全防护”背后的技术

OPPO安全

OPPO安全

跟随杠精的视角一起来了解Redis的主从复制

leonsh

redis redis高可用 redis主从

智能视频监控的发展和优势

anyRTC开发者

安全 监控 音视频 WebRTC RTC

在K8S/OpenShift上开发应用程序的14种最佳实践

东风微鸣

Kubernetes 最佳实践 k8s最佳实践 openshift

精彩回顾 | 一张图读懂OPPO应用与数据安全防护

OPPO安全

OPPO安全

《迅雷链精品课》第九课:区块链P2P网络

迅雷链

区块链

架构师 3 期 3 班 -week2- 总结

zbest

总结 week2

PGAS模型编程语言

星际行者

为什么从蚂蚁离职?base拉胯,高潜也被倒挂,就是酸,忍不了

Java架构师迁哥

从零做网站开发:基于Flask和JQuery,实现表格管理平台

华为云开发者联盟

jquery flask 框架

深入了解进程间通信:System V信号量+共享内存

ShenDu_Linux

Linux 进程 内存管理 通信协议

Serverless 应用引擎的远程调试和云端联调

阿里巴巴云原生

Java Serverless 云原生 后端

AWS IoT Greengrass设计解析

soolaugust

边缘计算 工业4.0 工业物联网 iiot

想了解表格问答,我们先看看TA的前世

华为云开发者联盟

数据库 规范 表格

区块链技术应用打造智慧物流

13828808769

区块链技术应用开发

关于物联网规则引擎技术,你想要知道的都在这儿!

华为云开发者联盟

数据 联动 iotda

技术应用丨DWS 空间释放(vacuum full) 最佳实践

华为云开发者联盟

内存 存储 磁盘

精心总结C++智能指针用法详解(完整版)附带视频讲解

ShenDu_Linux

c++ 程序员 指针 智能指针

设备常用网管配置举例

go-zero 之 rest 实战与原理

万俊峰Kevin

RESTful api 网关 microservice Go 语言

你敢信?就是这个Netty的网络框架差点把我整疯了,哭jj

小Q

学习 编程 面试 Netty 网络

linux后台开发必知的linux系统内存知识总结

linux大本营

c++ Linux 后台开发 架构师 内存管理

cncf serverless 所有项目全解读

coldTea214

云计算 Serverless 容器 cncf

「云原生上云」后的聚石塔是如何应对 双11 下大规模应用挑战的

阿里巴巴云原生

阿里云 云原生

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