为什么增加群集数量会加快Hadoop MapReduce中的查询速度?

时间:2014-12-14 04:18:49

标签: hadoop mapreduce cluster-computing querying

我刚刚开始学习Hadoop,在官方指南中,它提到了双倍的数量

集群能够像原始数据一样快速查询双倍大小的数据。

另一方面,传统的RDBM仍然会花费两倍的时间来查询结果。

我无法掌握集群和处理数据之间的关系。希望有人能给我

一些想法。

1 个答案:

答案 0 :(得分:1)

这是分布式计算的基本思想。

如果您有一台服务器处理大小为X的数据,它将花费时间Y。 如果您有2X数据,则同一服务器将(大致)花费2Y时间。

但是如果你有10台服务器并行工作(以分布式方式),并且它们都拥有整个数据(X),那么它们将花费Y / 10时间。通过在一台服务器上使用10倍以上的资源可以获得相同的效果,但通常这是不可行和/或可行的。 (比如增加CPU功率10倍也不太合理。)

这当然是一个非常粗略的简化,Hadoop并没有将整个数据集存储在所有服务器上 - 只需要部分。 Hadoop在每个服务器上都有一个数据子集,服务器处理他们生成一个"答案的数据。到底。这需要通信和不同的协议来商定要共享的数据,如何共享,如何分发等等 - 这就是Hadoop所做的。