关于MapReduce的争论
作者:phylips@bmy 2010-10-03
[序:关于MapReduce的争论,这篇<<MapReduce和并行数据库,朋友还是敌人?(zz)>>已经进行了展开。不过我通常对这方面的内容持着浓厚的兴趣,所以还是再理一下,并将涉及的论文翻译了出来。]
首先是2008年1月8号David J. DeWitt和Michael Stonebraker发表了一篇文章<< MapReduce: A major step backwards>>。首先介绍下,这两位都是数据库领域的著名科学家,David J. DeWitt,ACM Fellow,2008年以前一直在大学里搞研究,在并行数据库领域建树颇多,之后去了微软在威斯康辛的Jim Gray系统实验室。Michael Stonebraker,名头要更大一些,在1992 年提出对象关系数据库。在加州伯克利分校计算机教授达25年,在此期间他创作了Ingres, Illustra, Cohera, StreamBase Systems和Vertica等系统。其中Ingres是很多现代RDBMS的基础,比如Sybase、Microsoft SQL Server、NonStop SQL、Informix 和许多其他的系统。Stonebraker曾担任过Informix的CEO,自己还经常出来创个业,每次还都成功了。其实即使在RDBMS领域,也可以看到Michael Stonebraker的一些激烈言论,比如<<Michael Stonebraker:主要的RDBMS都是过时的技术>>。可以看出他目前比较力挺列存式数据库,不过也是,Vertica都是他搞出来的,没理由不力挺下。
这篇文章发表之后,真是一石激起千层浪,很快文章被成千上万的人访问,很多人发出了质疑了声音,纷纷在文章后面留言发表评论,中间不乏激烈言辞。很快,到了1月25号,这两位又发了一篇<<MapReduce:(II)(zz)>>,以回应各种质疑。之后到了2009年6月,就在SIGMOD 09上出了这篇<<A Comparision of Approaches to Large-Scale Data Analysis>>,将并行数据库和MapReduce进行了详细的对比,其中就包含了<<MapReduce:(II)(zz)>>部分内容,并得出结论:与并行数据库相比,MapReduce有点弱。终于Google的两位大神Jeff Dean和Sanjay Ghemawat开始对此做出回应,于是在2010年1月份的<<Communication of the ACM>>上出现了这篇<<MapReduce-A Flexible Data Processing Tool>>。同一期上还刊了Michael Stonebraker等人的<<MapReduce and Parallel DBMSs-Friends or Foes >>。最终觉得大家是朋友,要相互学习嘛,化干戈为玉帛,算是为旷日持久的争论划上了个休止符。
其实看过这么多篇论文之后,有一个感觉,比如你看过某个系统最初的那篇原理性的内容之后呢,你可能大概了解了其中的原理。但是要再进一步的了解系统的设计,尤其是其中的缺陷,还是得看这样争论性反思性的文章。
再具体点说,比如你看过<<The Google File System>>然后你就大概知道GFS的原理,然后就觉得这个东西就是NB,但是再看看<< Case Study GFS: Evolution on Fast-forward>>,你就觉得GFS也有这么多缺点啊。Hadoop也是一样,用的时候你觉得这个东西真不错,再看看<< The Hadoop Distributed File System>>你就了解HDFS的基本原理了,但是你再看看<<HDFS scalability-the limits to growth>>,你也会同样发现,当规模上到一定程度,它就搞不定了。如果你再看看<< Apache Hadoop Goes Realtime at Facebook(译)>>,你会发现不光HDFS,HBase也是问题多多。
MapReduce也是一样,看过<< MapReduce: Simplied Data Processing on Large Clusters>>,你大概知道了个原理,看过这些争论之后,对此的理解会更深一层。
参考文献:
http://databasecolumn.vertica.com/database-innovation/mapreduce-a-major-step-backwards/
http://databasecolumn.vertica.com/database-innovation/mapreduce-ii/
http://hi.baidu.com/hexiong/blog/item/de4cebc481ba27a58326ac05.html