San*_*alp 8 architecture hadoop mapreduce distributed-computing design-principles
在最近关于分布式处理和流媒体的讨论中,我遇到了"代码转移到数据"的概念.请有人帮忙解释一下.这个短语的参考是MapReduceWay.
就Hadoop而言,它是在一个问题中陈述的,但仍然无法用科技不可知的方式找出原理的解释.
基本思想很简单:如果代码和数据位于不同的计算机上,则必须先将其中一个移到另一台计算机上,然后才能对数据执行代码。如果代码比数据小,那么如果所有机器都同样快且代码兼容,则最好将代码发送到保存数据的机器。[可以说您可以根据需要发送源代码和JIT编译]。
在大数据世界中,代码几乎总是小于数据。
在许多超级计算机上,数据分布在多个节点上,并且整个应用程序的所有代码都在所有节点上复制,这恰好是因为与本地存储的数据相比,整个应用程序很小。然后,任何节点都可以运行程序中适用于其所保存数据的部分。无需按需发送代码。