大数据四大阵营之MPP阵营

大数据四大阵营之MPP阵营_第1张图片
今天我们来看看MPP类型数据库。
和MapReduce类似,两者都采用大规模并行处理架构来对海量数据进行以大数据分析为主的工作,不同之处在于MPP通常原生支持并行的关系型查询与应用,不过这一点,Hadoop阵营也在逐渐通过在HDFS之上提供SQL查询接口来支持查询,甚至包括关系型查询。

MPP数据库通常具有如下特点:

· 无共享架构(Shared-Nothing):每台服务器有独立的存储、内存及CPU,可以动态增删节点 ·
分区(Partitioning):数据分区可以跨多节点,通过分布式查询优化提高系统吞吐率 · 在OLAP基础上通常也支持OLTP类应用

MPP类型数据库阵营的玩家不少,从Amazon Redshift到Pivotal的Greenplum到Teradata的Aster到IBM的Netezza,不一而足。不过除了Greenplum,其他产品形态多数为闭源(Closed-Source)商业产品。

我们以Greenplum为例介绍一下MPP数据库的架构设计。Greenplum数据库源自于PostgreSQL数据库,由主实例(Master Instance)与多个区段实例(Segment Instance)联网构成(见下图,一对互为备份的主节点实例与n台区段主机,每个主机上运行多个区段实例),每个实例都可以看作一套独立的PostgreSQL DBMS。Greenplum是业界第一个开源的MPP数据库,相信对想要实现OLTP+OLAP一体化大数据分析与管理系统的人来说这是个天大的好消息。
大数据四大阵营之MPP阵营_第2张图片图:Greenplum/GPDB MPP架构
大数据四大阵营之MPP阵营_第3张图片
Greenplum是业界较早推出高性能并行查询优化器的MPP系统。它的优化器的特点是基于代价(Cost),从下图能看到客户端通过SQL语句来对主节点发送请求,主节点SQL查询解析器与优化器会自动制定最高效的查询执行计划,查询计划包括scans、joins、sorts、aggregations等多个切片,每个切片在各个Segment节点上并发执行(见下图),Segment间通信由Motion操作来完成。区别于传统的关系型数据库,Motion操作支持高度并发,它被用来实现查询执行过程中数据何时、何种方式在不同节点间传送(保证代价最低,如数据传输量最少、节点带宽最高等)。

Motion支持三类操作:

广播(Broadcasting)
重分布(Re-distribution)
收集(Gathering)
大数据四大阵营之MPP阵营_第4张图片
Hadoop与MPP阵营存在很多异同,笔者在这里列了一张它们之间的特征比较表,见下表:
大数据四大阵营之MPP阵营_第5张图片

·文/ 老孙(孙宇熙:云计算、大数据、高性能存储与计算系统架构专家 )
·END·

你可能感兴趣的:(数据库,大数据,数据挖掘,神经网络)