最具影响力的数字化技术在线社区

168主编 发表于 2021-6-4 15:14:41

MPP架构知识整理

什么是MPPMassively Parallel Processing, 即大规模并行处理

一般用来指多个SQL数据库节点搭建的数据仓库系统。执行查询的时候,查询可以分散到多个SQL数据库节点上执行,然后汇总返回给用户

MPP的核心
[*]减少资源的共享,尽力达到Shared Nothing。 MPP并不会进行远程计算,每个节点都有自己独立的CPU,内存和磁盘资源
[*]并行,MPP并没有像并行度这样的概念,而是每个节点都在进行相同的工作。所以对MPP架构进行水平扩容无法提升并行度
上面说的就是纯粹的MPP架构,但现在MPP架构和Sql on Hadoop的区别也变得模糊,比如,为了提高并行度引入类似并行度的概念,为了降低单个节点宕机的影响,引入副本的概念等。
MPP的优缺点MPP解决了单个SQL数据库不能存放海量数据的问题,但是也存在一些问题,例如:

[*]当节点数达到100左右时,MPP有些仍会遇到SQScalability的问题,速度变慢,或者不稳定。
[*]当增加或者删除节点的时候,需要的维护工作仍然比较大,集群会遇到数据迁移和重新平衡的问题
Sql on Hadoop架构特征SQL over Processing Framework"Hadoop通用计算框架+SQL解析引擎", 存储层,执行引擎层,SQL解析层三者分离,可以方便替换执行引擎,对使用者而言,同一份数据可以采用不同并行执行引擎来分析。优点是灵活性高,支持细粒度容错,集群扩展性好,缺点是效率无法保证
OLAP over Hadoop预计算,即数据都以时间序列的方式进入系统并经过数据预聚合和建立索引,因为是预计算,所以应对多维查询时速度非常快,且稳定,支持高并发,支持集群扩展。缺点是灵活性较差
MPP和Sql on Hadoop的区别
[*]MPP数据库适合存储高密度价值数据,并且是长期存储和多次使用,所以MPP并行数据库会花大量的精力在Load阶段,把数据处理成适合分析格式。带来的优点就是从查询速度快,通常在秒级甚至毫秒级以内就可以返回查询结果。缺点是不支持细粒度的容错。
[*]SQL on Hadoop是利用Hadoop平台存储数据,在其之上实现SQL查询引擎。最大的特点和Scalability非常好,可以支持超过1000个节点的集群。但是由于Hadoop的特点,很多查询还是需要做大量的数据扫描操作,因此查询速度往往比MPP要慢,而且支持的同时并发查询数一般也比较低。
样例产品MPPGreenPlum,Presto等
elasticsearch
SQL on HadoopHive,Spark等
参考
[*]https://zhuanlan.zhihu.com/p/148621151
[*]https://www.zhihu.com/question/27589901
[*]https://laptrinhx.com/apache-hawq-next-step-in-massively-parallel-processing-3942821226/



作者:ShootHzj
链接:https://www.jianshu.com/p/fc80d5b2d919
来源:简书

页: [1]
查看完整版本: MPP架构知识整理