`

大数据即时计算产品的一般原理介绍----MPP架构

阅读更多

什么是MPP架构?

      众所周知,基于Map-Reduce模式的Hadoop擅长数据批处理,不是特别符合即时查询的场景。而业界当前做大数据实时查询一般都采用MPP架构,MPP全称Massively Parallel Processing,即大规模并行处理系统。大家都知道在数据库架构设计中,目前主要有Shared Everthing、和Shared Storage、Shared Nothing这三种主流架构,概要架构如下图所示:

Shared Everthting:完全透明共享CPU/MEMORY/IO,并行处理能力是最差的,性能的提升严重依赖单机硬件的升级并总有天花板。
Shared Storage:各个处理单元使用自己的私有 CPU和Memory,共享磁盘系统。典型的代表Oracle Rac,它是数据共享。

Shared Nothing:各个处理单元都有自己私有的CPU/内存/硬盘等,各处理单元之间通过协议通信,并行处理和扩展能力更好。业界如Vertica , Greenplum 都采用该架构来进行大数据实时计算和分析。

MPP作为海量数据实时分析架构也正是采用了Shared Nothing架构,是一种不共享架构,每个节点都有自己的cpu、内存和存储,节点之间信息交互只能通过网络连接实现。

MPP架构的优势:

  • 采用Shared Nothing架构可轻松通过扩展机器节点(处理单元)扩展整个系统的分布式存储和计算能力。
  • 任务并行执行能力强,充分发挥本地计算的能力,数据无共享、无I/O冲突,无锁资源竞争,计算速度快,例如实测对比GreenPlum和Hive,GP比Hive计算速度高出至少一个数量级。
  • 成本低,有弹性。


大数据即时分析为什么使用MPP架构?

      传统数据库并不是专为数据分析而设计,随着大数据时代的到来,面向事务性处理的传统数据库和面向分析的分析型数据库逐步走向分离,从上一段MPP架构的优势可以看出,扩展性好、成本低、在控制网络传输带宽和交互数据量前提下进行大数据即时分析计算速度较快性价比高是互联网公司采用MPP架构作为海量数据即时分析的主要原因,我们公司对于大数据实时分析需求一直都非常渴求,在面对十亿、百亿等数据量下Higo和garuda实际也是采用了MPP架构模式,Higo基于solr和lucene开源软件进行了改造,其中充分利用solr的可分布式的能力进行数据统计,计算节点由solr core承担,计算所需的索引文件也是分布式不共享存储在各个solr core中,通过一个管理节点对整个节点进行调度和管理并进行各节点数据的汇总或合并;Garuda在架构设计上也是采用MPP架构来充分发挥本地计算的能力,采用了分区将计算任务通过各节点同时并行进行计算最终合并结果,具体设计如下图:
                                      

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics