一、Greenplum簡介
1.1 Greenplum是什么
Greenplum數(shù)據(jù)庫是在postgreSQL開發(fā)出來的,基于MPP(massively parallel processing)和shared-Nothing架構(gòu)(Oracle RAC是shared everything架構(gòu))。
主要用在數(shù)據(jù)倉庫中,做大規(guī)模數(shù)據(jù)和復(fù)雜的查詢功能所涉及含懊。
1.5 Greenplum總體架構(gòu)
數(shù)據(jù)庫由Master Severs和Segment Severs通過Interconnect互聯(lián)組成。
1.6 Greenplum架構(gòu)詳解
Master主機與Segment主機的職責(zé)
Master
(1)建立與客戶端的會話連接和管理
(2)SQL的解析并形成分布式的執(zhí)行計劃
(3)將生成好的執(zhí)行計劃分發(fā)到每個Segment上執(zhí)行
(4)收集Segment的執(zhí)行結(jié)果
(5)不存儲業(yè)務(wù)數(shù)據(jù)鳄袍,只存儲數(shù)據(jù)字典
(6)可以一主一備绢要,分布在兩臺機器上
(7)為了提高性能,最好單獨占用一臺機器
Segment
(1)業(yè)務(wù)數(shù)據(jù)的存儲和存取
(2)執(zhí)行由Master分發(fā)的SQL語句
(3)對于Master來說拗小,每個Segment都是對等的重罪,負(fù)責(zé)對應(yīng)數(shù)據(jù)的存儲和計算
(4)每一臺機器上可以配置一到多個Segment
(5)由于每個Segment都是對等的,建議蠶蛹相同的及其配置
(6)Segment分primary和mirror兩種哀九,一般交錯的存放在子節(jié)點上
Master和Segment都是一個單獨的PostgreSQL數(shù)據(jù)庫剿配。每一個都有自己單獨的一套元數(shù)據(jù)字典。Master節(jié)點一般也叫主節(jié)點阅束,Segment叫做數(shù)據(jù)節(jié)點呼胚。
為了實現(xiàn)高可用,每個Segment都有對應(yīng)的備節(jié)點 Mirror Segment分別存在與不同的機器上息裸。
Client一般只能與Master節(jié)點進行交互蝇更,Client將SQL發(fā)給Master呼盆,然后Master對SQL進行分析后再講其分配給所有的Segment進行操作。
1.7 Greenplum豐富特性
第一访圃,完善的標(biāo)準(zhǔn)支持:GPDB完全支持ANSI SQL 2008標(biāo)準(zhǔn)和SQL OLAP 2003 擴展厨幻;從應(yīng)用編程接口上講,它支持ODBC和JDBC饭宾。完善的標(biāo)準(zhǔn)支持使得系統(tǒng)開發(fā)、維護和管理都大為方便看铆。而現(xiàn)在的 NoSQL,NewSQL和Hadoop 對 SQL 的支持都不完善笆搓,不同的系統(tǒng)需要單獨開發(fā)和管理性湿,且移植性不好。
第二满败,支持分布式事務(wù),支持ACID叹括。保證數(shù)據(jù)的強一致性算墨。
第三,做為分布式數(shù)據(jù)庫汁雷,擁有良好的線性擴展能力净嘀。在國內(nèi)外用戶生產(chǎn)環(huán)境中,具有上百個物理節(jié)點的GPDB集群都有很多案例侠讯。
第四挖藏,GPDB是企業(yè)級數(shù)據(jù)庫產(chǎn)品,全球有上千個集群在不同客戶的生產(chǎn)環(huán)境運行厢漩。這些集群為全球很多大的金融膜眠、政府、物流溜嗜、零售等公司的關(guān)鍵業(yè)務(wù)提供服務(wù)宵膨。
第五,GPDB是Greenplum(現(xiàn)在的Pivotal)公司十多年研發(fā)投入的結(jié)果炸宵。GPDB基于PostgreSQL 8.2辟躏,PostgreSQL 8.2有大約80萬行源代碼,而GPDB現(xiàn)在有130萬行源碼土全。相比PostgreSQL 8.2捎琐,增加了約50萬行的源代碼。
第六裹匙,Greenplum有很多合作伙伴瑞凑,GPDB有完善的生態(tài)系統(tǒng),可以與很多企業(yè)級產(chǎn)品集成幻件,譬如SAS拨黔,Cognos,Informatic,Tableau等篱蝇;也可以很多種開源軟件集成贺待,譬如Pentaho,Talend 等。
1.8 Greenplum應(yīng)用場景
Greenplum最大的特點總結(jié)就一句話:基于低成本的開放平臺基礎(chǔ)上提供強大的并行數(shù)據(jù)計算性能和海量數(shù)據(jù)管理能力零截。這個能力主要指的是并行計算能力麸塞,是對大任務(wù)、復(fù)雜任務(wù)的快速高效計算涧衙,但如果你指望MPP并行數(shù)據(jù)庫能夠像OLTP數(shù)據(jù)庫一樣哪工,在極短的時間處理大量的并發(fā)小任務(wù),這個并非MPP數(shù)據(jù)庫所長弧哎。請牢記雁比,并行和并發(fā)是兩個完全不同的概念,MPP數(shù)據(jù)庫是為了解決大問題而設(shè)計的并行計算技術(shù)撤嫩,而不是大量的小問題的高并發(fā)請求偎捎。
再通俗點說,Greenplum主要定位在OLAP領(lǐng)域序攘,利用Greenplum MPP數(shù)據(jù)庫做大數(shù)據(jù)計算或分析平臺非常適合程奠,例如:數(shù)據(jù)倉庫系統(tǒng)、ODS系統(tǒng)己沛、ACRM系統(tǒng)帕识、歷史數(shù)據(jù)管理系統(tǒng)、電信流量分析系統(tǒng)晶姊、移動信令分析系統(tǒng)们衙、SANDBOX自助分析沙箱碱呼、數(shù)據(jù)集市等等。
而MPP數(shù)據(jù)庫都不擅長做OLTP交易系統(tǒng)忆蚀,所謂交易系統(tǒng)馋袜,就是高頻的交易型小規(guī)模數(shù)據(jù)插入、修改察皇、刪除什荣,每次事務(wù)處理的數(shù)據(jù)量不大怀酷,但每秒鐘都會發(fā)生幾十次甚至幾百次以上交易型事務(wù) ,這類系統(tǒng)的衡量指標(biāo)是TPS因篇,適用的系統(tǒng)是OLTP數(shù)據(jù)庫或類似Gemfire的內(nèi)存數(shù)據(jù)庫。
1.9 Greenplum的技術(shù)特點及優(yōu)勢
1.10 Greenplum缺點
1吹缔、對局域網(wǎng)帶寬要求很高锯茄,一般都是千兆交換機。
2晚碾、不支持在線擴容格嘁,擴容的話至少要增加2臺以上的機器廊移。后若不是成2倍擴展,需要重新平均分布所有數(shù)據(jù)懂诗。