常理上有几个理由使得MapReduce框架慢于MPP数据库:


1.容错所引入的昂贵数据实体化(data materialization)开销。

2.孱弱的数据布局(data layout),比如缺少索引。

3.执行策略的开销[1 2]。

而我们对于Hive的实验也进一步证明了上述的理由,但是通过对Hive“工程上”的改进,如改变存储引擎(内存存储引擎)、改善执行架构(partial DAG execution)能够缩小此种差距。同时我们也发现一些MapReduce实现的细节会对性能有巨大的影响,如任务调度的开销,如果减小调度开销将极大地提高负载的均衡性。