视频:Damien Katz畅谈CouchDB
Damien Katz在访问中畅谈CouchDB。CouchDB是由Apache Incubator开发的一个分布式、容错、面向文档的数据库。CouchDB数据库用Erlang编写,通过HTTP/JSON API访问。数据库视图引擎运行在JavaScript上,但也有Ruby、Python等语言的替代实现。
\u0026#xD;
在被问到CouchDB为什么会选择Erlang去实现的,Katz回答到:
\u0026#xD;
CouchDB最早是用C++实现的,结果有点碰壁。当时我有了存储引擎、有了视图引擎、有了查询语言,都是C++写的,结果我在并发问题上撞了墙,因为 老是要按传统方式去处理线程、锁、消息这些事情。后来我在“Lambda the Ultimate”还是哪里看到Erlang是个非常好的并发语言,所以想看看怎么把它融合进我的代码里头。所以我就下载了Erlang,玩了没多久就认 定用它写数据库引擎和服务器简直是天作之合,于是我把原来的C和C++代码扔了,全部用Erlang重写。用Erlang写这个效率高得没法说,它特别适 合做这些基础设施类型的东西。它原来是为电信业设计的,电信业面对的问题和数据库有很多相似之处,比如输入、输出量都很大、要保证可靠、平滑地处理失败。 所以最后发现Erlang是CouchDB最适合的实现语言。
\u0026#xD;
当被问道Erlang的可伸缩性方面是否给CouchDB以帮助时,Katz解释到:
\u0026#xD;
并发方面绝对有。有人抢着做了个基准测试,能达到2万个并发连接。很厉害的结果。而我们还没有做过Profiling呢。Erlang在这方面绝对给我们 帮了大忙。如果我用传统的线程模型,500个活动连接就算很不错了,所以说Erlang绝对提高了单台机器的可伸缩性。Erlang对多台机器的可伸缩性 也会有帮助,只不过我们暂时还没有用到那方面。有很多工具、库等等可以让多台机器的Erlang环境完成自动故障转移、高效率的消息交换等等,我们只不过 还没用到那方面而已。
\u0026#xD;
更多内容,请观看完整视频:Damien Katz畅谈CouchDB。
视频:Damien Katz畅谈CouchDB相关推荐
- Damien Katz弃Apache CouchDB,继以Couchbase Server
Damien Katz弃Apache CouchDB,继以Couchbase Server InfoQ: Damien Katz弃Apache CouchDB,继以Couchbase Server D ...
- 关于异常和错误处理编程的精华文章。。来自Damien Katz
来自http://damienkatz.net/2006/04/error_code_vs_e.html Error codes or Exceptions? Why is Reliable Soft ...
- NoSQL Databases - CouchDB
CouchDB还是蛮有意思的一个DB, 总结一下, 他重要的特点 1. 最大的特点就是他的file layout and commitment system, 并由此可以保证ACID特性, 在Nosq ...
- CouchDB与Couchbase:区别何在,Membase又将如何?
CouchDB与Couchbase:区别何在,Membase又将如何? 2012-05-23 02:05 682人阅读 评论(1) 收藏 举报 本文来源于我在InfoQ中文站翻译的文章,原文地址是:h ...
- 今时今日,C还适合当下之所需么?
本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2013/01/C-Language 来自Couchbase的Damien Katz认为 ...
- 数据库51年来十八件大事年表
数据库51年来十八件大事年表 数据库经历了这么多年,它的历史你知道多少 1961年:通用电气着手开发Integrated Data Store(IDS,集成数据存储).通常来讲,IDS被认为是第一个& ...
- 九种引人瞩目的开源大数据技术
1.Apache Hadoop Apache hadoop是一个开源的分布式计算框架,最初由Doug为支持其开源Web搜索引擎Nutch所创立.通过集成MapReduce技术,Hadoop将大数据分布 ...
- 非关系型数据库NoSQL的崛起
非关系型数据库NoSQL的崛起 <连线>杂志网络版近日刊载文章,对NoSQL(非关系型数据库)的来源与历史进行了追溯.文章主要介绍了最古老的NoSQL数据库之一CouchDB,这种数据库的 ...
- 从视图索引说Notes数据库
作用和代价 上文介绍了关系型数据库里的索引.Notes数据库里的索引隐藏在视图概念里(本文的讨论只针对Notes的视图索引,不包含全文索引.).开发人员创建的视图仅仅是存放在数据库里的一条设计文档,数 ...
最新文章
- 计算机视觉以及它在商业中是如何应用的?
- 虚拟机网络设置方法——转载
- 在Eclipse的CDT:配置和开发Qt5工程
- 国服被ban咋看_LOL国服十大神人霸哥
- 数组计算的数学模块----NumPy
- 微信支付 php编程,PHP编程:微信支付开发交易通知实例
- 单片机单口不可用或被占用_单片机为什么一直用C语言,不用其他编程语言?只有学过的知道...
- SQL Server 数据库维护脚本合集[007]-删除数据库所有用户表数据
- 位移的单位符号_,(有符号位移)和(无符号位移)的使用方法,及差别
- 从C#开发人员到Windows Phone 7高级开发人员只需3周 – 序
- 优先队列priority_queue的比较函数
- python检查exe运行是否报错_python打包成exe格式后,在部分机子上没法运行
- excel wind插件使用_这些超实用的Excel插件,你要是都知道,确定老司机无疑了
- 中国教育行业市场行情动态及投资潜力研究报告(2022-2028年)
- Establish(扩展ACL)
- 计算机系统基础书记,【盘点】开学第一周:学风浓 教风严 校风正
- 硬件模块应用之超声波测距模块SRF05应用
- 什么是web app
- web防火墙和waf防火墙的区别
- 人工智能的未来趋势将会走向哪里?
热门文章
- React Native 之createDrawerNavigator和createSwitchNavigator
- python读取dat文件写入表格_在python中从.dat文件读取和执行计算
- 工厂计算机管理需要会什么,工厂生产管理系统应该具备哪些功能?- 智造家
- JS编程输出我国古代数学家张丘建在《张丘建算经》一书中提出了“百只鸡问题”。这个问题大概的意思是这样子的:公鸡5文钱1只,母鸡3文钱1只,小鸡3只1文钱,如果用100文钱买100只鸡,那么公鸡、母鸡和
- android开发面试准备!Android黑科技保活实现原理揭秘,内容太过真实
- 【职场】技术人员的自我运营之道
- 第三集 怪物学院 第十九章
- 帝国cms linux伪静态规则,置帝国cms如何设置tag标签伪静态化 linux伪静态设置方法_博客...
- Single View Metrology 单视图度量衡 复现
- 广州的天气真是糟糕,多种防潮的办法解析