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相关推荐

  1. Damien Katz弃Apache CouchDB,继以Couchbase Server

    Damien Katz弃Apache CouchDB,继以Couchbase Server InfoQ: Damien Katz弃Apache CouchDB,继以Couchbase Server D ...

  2. 关于异常和错误处理编程的精华文章。。来自Damien Katz

    来自http://damienkatz.net/2006/04/error_code_vs_e.html Error codes or Exceptions? Why is Reliable Soft ...

  3. NoSQL Databases - CouchDB

    CouchDB还是蛮有意思的一个DB, 总结一下, 他重要的特点 1. 最大的特点就是他的file layout and commitment system, 并由此可以保证ACID特性, 在Nosq ...

  4. CouchDB与Couchbase:区别何在,Membase又将如何?

    CouchDB与Couchbase:区别何在,Membase又将如何? 2012-05-23 02:05 682人阅读 评论(1) 收藏 举报 本文来源于我在InfoQ中文站翻译的文章,原文地址是:h ...

  5. 今时今日,C还适合当下之所需么?

    本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2013/01/C-Language 来自Couchbase的Damien Katz认为 ...

  6. 数据库51年来十八件大事年表

    数据库51年来十八件大事年表 数据库经历了这么多年,它的历史你知道多少 1961年:通用电气着手开发Integrated Data Store(IDS,集成数据存储).通常来讲,IDS被认为是第一个& ...

  7. 九种引人瞩目的开源大数据技术

    1.Apache Hadoop Apache hadoop是一个开源的分布式计算框架,最初由Doug为支持其开源Web搜索引擎Nutch所创立.通过集成MapReduce技术,Hadoop将大数据分布 ...

  8. 非关系型数据库NoSQL的崛起

    非关系型数据库NoSQL的崛起 <连线>杂志网络版近日刊载文章,对NoSQL(非关系型数据库)的来源与历史进行了追溯.文章主要介绍了最古老的NoSQL数据库之一CouchDB,这种数据库的 ...

  9. 从视图索引说Notes数据库

    作用和代价 上文介绍了关系型数据库里的索引.Notes数据库里的索引隐藏在视图概念里(本文的讨论只针对Notes的视图索引,不包含全文索引.).开发人员创建的视图仅仅是存放在数据库里的一条设计文档,数 ...

最新文章

  1. 计算机视觉以及它在商业中是如何应用的?
  2. 虚拟机网络设置方法——转载
  3. 在Eclipse的CDT:配置和开发Qt5工程
  4. 国服被ban咋看_LOL国服十大神人霸哥
  5. 数组计算的数学模块----NumPy
  6. 微信支付 php编程,PHP编程:微信支付开发交易通知实例
  7. 单片机单口不可用或被占用_单片机为什么一直用C语言,不用其他编程语言?只有学过的知道...
  8. SQL Server 数据库维护脚本合集[007]-删除数据库所有用户表数据
  9. 位移的单位符号_,(有符号位移)和(无符号位移)的使用方法,及差别
  10. 从C#开发人员到Windows Phone 7高级开发人员只需3周 – 序
  11. 优先队列priority_queue的比较函数
  12. python检查exe运行是否报错_python打包成exe格式后,在部分机子上没法运行
  13. excel wind插件使用_这些超实用的Excel插件,你要是都知道,确定老司机无疑了
  14. 中国教育行业市场行情动态及投资潜力研究报告(2022-2028年)
  15. Establish(扩展ACL)
  16. 计算机系统基础书记,【盘点】开学第一周:学风浓 教风严 校风正
  17. 硬件模块应用之超声波测距模块SRF05应用
  18. 什么是web app
  19. web防火墙和waf防火墙的区别
  20. 人工智能的未来趋势将会走向哪里?

热门文章

  1. React Native 之createDrawerNavigator和createSwitchNavigator
  2. python读取dat文件写入表格_在python中从.dat文件读取和执行计算
  3. 工厂计算机管理需要会什么,工厂生产管理系统应该具备哪些功能?- 智造家
  4. JS编程输出我国古代数学家张丘建在《张丘建算经》一书中提出了“百只鸡问题”。这个问题大概的意思是这样子的:公鸡5文钱1只,母鸡3文钱1只,小鸡3只1文钱,如果用100文钱买100只鸡,那么公鸡、母鸡和
  5. android开发面试准备!Android黑科技保活实现原理揭秘,内容太过真实
  6. 【职场】技术人员的自我运营之道
  7. 第三集 怪物学院 第十九章
  8. 帝国cms linux伪静态规则,置帝国cms如何设置tag标签伪静态化 linux伪静态设置方法_博客...
  9. Single View Metrology 单视图度量衡 复现
  10. 广州的天气真是糟糕,多种防潮的办法解析