这些天,由于David J. DeWitt在Database Column上写了一篇文章: MapReduce: A major step backwards;为此国外很多网站上关于此贴的讨论真是非常红火!双方都有很多业界的大牛参与讨论,目前基本上是反对派占了大部分,更有一些网友把David的这篇文档当成是他的笑柄;
国内一些网站也都转载了其中的一些讨论,但大多都是截取某一部分,所以看起来挺累,有些上下文不对路!正好由于自己决心加强英语阅读训练,而且前期由于项目原因也对MapReduce的原理进行过一些了解,还看过部分Hadoop对此的一些实现;所以直接去看了原帖及其讨论帖:Database People Hating on MapReduce
看完之后,我觉得David其实也不是说要刻意贬低MapReduce,在其文中有很多地方都对其进行了肯定,并且他对其工作原理及其适用场景都有比较深的了解,比如文中提到的:MapReduce may be a good idea for writing certain types of general-purpose computations, but to the database community, it is ...
但他还是对其和RDatabase进行了比较,这样问题就搞大了,两者本来就是针对不同领域、不同场景而特有的一种技术,将其对比本来就不是一件公平的事情!于是乎,很多亲Google的fans开始发飙……
站在David的角度,我个人感觉他还是犯了思维定式的毛病,他是Db领域的专家,但也正因为如此,他在看待很多事物时老是习惯于自己的惯性思维,他经过几十年的不断思考衍生了现在RDBMS中的一些高级特性,比如Schema、Index、Transaction、Views……而MR恰好不走寻常路,在处理大规模数据时很好的规避了index等相关问题,David知道这些,但他仍然要维护RDB的美好特性、维护自己多年的工作成果;
另外一点,文中提到,google和ibm将为很多大学提供1000颗CPU的计算环境,而Berkeley大学也正想将学习MR的编程范式作为一门课程,david觉得这样会对学生会产生不利影响,因为MR采用类似蛮力(brute force)来解决问题!对此我倒很羡慕国外的那些学生,他们的学生能够如此快速的接触到目前最为领先的一些算法和计算技术!相比较而言,国内的学生就没那么幸运了,要想要MR进入国内大学生的课程表,我想再过5年也未必有戏!
总结下,对于David的印象:是个牛人,但太古板、固执!