【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

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

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

关注

评论

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

手把手带你体验 HTTP/3

清远

产品不需要刻意强调创新

Lucien

产品 创新突破 PCon

如何优雅的实现分布式锁

飘渺Jam

redis zookeeper 分布式锁

这种场景你还写ifelse你跟孩子坐一桌去吧

小傅哥

小傅哥 drools ifelse 复杂代码优化 规则引擎使用

程序员的晚餐 | 5 月 13 日 果木鸡丁的夏天

清远

美食

回“疫”录(16):管控更加严格了

小天同学

疫情 回忆录 现实纪录 纪实

数据与广告系列一:初识在线计算广告

黄崇远@数据虫巢

互联网 数据 广告

Web3 极客日报#138

谢锐 | Frozen

区块链 独立开发者 技术社区 Rebase Web3 Daily

ClickHouse为何如此之快?

nauu

数据库 大数据 OLAP Clickhouse

低代码 .VS. 无代码

Jeff Kit

低代码 零代码

Java 中的 Mysql 时区问题

张晓辉

一杯茶的时间,上手 Node.js

图雀社区

node.js

Java并发之AQS源码分析

指尖流逝

Java

游戏夜读 | 预测问题的硬核是?

game1night

严选合伙人(一)

Neco.W

创业 合伙人 初创公司

看完这篇操作系统,和面试官扯皮就没问题了

cxuan

操作系统 计算机基础

记一次线上事故

编号94530

Java MySQL 故障分析 事故

现在的我和未来的我之间的差距原来是态度,而它拉开我们彼此命运的距离。

叶小鍵

JVM源码分析之深入分析Object类finalize()方法的实现原理

猿灯塔

JVM

如何认识更多的朋友扩展社交朋友圈的质量

吃素的左撇子

人生 人脉

个人技术成长与发展

颇风

后端 技术人

程序员的晚餐 | 5 月 14 日 虎皮青椒

清远

美食

Java 真实笔试题2

旭霁

Java

Web3极客日报 #139

谢锐 | Frozen

区块链 独立开发者 技术社区 Rebase Web3 Daily

练习英语口语的误区

董一凡

学习

Linux 容器化技术的前世今生(虚拟化、容器化、Docker)

Meandni

Docker 云计算 Linux 容器 虚拟机

Tomcat安全配置

wong

Tomccat security

程序员的晚餐 | 5 月 10 日 能让你流泪的不只是洋葱

清远

美食

程序员的晚餐 | 5 月 11 日 久违的大蒜的味道

清远

美食

我肝了一个月,给你写出了这本Java开发手册。

cxuan

Java25周年

基于环信sdk在uni-app中快速开发多平台社交Demo

DT极客

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