本文转自https://www.cnblogs.com/skyme/p/5779885.htmlhtml
若是想在数据仓库中快速查询结果,可使用greenplum。node
Greenplum数据库也简称GPDB。它拥有丰富的特性:数据库
第一,完善的标准支持:GPDB彻底支持ANSI SQL 2008标准和SQL OLAP 2003 扩展;从应用编程接口上讲,它支持ODBC和JDBC。完善的标准支持使得系统开发、维护和管理都大为方便。而如今的 NoSQL,NewSQL和Hadoop 对 SQL 的支持都不完善,不一样的系统须要单独开发和管理,且移植性很差。编程
第二,支持分布式事务,支持ACID。保证数据的强一致性。架构
第三,作为分布式数据库,拥有良好的线性扩展能力。在国内外用户生产环境中,具备上百个物理节点的GPDB集群都有不少案例。框架
第四,GPDB是企业级数据库产品,全球有上千个集群在不一样客户的生产环境运行。这些集群为全球不少大的金融、政府、物流、零售等公司的关键业务提供服务。分布式
第五,GPDB是Greenplum(如今的Pivotal)公司十多年研发投入的结果。GPDB基于PostgreSQL 8.2,PostgreSQL 8.2有大约80万行源代码,而GPDB如今有130万行源码。相比PostgreSQL 8.2,增长了约50万行的源代码。oop
第六,Greenplum有不少合做伙伴,GPDB有完善的生态系统,能够与不少企业级产品集成,譬如SAS,Cognos,Informatic,Tableau等;也能够不少种开源软件集成,譬如Pentaho,Talend 等。性能
Greenplum最先是在10多年前(大约在2002年)出现的,基本上和Hadoop是同一时期(Hadoop 约是2004年先后,早期的Nutch可追溯到2002年)。当时的背景是:spa
下图就是GFS的架构
greenplum的整体架构以下:
数据库由Master Severs和Segment Severs经过Interconnect互联组成。
Master主机负责:创建与客户端的链接和管理;SQL的解析并造成执行计划;执行计划向Segment的分发收集Segment的执行结果;Master不存储业务数据,只存储数据字典。
Segment主机负责:业务数据的存储和存取;用户查询SQL的执行。
greenplum使用mpp架构。
基本体系架构
master节点,能够作成高可用的架构
master node高可用,相似于hadoop的namenode和second namenode,实现主备的高可用。
segments节点
对于数据的装载和性能监控。
并行备份和恢复。
数据访问流程,数据分布到不一样颜色的节点上
查询流程分为查询建立和查询分发,计算后将结果返回。
对于存储,将存储的内容分布到各个结点上。
对于数据的分布,分为hash分布和随机分布两种。
均匀分布的状况:
GPDB从开始设计的时候就被定义成数据仓库,若是是olap的应用,能够尝试使用GPDB。