大数据里面说的“移动计算比移动数据划算”究竟是什么意思

经常看到一些大数据相关的博客,提到这样的一句话:移动计算比移动数据便宜。

然后巴拉巴拉一大堆解释,每一句解释里面又会出现新的一些名词,节点啊,容器啊啥的。

当然,这些东西对于一些有大数据经验的人来说,很简单,也很正确。

但是对于一些像我一样,刚刚准备学习大数据的人来说,只有三个字:什么鬼。


一开始碰到这句话虽然不是很理解,但是也不会去在意。有个差不多的感觉。没有去深究。

现在,假期最后一天的下午,有个充足的时间,让我去真正理解一下这句话。


其实这些东西,用大白话说完之后就很简单了。


首先,我们说集群。看一下下面这个比喻:

一只哈士奇拉不动雪橇,那就再来一条,如果你太重了,那就再来一条。

直到能拉动你,集群就是这个思想,很简单。集群里面的一个节点就是一只哈士奇。


集群一开始是干啥的呢,存数据的。

就是HDFS。就是存数据的。


但是集群光光用来存数据还不行。那每台节点只要硬盘就行了。但实际上,每台节点都是有CPU,有内存的。

所有肯定不是单单用来存数据的,当然了这是后话,一开始创造这个集群的人是咋想,咋设计的,他肯定是两个方便都考虑过。


如果只用来存,那这么多数据如果要计算的话,还得从各个只能存的节点上把数据取出来,传输到可以计算的节点上。

(计算的逻辑就是我们写的程序)这是非常消耗机器性能的,带宽,时间等等。传输中还有可能丢失数据。因为既然在集群里面,那肯定是非常大的数据量。所有从时间、可靠性上都不能这么干。这么干其实就是 移动数据


所有我们给每个节点装上CPU,内存。然后把计算的逻辑(就是我们写的程序)下发到各个节点上,让每个节点自己进行计算,这就是 移动计算 。有人说,你装CPU,内存不要钱啊。当然要钱啊,但是很便宜啊,我们集群的思想就是大量性能平平的机器取代单个的超级计算机。所以集群的机器都是很便宜的。还有人说,你把程序传给节点不也消耗时间,消耗带宽吗?

那也划得来,一个程序才多大,几KB,几MB,几百MB不得了了,又不是去开发QQ,去开发windows操作系统,肯定比TB、PB级别你要处理的数据小的多吧。


综上所述,集群的创造者给每个节点加了CPU,让每个节点都有运算的能力,因为移动计算要比移动数据便宜。







请使用浏览器的分享功能分享到微信等