MPP架构简介

原文链接:MPP架构_迷路剑客的博客-CSDN博客_mpp架构

MPP,全称为Massively Parallel Processor,翻译过来就是大规模并行处理。MPP系统是由许多松耦合的处理单元组成的(要注意的是这里指的是处理单元而不是处理器)。每个处理单元内的CPU都有自己私有的资源,如总线,内存,硬盘等,且都有操作系统和管理数据库的实例复本。这种结构最大的特点在于不共享资源(share-nothing)。
 

MPP架构特点

Share Nothing、节点之间数据不共享,只有通过网络连接实现的协同
每个节点有独立的存储和内存
数据根据某种规则(如Hash)散布到各个节点
计算任务也是会发布到各个节点并行执行,最后再将结果聚合到整体返回
用户使用时会看做整体
MPP数据库(如GreePlum)往往优先考虑C一致性,然后是A可用性,最后考虑P分区容忍
MPP架构目前被并行数据库广泛采用,一般通过scan、sort和merge等操作符实时返回查询结果


 MPP架构劣势


很难高可用 -> 影响可用性和可靠性
        因为数据按某种规则如HASH已经散布到了各个节点上。
节点数=任务并行数 -> 影响扩展性
        一个作业提交时,每个节点都要执行相同任务。而不像MapReduce那样做了根据实际开销进行任务拆分后散发到有资源的几个节点上。这一点大大影响了MPP架构应用的可扩展性。
每个客户端同时连接所有节点通信 -> 影响网络
        MPP架构每个节点独立,所以客户端往往需要连接所有节点进行通信,这使得网络也成为瓶颈。
分区容错性差
        前面提到过MPP主要考虑CA,最次才是P。那么一旦扩展节点太多后,元数据管理十分困难。


MPP 适用场景


集群规模100以内、并发小(50以下)

MPP架构目前被并行数据库广泛采用,一般通过scan、sort和merge等操作符实时返回查询结果

原文链接:https://blog.csdn.net/baichoufei90/article/details/84328666

你可能感兴趣的:(数据仓库,数据库,java,服务器)