AI 从业者都在关注的 NVIDIA GTC 2023 China AI Day 来了!报名戳 了解详情
写点什么

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

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

关注

评论

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

数据产品经理实战-数据门户搭建(上)

第519区

数据中台 开发数据

线程池续:你必须要知道的线程池submit()实现原理之FutureTask!

一枝花算不算浪漫

源码分析 并发编程

Vue生态篇(一)

shirley

Java Vue

你不知道的SSD那些事

焱融科技

分布式 存储 SSD nvme

【Java 25周年有奖征文获奖名单公布!!!】关于Java,你最想赞扬、吐槽、期待的变化是什么?

InfoQ写作社区官方

写作平台 Java25周年 热门活动

MySQL 可重复读,差点就我背上了一个 P0 事故!

楼下小黑哥

Java MySQL

我的编程之路 -6(新时代)

顿晓

android 编程之路 时代

ARTS - Week Two

shepherd

js algorithm

奈学:传授“带权重的负载均衡实现算法”独家设计思路

奈学教育

分布式

那些会阻碍程序员成长的细节[2]

MavenTalker

程序员 程序人生

5G时代下应用的安全防御研究

Nick

5G 5G网络安全 5G安全

关爱孩子的心理建设

Neco.W

人生 感悟 教育

# LeetCode 215. Kth Largest Element in an Array

liu_liu

算法 LeetCode

深入计算机底层,从几本靠谱的书开始

HackMSF

计算机工作原理

ARTS-01

NIMO

ARTS 打卡计划 ARTS活动

像孩子一样认识新事物 —— 读《终身幼儿园》

YoungZY

学习 读书笔记 读书

爬虫框架Scrapy应用实践-淘宝保险频道数据抓取【2】-抓包分析

hadesxiong

Python 爬虫 保险 Scrapy

我常用的浏览器插件

彭宏豪95

chrome 效率工具 浏览器 插件

知识也会生宝宝?

史方远

个人成长 随笔杂谈

ARTS-1

你当像鸟飞往你的山

ARTS 打卡计划

ARTS week 3

刘昱

我为什么开始技术写作?

架构精进之路

技术创作

美团可能会强势涉足 ToB

仙女的猪

创业 互联网巨头 深度思考 互联网

# LeetCode 863. All Nodes Distance K in Binary Tree

liu_liu

算法 LeetCode

开源分布式文件系统大检阅

焱融科技

开源 sds 存储 焱融科技 文件存储

重学 Java 设计模式:实战单例模式

小傅哥

设计模式 编程思维 重构 优化代码

DDD 中的那些模式 — 使用 Specification 管理业务规则

Joshua

设计模式 领域驱动设计 DDD 架构模式

Flutter开发环境配置

玉龙BB

flutter android vscode

如何做好Code Review?

架构精进之路

Code Review

眼中有码,心中无码

小眼睛聊技术

学习 深度思考 程序员 最佳实践 算法

每个人都是领导者的工程团队

hongfei

工程能力 项目实践

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