massive parallel process与 Hadoop有什么关系,还有之前课上学到过NUMA架构。请大牛解释一下概念和联系!谢谢!
先从NUMA说起吧,NUMA全称为Non-Uniform Memory Access,是主流服务服务器为了提高SMP的可扩展性而采用的一种体系结构。主流服务器一般由多个NUMA节点组成,每个NUMA节点是一个SMP结构,一般由多个CPU组成,并且具有本地内存和IO设备。NUMA节点可以直接访问本地内存,也可以通过NUMA互联模块访问其他NUMA节点的内存,但是访问本地内存的速度远远高于远程访问速度,因此,开发程序要尽量减少不同NUMA节点之间的信息交互。
MPP是一种海量数据实时分析架构。MPP作为一种不共享架构,每个节点运行自己的操作系统和数据库等,节点之间信息交互只能通过网络连接实现。MPP架构目前被并行数据库广泛采用,一般通过scan、sort和merge等操作符实时返回查询结果。目前采用MPP架构的实时查询系统有EMC Greenplum、HP Vertica和Google Dremel,这些都是实时数据处理领域非常有特点的系统,尤其是Dremel可以轻松扩展到上千台服务器,并在数秒内完成TB级数据的分析。
Hadoop作为一个开源项目群本身和MPP并没有什么直接关系,Hadoop中的子项目MapReduce虽然也是做数据分析处理的,但是一般只适用于离线数据分析,区别与MPP较为明显。因为Map和Reduce两个过程涉及到输出文件的存取和大量网络传输,因此往往达不到实时处理的要求。与MapReduce相似的系统还有Microsoft Dryad和Google pregel。
综上所述,NUMA是一种体系结构,MPP是一种实时海量数据分析架构,而Hadoop是一个关于数据存储处理的项目群,其中的MapReduce是一种离线海量数据分析架构。
作者:知乎用户
链接:https://www.zhihu.com/question/22037987/answer/24496456
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
链接:https://www.zhihu.com/question/22037987/answer/24496456
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。