
今天我们来看看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一体化大数据分析与管理系统的人来说这是个天大的好消息。
图:Greenplum/GPDB MPP架构

MPP数据库如Greenplum采用无共享架构,支持大规模并行处理,常用于大数据分析。Greenplum基于PostgreSQL,拥有高性能查询优化器,能自动制定高效查询计划。其特色包括分区、广播、重分布和收集等数据操作。与Hadoop相比,MPP数据库更专注于关系型查询。本文以Greenplum为例,探讨MPP数据库的架构设计和优势。
最低0.47元/天 解锁文章
595

被折叠的 条评论
为什么被折叠?



