在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

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

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

关注

评论

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

在Goroutines中如何处理Error

Jack

GitHub标星35k+微服务深度原理实践进阶PDF,竟让阿里换下了Dubbo

Java 架构 面试 微服务

flutter系列之:在flutter中使用相机拍摄照片

程序那些事

flutter 架构 大前端 程序那些事

字节跳动CVPR 2023论文精选来啦(内含一批图像生成新研究)

字节跳动技术范儿

字节跳动 算法 计算机视觉 CVPR AIGC

论模式与反模式

凌晞

构架

从0为你讲解,什么是服务降级?如何实现服务降级?

熬夜肝完! 阿里P8的Java进阶知识典藏版,我从18K飙到30K

程序知音

Java 编程语言 java面试 java架构 Java面试题

OpenTiny的设计理念是什么?

英勇无比的消炎药

开源 OpenTiny UI组件库

毕业项目-618秒杀系统

不爱学习的程序猿

创业公司如何不沦为OpenAI“死侍军团”:训练小众数据,服务特定用户

B Impact

真的香!腾讯SpringBoot高阶笔记,限时开源48小时

程序知音

Java 微服务 编程语言 springboot java架构

为 NGINX 配置免费的 Let’s Encrypt SSL/TLS 证书

NGINX开源社区

跨越AI大门,一本翻译蓝皮书、一场人机共译比赛投射出怎样的未来?

脑极体

百度 AI 翻译

MobTech 秒验|本机号码一键登录会泄露隐私吗

MobTech袤博科技

一路披荆斩棘腾讯6面面经(已拿offer)大厂远没想象中的难

小小怪下士

Java 程序员 面试 后端

OneCode :如何构建部署低代码引擎工程

codebee

8个可以免费下载3D模型的网站,快收藏起来吧~

Finovy Cloud

3D软件 3ds Max

如果用ChatGpt给OpenTiny官网设计页面会怎样?

英勇无比的消炎药

开源 前端 OpenTiny UI组件库

template竟能使一套C++代码支持多个客户?

老王同学

c++ template

前端面试实录HTML篇

Immerse

html 面试 前端 HTML5, CSS3

浅谈 Spring 如何解决 Bean 的循环依赖问题

Java spring 循环依赖

加密了100个小姐姐的PDF文档,1行代码搞定,网友:快男!

程序员晚枫

Python 加密 PDF 自动化办公

字节资深架构师用7大部分13章节,彻底讲透SpringBoot生态体系

Java spring 微服务 Spring Boot 框架

华为云开源OpenTiny项目中TinyVue组件库和TinyNG组件库的区别是什么?

英勇无比的消炎药

前端 开源、 OpenTiny UI组件库

性能测试入门实践路线图

老张

性能测试 稳定性保障

细节拉满,80 张图带你一步一步推演 slab 内存池的设计与实现

bin的技术小屋

内存管理 Linux Kenel 内核 内存池

Fabarta 正式加入大数据技术标准推进委员会,共同推动大数据技术标准化进程

Fabarta

人工智能 图数据库 分布式图数据库 图智能

华为开源项目OpenTiny的TinyVue组件库适用于哪些地方?

英勇无比的消炎药

前端 开源、 OpenTiny UI组件库

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