你好,游客 登录
背景:
阅读新闻

MPP与Hadoop是什么关系?

[日期:2014-12-22] 来源:知乎  作者:严林 李智慧 [字体: ]

  先从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是一种离线海量数据分析架构

  实测对比GreenPlum和Hive,GP比Hive性能高出至少一个数量级,但是大部分场景下,依然是秒级甚至分钟级的延迟,距离具体通常意义的实时毫秒级,差距巨大。

  另外说一句,广义的Hadoop包括 Impala, Presto | Distributed SQL Query Engine for Big Data 这些MPP架构的SQL引擎。Hadoop社区还在持续发展,Spark还在持续给人们带来惊喜,开源软件的迷人之处也在于此





收藏 推荐 打印 | 录入: | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款