Map Reduce& RDBMS

时间:2015-10-31 05:07:44

标签: hadoop mapreduce

我正在阅读hadoop权威指南,它写的是Map Reduce有利于更新数据库的更大部分,它使用Sort&合并以重建依赖于传输时间的数据库。

此外,RDBMS仅适用于更新大型数据库的较小部分,它使用受寻道时间限制的B树

有人可以详细说明这两种说法的真正含义吗?

1 个答案:

答案 0 :(得分:0)

我不太清楚这本书是什么意思,但如果你还有原始数据,你通常会做一个地图缩减工作来重建整个数据库/任何东西。

hadoop真正的好处在于它是分布式的,因此性能不是真正的问题,因为你可以添加更多的机器。

让我们举一个例子,您需要重建一个包含10亿行的复杂表。使用RDBMS,您只能垂直扩展,因此您将更多地依赖CPU的功能以及算法的速度。您将使用一些SQL命令执行此操作。您需要选择一些数据,处理它们,做东西等等。因此您很可能会受到寻道时间的限制。

使用hadoop map reduce,你可以添加更多的机器,因此性能不是问题。让我们说你使用10000个映射器,这意味着任务将被分成10000个映射器容器,并且由于hadoop的性质,所有这些容器通常已经在其本地存储的硬盘上有数据。每个映射器的输出始终是其本地硬盘上的键值结构化格式。这些数据由映射器使用密钥进行排序。

现在的问题是,他们需要将数据组合在一起,因此所有这些数据都将被发送到reducer。这通过网络发生,如果你有大数据,通常是最慢的部分。 reducer将接收所有数据,并将它们合并排序以进行进一步处理。最后,您有一个可以上传到您的数据库的文件。

如果您拥有大量数据,那么从映射器到reducer的转移通常是最长的时间,而网络通常是您的瓶颈。也许这就是它的意思,取决于转移时间。