写点什么

视频: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:133278
用户头像

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

关注

评论

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

Spring Boot框架下实现Excel服务端导入导出

葡萄城技术团队

前端 Excel 控件

8分钟带你学会SpringBoot整合Redis来实现缓存技术

好程序员IT教育

redis Spring Boot

10 分钟部署一个 API 工具

Scar 

开源 Serverless 接口测试 Vercel

关于Web3.0,你了解多少?个推与您畅聊下一代互联网

个推

互联网 元宇宙 Web3.0

实践分享:30分钟在电脑端运行小程序

FN0

桌面应用 桌面应用开发

云原生网关的可观测性体系实践

阿里巴巴云原生

阿里云 云原生 云原生微服务

2 分钟,教你用 Serverless 每天给女朋友自动发土味情话

阿里巴巴云原生

阿里云 Serverless 云原生

大数据 Hadoop 的五大优势

千锋IT教育

JavaScript刷LeetCode拿offer-树的遍历

js2030code

JavaScript LeetCode

Kotlin变量的空安全(Null Safety)

子不语Any

android kotlin 11月月更

居民消费价格指数变化新鲜出炉,这类商品同比涨幅最大

前嗅大数据

数据分析 数据采集 居民消费 居民消费指数

技术解读倚天 ECS 实例——Arm 芯片的 Python-AI 算力优化 | 龙蜥技术

OpenAnolis小助手

Python AI arm ECS sig

RocketMQ 5.0 API 与 SDK 的演进

阿里巴巴云原生

阿里云 RocketMQ 云原生

一路同行:开发者与华为云的2022

脑极体

聚焦年轻消费人群 百草味入围最受“Z世代”喜爱品牌TOP10

E科讯

扒去Spring事件监听机制的外衣,竟然是观察者模式

程序知音

Java spring ssm Java后端 后端技术

Wallys/Introduction of DR9074 series network card/qcn9074/qcn9072/qcn9024/industrial M.2 card

wallysSK

QCN9074 QCN9024 QCN9072

数字化时代,企业需要怎样的数据中台?报名元年微课堂,一起来探索

元年技术洞察

数据中台

以用户为导向,vivo打造安全新范式

极客天地

Redis6.0新特性、剖析线程模型(单线程和多线程)

C++后台开发

redis 多线程 后端开发 单线程 C++开发

java企业级开发中常见的注入方式

千锋IT教育

10月月更获奖名单出炉啦!快来看看你上榜没有!

InfoQ写作社区官方

热门活动

线性稳压电源和开关电源,到底有什么区别?

元器件秋姐

电源电路 元器件采购 元器件电商 元器件知识 华秋商城

前端leetcde算法面试套路之二叉树

js2030code

JavaScript LeetCode

【Redis】Redis AOF持久化

石臻臻的杂货铺

redis 11月月更

vue和react的区别有哪些,哪个好

千锋IT教育

首批!腾讯云通过金融开源技术服务能力评估

腾源会

开源

鼎茂科技获得阿里云首批产品生态集成认证,携手阿里云共建新合作

阿里巴巴云原生

阿里云 云原生 加速器 企业招募

【倒计时4天】杭州专场-单元测试产品体验样板间,等你加入!

TRaaS

Docgeni 2.0 发布,开启自动化

PingCode研发中心

用javascript分类刷leetcode3.动态规划(图文视频讲解)

js2030code

JavaScript LeetCode

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