写点什么

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

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

关注

评论

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

程序员们,快把这款AI“魔法”做到手机相机里,求求了

最新动态

内存数据库和磁盘数据库哪个更强?

OceanBase 数据库

内存数据库 oceanbase 磁盘数据库

IteratorPattern-迭代器模式

梁歪歪 ♚

设计模式

后端解构复习(一)

卢卡多多

技术栈 6月月更

高性能API网关Kong介绍

天翼云开发者社区

模块七作业: 王者荣耀商城异地多活架构设计

凯博无线

Vue框架学习笔记 每天学习----四

恒山其若陋兮

6月月更

聊聊 Sharding-Jdbc 的原理-初篇

Nick

MySQL 分库分表 中间件 ShardingJDBC 6月月更

当我们进行性能优化,我们在优化什么(LightHouse优化实操)

刘悦的技术博客

性能优化 前端 优化 性能优化手册

通用池化框架GenericObjectPool性能测试

FunTester

InfoQ 极客传媒 15 周年庆征文 | 轻量级状态机COLA StateMachine保姆级入门教程

Zhendong

Java 架构设计 状态机 InfoQ极客传媒15周年庆

Oceanbase 读写分离方案探索与优化

OceanBase 数据库

分布式数据库 读写分离 oceanbase

OceanBase数据库荣获领先科技成果“新技术”奖

OceanBase 数据库

oceanbase 数博会

王者荣耀商城异地多活架构设计

dan629xy

富滇银行完成数字化升级|OceanBase数据库助力布局分布式架构中台

OceanBase 数据库

分布式数据库 oceanbase

深入浅出 ODP(一):功能模块及特性详解

OceanBase 数据库

数据库 oceanbase

ChainOfResponsibilityPattern-责任链模式

梁歪歪 ♚

设计模式

CommandPattern-命令模式

梁歪歪 ♚

设计模式

OceanBase 成为信通院首批可信开源社区、可信开源项目

OceanBase 数据库

开源 oceanbase 信通院

基于 RDMA 的分布式系统研究进展

OceanBase 数据库

RDMA

OceanBase 源码解读(十五):Location Cache 模块浅析

OceanBase 数据库

数据库 oceanbase 源码解读

创建一个springboot服务就是这么简单

乌龟哥哥

6月月更

MPLS协议简述

穿过生命散发芬芳

6月月更 MPLS

王者荣耀商城异地多活架构设计

大眼喵

「架构实战营」

【动态规划入门篇】只需三步解决它

知心宝贝

算法 前端 动态规划 Leet Code 6月月更

idea社区版和商业版有什么区别

源字节1号

软件开发

如何快速上手AIRIOT?

AIRIOT

物联网 低代码平台

几经波折,InfluxDB的TSDB C位还能做多久?

CnosDB

IoT 时序数据库 开源社区 CnosDB infra

【愚公系列】2022年06月 二十三种设计模式(二十)-状态模式(State Pattern)

愚公搬代码

6月月更

【Go实现】实践GoF的23种设计模式:原型模式

元闰子

Go 设计模式 原型模式

万物并作,吾以观复|OceanBase 政企行业实践

OceanBase 数据库

数据库 oceanbase

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