本文轉自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。