InfoQ

新闻

MapReduce是倒退:拿它与关系数据库比较公平吗?

作者 Scott Delap译者 宋玮 发布于 2008年1月19日 上午4时38分

社区
Java
主题
网格计算
标签
MapReduce,
Hadoop

最近David J. DeWitt和Michael Stonebraker在the Database Column上写了一篇文章试图将日益流行的MapReduce编程范式与关系数据库进行比较。该文章说道:

……作为数据处理范式,MapReduce代表着一个巨大退步。数据库社区已经学到了如下三个经验,这些经验从40年前IBM第一次在1968年发布IMS时就已经揭示出来了……根据迄今为止的评估实验,我们严重怀疑MapReduce应用程序能有多大伸缩性。此外,MapReduce的实现者应该好好学习近25年来的并行DBMS研究文献。

文章接着给罗列了如下判据:

  • MapReduce是一个糟糕的实现(与B-trees相比)
  • MapReduce不是革新
  • MapReduce缺乏某些特性(如装载和索引)
  • MapReduce与DBMS工具不兼容

博客界很快就声称这一比较及其理由都是漏洞百出的。Greg Jorgensen进行了逐条反驳。在这些条目中,他指出MapReduce不是数据库,而是用于分布式处理的算法技术,不能这么比较。Jorgensen建议更好的比较对象应该是SimpleDB:

……作者真正想抱怨的是分布式“云”数据管理系统,如亚马逊的SimpleDB;实际上,如果你将“MapReduce”换为“SimpleDB”,原文差不多就有意义了……

Rich Skrenta从打破习惯的角度发表了评论:

……打破了你的习惯的东西总是有些地方看不顺眼的。功能不足,发展得也不成熟。但要是在价格上能赢10倍,不牢靠的廉价货最终也会胜出。想想Linux对阵AT&T的Unix,或mysql对阵Oracle……

关于这篇文章冗长的争论和评论还可以从redditycombinator上找到。

查看英文原文:MapReduce A Step Backwards: Is Comparison to Relational Databases Fair?

没有回复

回复

深度内容

Flex与JSON及XML的互操作

平台需要互操作性。在这篇文章中,作者仔细研究了Flex和JSON及XML的互操作性。文章也包含了使用E4X库来将XML映射到图表和表格组件的内容,还演示了如何使用as3core库来解码JSON消息。

用Qi4j进行面向组合编程

本文将简要介绍面向组合编程(COP,Composite Oriented Programming)的概念,展示它如何规避OOP存在的一些问题,并重新点燃使用可重用部件组装领域模型(Domain Model)的希望。

系统开发——新学科,新教育

一门新的计算机学科——“系统开发”,强调人性化、匠艺、设计、创意、创新和新事物的涌现,并建议用被称为“bottega”的工作室替代乏善可陈的教室。

图书聚焦:Visual Studio 2008 揭秘

Mike Snell和Lars Powers用他们最近由Sams出版的新书《Visual Studio 2008揭秘》,试图帮助大家提高开发人员的生产力。本文包括一个下载样章——第10章调试。

BPEL为何不是BPM的圣杯?

Pierre Vigneras在本文中讨论了作为标准之一的BPEL所存在的问题。Pierre先给我们大致介绍了一个简单的并行流程,接着讨论了从业者在试图以一个结构化模型为基础表达非结构化流程时遇到的一系列问题。

基于范型的多语言编程

你是否仔细思考过,为什么人们总在讨论“要正确的语言做恰当的事情”?在这篇文章中,Sadek Drobi向你解释了为什么应该在系统内部混合使用多种语言。

采访与书摘《Pro Web 2.0 Application Development with GWT》

Jeff Dwyer就关于他的新书(《Pro Web 2.0 Application Development with GWT》)、GWT1.5以及创建可搜索的Ajax应用谈了一些他的见解。

时刻准备着,迎接IT业的春天

我们需要设身处地地为客户及客户的业务本身着想,与客户同舟共济。更多创新的思路、产品和模式也同样将为IT业带来新的出路。IT业并不需要坐以待毙,在春天到来之后,市场将会更加繁荣!