首页 > 大数据 > > MPPDB和HADOOP --笔记
MPP (Massively Parallel Processing),即大规模并行处理,在数据库非共享集群中,每个节点都有独立的磁盘存储系统和内存系统,业务数据根据数据库模型和应用特点划分到各个节点上,每台数据节点通过专用网络或者商业通用网络互相连接,彼此协同计算,作为整体提供数据库服务。非共享数据库集群有完全的可伸缩性、高可用、高性能、优秀的性价比、资源共享等优势。
简单来说,MPP是将任务并行的分散到多个服务器和节点上,在每个节点上计算完成后,将各自部分的结果汇总在一起得到最终的结果(与Hadoop相似)。

使用MPP分布式架构的DB,用于支撑各类数据仓库系统、BI 系统和决策支持系统的一种数据库。

MPP架构的关系型数据库与Hadoop的理论基础是极其相似的,都是将运算分布到节点中独立运算后进行结果合并。个人觉得区别仅仅在于前者跑的是SQL,后者底层处理则是MapReduce程序。
适用范围、应用领域分别是什么?
1、高可用:MPP DB是通过Hash计算来确定数据行所在的物理机器(而Hadoop无需此操作),对存储位置的不透明导致MPP的高可用很难办。
2、并行任务:数据是按照Hash来切分了,但是任务没有。每个任务,无论大小都要到每个节点去走一圈。
3、文件系统:数据切分了,但是文件数没有变少,每个表在每个节点上一定有一到多个文件。同样节点数越多,存储的表就越多,导致每个文件系统上有上万甚至十万多个文件。
4、网络瓶颈:MPP强调对等的网络,点对点的连接也消耗了大量的网络带宽,限制了网络上的线性扩展(想象一台机器可能要给1000台机器发送信息)。更多的节点并没有提供更高的网络带宽,反而导致每个组节点间平均带宽降低。
5、其他关系数据库的枷锁:比如锁、日志、权限、管理节点瓶颈等均限制了MPP规模的扩大。
MPP相较Hadoop类系统要差,依赖于定制硬件,而且没有可靠的开源实现。
HADOOP和,MPP数据仓库对比,没有亲证过。可以看个大概。总体看下来MPP数仓企业级应用还是比较成熟的。特别是对于时延低的查询。

MPP的代表产品有:Vertica/Redshift(Paracel,被Amazon买买下了源码的license后变成Redshift)/Greenplum。仔细观察不难发现,这三者其实有非常很多相同点:
翻阅了一篇简书上文章,《MPP DB 是 大数据实时分析系统 未来的选择吗?》
文章中最核心点是支出了MPP缺陷之一,也是我们选型现在最关心的-并发。
MPP DB核心原理是一个大的查询通过分析为一一个子查询,分布到底层的执行,最后再合并结果,说白了就是通过多线程并发来暴力SCAN来实现高速。这种暴力SCAN的方法,对单个查询来说,动用了整个系统的能力,单个查询比较快,但同时带来用力过猛的问题,整个系统能支持的并发必然不高,从目前实际使用的经验来说,也就支持50~100的并发能力。好吧,看到这个结论着实内心还是对于MPP有些不抱乐观的。
HBASE为什么号称支持上千并发值得关注。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31509949/viewspace-3151384/ ,如需转载,请注明出处,否则将追究法律责任。