AI实践哪家强?来 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:573107
用户头像

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

关注

评论

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

Docker Swarm从部署到基本操作

程序员欣宸

Docker Docker Swarm 10月月更

华为云从入门到实战 | 云关系数据库备份、恢复及存储容灾服务

TiAmo

华为 华为云 云开发 10月月更

React源码分析(一)Fiber

goClient1992

React

PriorityQueue 源码解析(三)

知识浅谈

Priority Queue 10月月更

【LeetCode】可能的二分法Java题解

Albert

算法 LeetCode 10月月更

Qt|QListWidget实现自定义Item效果

中国好公民st

c++ qt 10月月更

redis设计成单线程的原因是什么

芥末拌个饭吧

后端 redis 底层原理 10月月更

React-Hooks源码深度解读

goClient1992

React

Go如何优雅的对时间进行格式化?

王中阳Go

Go golang 学习方法 golang 面试 10月月更

美团前端vue面试题(边面边更)

bb_xiaxia1998

Vue

用PM2做Python进程管理也太好用了吧

芥末拌个饭吧

进程 pm2 10月月更

关于马蹄链项目系统开发流程及技术方案分析

I8O28578624

大数据ELK(二十八):制作Dashboard

Lansonli

10月月更

面试官:深度不够,建议回去深挖

小傅哥

Java 程序员 面试 小傅哥 招聘

【一Go到底】第十七天---函数的递归调用

指剑

Go golang 10月月更

react源码分析:实现react时间分片

flyzz177

React

你用Go写过中间件吗?带你用Gin实现【用户角色权限管理中间件】

王中阳Go

golang MySQL 学习方法 高效学习 10月月更

Java三大特性(二)—继承

共饮一杯无

Java 继承 10月月更

从源码角度看React-Hydrate原理

flyzz177

React

浙江特殊教育职业学院用上了福昕无障碍技术

科技热闻

React-Hooks怎样封装防抖和节流-面试真题

beifeng1996

React

Vue是怎样监听数组的变化的?

bb_xiaxia1998

Vue

你知道Redis是如何保持数据一致性吗

芥末拌个饭吧

后端 redis 底层原理 10月月更

js函数柯里化-面试手写版

helloworld1024fd

JavaScript

架构实战训练营模块 2 作业

Geek_b35d92

react源码分析:深度理解React.Context

flyzz177

React

Java基础(八)| 常用API与StringBuilder详解

timerring

Java API 10月月更

水果成篮问题

掘金安东尼

算法 10月月更

$nextTick的原理是什么-vue面试进阶

bb_xiaxia1998

Vue

这几道const和iota的面试题你能做对吗?

王中阳Go

Go 面试题 const 10月月更 go基础

从0到1设计通用数据大屏搭建平台

vivo互联网技术

大数据 可视化 低代码平台 敏捷BI

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