写点什么

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

  • 2008-01-19
  • 本文字数:661 字

    阅读完需:约 2 分钟

最近 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……

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

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

2008-01-19 04:381900
用户头像

发布了 150 篇内容, 共 45.6 次阅读, 收获喜欢 10 次。

关注

评论

发布
暂无评论
发现更多内容

Maven 依赖调解源码解析(四):传递依赖,第一声明者优先

xiaoxi666

maven 源码解析

如何关闭maven-default-http-blocker?

Robert Lu

Java maven

Android C++系列:Linux进程(一)

轻口味

c++ android jni 11月日更

模块四-考试试卷存储方案

小何

「架构实战营」

马拉车算法解最长回文子串!Manacher

老表

Python LeetCode 11月日更 算法与数据结构

搞定大厂算法面试之leetcode精讲2.时间空间复杂度

全栈潇晨

LeetCode 算法面试 算法刷题

架构实战营-模块五

瓜子葫芦侠

「架构实战营」

redis sentinel 设计考试试卷

云里雾花

redis sentinel

Maven 依赖调解源码解析(三):传递依赖,路径最近者优先

xiaoxi666

maven 源码解析

Prometheus Exporter (五)BlackBox Exporter

耳东@Erdong

Prometheus exporter blackbox exporter 11月日更

sockfwd 一个数据转发的小工具

Robert Lu

Go 语言

SAP数据中心概述

汪子熙

数据中心 Cloud SAP 11月日更

Maven依赖调解源码解析(二):如何调试Maven源码和插件源码

xiaoxi666

maven 源码解析

Fabric.js 画布基础功能

德育处主任

JavaScript 大前端 canvas 画布 FabricJS

最强最全面的数仓建设规范指南(一)

五分钟学大数据

11月日更

一文带你了解HTTP

喀拉峻

网络

Maven 依赖调解源码解析(一):开篇

xiaoxi666

maven 源码解析

Maven 依赖调解源码解析(五):同一个文件内声明,后者覆盖前者

xiaoxi666

maven 源码解析

架构实战营-模块四作业

随风King

「架构实战营」

记录一次错误使用 yum 命令的尴尬

liuzhen007

11月日更

如何通过抓包来查看Kubernetes API流量

Robert Lu

golang #Kubernetes#

看动画学算法之:hashtable

程序那些事

Java 数据结构 算法 程序那些事 11月日更

HiveSQL优化方法

大数据技术指南

11月日更

低调的采集,低调的学习,用自然资源部信息中心网站,来练习Python爬虫

梦想橡皮擦

11月日更

Vue进阶(贰零贰):集合 Set 和 Map

No Silver Bullet

Vue 集合 11月日更

【系列文章】Maven 源码解析:依赖调解是如何实现的?

xiaoxi666

maven 源码解析

【Flutter 专题】02 图解 Mac 环境下安装配置环境

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 11月日更

k8s endpoints controller源码分析

良凯尔

Kubernetes 源码分析 Kubernetes源码 #Kubernetes#

Maven 依赖调解源码解析(七):总结

xiaoxi666

maven 源码解析

架构营模块四作业

GTiger

架构实战营

将 Java 应用部署到 SAP 云平台 neo 环境的两种方式

汪子熙

Cloud SAP CloudFoundry 11月日更

MapReduce是倒退:拿它与关系数据库比较公平吗?_Java_Scott Delap_InfoQ精选文章