写点什么

视频:Damien Katz 畅谈 CouchDB

  • 2009-05-18
  • 本文字数:754 字

    阅读完需:约 2 分钟

Damien Katz 在访问中畅谈 CouchDB。CouchDB 是由 Apache Incubator 开发的一个分布式、容错、面向文档的数据库。CouchDB 数据库用 Erlang 编写,通过 HTTP/JSON API 访问。数据库视图引擎运行在 JavaScript 上,但也有 Ruby、Python 等语言的替代实现。

在被问到 CouchDB 为什么会选择 Erlang 去实现的,Katz 回答到:

CouchDB 最早是用 C++ 实现的,结果有点碰壁。当时我有了存储引擎、有了视图引擎、有了查询语言,都是 C++ 写的,结果我在并发问题上撞了墙,因为 老是要按传统方式去处理线程、锁、消息这些事情。后来我在“Lambda the Ultimate”还是哪里看到 Erlang 是个非常好的并发语言,所以想看看怎么把它融合进我的代码里头。所以我就下载了 Erlang,玩了没多久就认 定用它写数据库引擎和服务器简直是天作之合,于是我把原来的 C 和 C++ 代码扔了,全部用 Erlang 重写。用 Erlang 写这个效率高得没法说,它特别适 合做这些基础设施类型的东西。它原来是为电信业设计的,电信业面对的问题和数据库有很多相似之处,比如输入、输出量都很大、要保证可靠、平滑地处理失败。 所以最后发现 Erlang 是 CouchDB 最适合的实现语言。

当被问道 Erlang 的可伸缩性方面是否给 CouchDB 以帮助时,Katz 解释到:

并发方面绝对有。有人抢着做了个基准测试,能达到 2 万个并发连接。很厉害的结果。而我们还没有做过 Profiling 呢。Erlang 在这方面绝对给我们 帮了大忙。如果我用传统的线程模型,500 个活动连接就算很不错了,所以说 Erlang 绝对提高了单台机器的可伸缩性。Erlang 对多台机器的可伸缩性 也会有帮助,只不过我们暂时还没有用到那方面。有很多工具、库等等可以让多台机器的 Erlang 环境完成自动故障转移、高效率的消息交换等等,我们只不过 还没用到那方面而已。

更多内容,请观看完整视频 Damien Katz 畅谈 CouchDB

2009-05-18 02:133305
用户头像

发布了 225 篇内容, 共 74.8 次阅读, 收获喜欢 53 次。

关注

评论

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

架构师训练营第4周作业

aoeiuvzcs

中国人口红利将转化成工程师红利,但是这到底是谁的红利?是程序员的悲哀还是无奈?

非著名程序员

程序员 工程师 工程师红利 无代码开发

一个典型的大型互联网应用系统使用了哪些技术方案和手段(作业)

互金从业者X

架构师训练营 0 期第四周

Blink

一个典型的大型互联网应用系统使用了哪些技术方案和手段

史慧君

架构师训练营第 4 周 _ 学习总结

方舟勇士

课程总结

Homework- 典型的大型互联网应用系统

River Tree

Homework 大型互联网应用系统

架构师训练营总结 -4

River Tree

学习 极客大学架构师训练营

k8s 上运行我们的 springboot 服务之——flume同步数据到到clickHouse

柠檬

k8s log Clickhouse SpringBoot 2

第四周-命题作业

天之彼方

第四周总结

安阳

架构师训练营第四周总结+作业

林毋梦

架构师训练营 第四周 学习总结

亮灯

揭秘金山云云游戏PaaS服务平台背后的视频编码技术

Geek_116789

架构师训练营第四周学习总结

赵凯

互联网架构设计

架构师训练营第 4周 _ 课后作业

方舟勇士

课程作业

Redis系列(四):天天用着Redis集群,主从同步该知道吧?集群工作原理是否需要了解下?

z小赵

Java redis 高并发 高并发系统设计

点赞功能,你用 MySQL 还是 Redis ?

Java小咖秀

MySQL redis 分布式 分布式系统 经验

系统架构知识总结

史慧君

架构训练营 0 期总结 -- 第四周

互金从业者X

如何做互联网系统架构

dapaul

极客大学架构师训练营

一文彻底掌握二叉查找树(多组动图)

淡蓝色

Java 数据结构 算法

week3课题作业

关于系统架构学习总结

imicode

一文读懂 TypeScript 泛型及应用

阿宝哥

Java typescript 大前端

大型互联网系统技术总结

dapaul

极客大学架构师训练营

架构师训练营第四周作业

zongbin

极客大学架构师训练营

区块链系列教程之:比特币中的共识

程序那些事

比特币 区块链 共识与信任 分叉

从0-1学习项目方案设计

赵孔磊

大型网站技术架构--概述

wei

架构师训练营第四周课后作业

赵凯

高并发 高并发系统设计

视频:Damien Katz畅谈CouchDB_Ruby_Werner Schuster_InfoQ精选文章