成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

探索Greenplum的實踐,了解新一代大數(shù)據(jù)處理利器

supernavy / 3166人閱讀

摘要:上有主節(jié)點和從節(jié)點兩部分,兩者主要的功能是生成查詢計劃并派發(fā),以及協(xié)調(diào)并行計算,同時在上保存著,這個全局目錄存著一組數(shù)據(jù)庫系統(tǒng)本身所具有的元數(shù)據(jù)的系統(tǒng)表。

前言:近年來,互聯(lián)網(wǎng)的快速發(fā)展積累了海量大數(shù)據(jù),而在這些大數(shù)據(jù)的處理上,不同技術(shù)棧所具備的性能也有所不同,如何快速有效地處理這些龐大的數(shù)據(jù)倉,成為很多運營者為之苦惱的問題!隨著Greenplum的異軍突起,以往大數(shù)據(jù)倉庫所面臨的很多問題都得到了有效解決,Greenplum也成為新一代海量數(shù)據(jù)處理典型代表。本文結(jié)合個推數(shù)據(jù)研發(fā)工程師李樹桓在大數(shù)據(jù)領(lǐng)域的實踐,對處理龐大的數(shù)據(jù)量時,如何選擇有效的技術(shù)棧做了深入研究,探索出Greenplum是當(dāng)前處理大數(shù)據(jù)倉較為高效穩(wěn)定的利器。

一、Greenplum誕生的背景

時間回到2002年,那時整個互聯(lián)網(wǎng)數(shù)據(jù)量正處于快速增長期,一方面?zhèn)鹘y(tǒng)數(shù)據(jù)庫難以滿足當(dāng)前的計算需求,另一方面?zhèn)鹘y(tǒng)數(shù)據(jù)庫大多基于SMP架構(gòu),這種架構(gòu)最大的一個特點是共享所有資源,擴展性能差,因此面對日益增長的數(shù)據(jù)量,難以繼續(xù)支撐,需要一種具有分布式并行數(shù)據(jù)計算能力的數(shù)據(jù)庫,Greenplum正是在此背景下誕生了。

和傳統(tǒng)數(shù)據(jù)庫的SMP架構(gòu)不同,Greenplum主要基于MPP架構(gòu),這是由多個服務(wù)器通過節(jié)點互聯(lián)網(wǎng)絡(luò)連接而成的系統(tǒng),每個節(jié)點只訪問自己的本地資源(包括內(nèi)存、存儲等),是一種完全無共享(Share Nothing)結(jié)構(gòu),擴展能力較之前有明顯提升。

二、解讀 Greenplum架構(gòu)

Greenplum主要由Master主節(jié)點和Interconnect網(wǎng)絡(luò)層以及負責(zé)數(shù)據(jù)存儲和計算的多個節(jié)點共同組成。

Master上有主節(jié)點和從節(jié)點兩部分,兩者主要的功能是生成查詢計劃并派發(fā),以及協(xié)調(diào)Segment并行計算,同時在Master上保存著global system catalog,這個全局目錄存著一組Greenplum數(shù)據(jù)庫系統(tǒng)本身所具有的元數(shù)據(jù)的系統(tǒng)表。需要說明的是Master本身不參與數(shù)據(jù)交互,Greenplum所有的并行任務(wù)都是在Segment的數(shù)據(jù)節(jié)點上完成的,因此,Master節(jié)點不會成為數(shù)據(jù)庫的性能瓶頸。

中間的網(wǎng)絡(luò)層Interconnect,主要負責(zé)并行查詢計劃生產(chǎn)和Dispatch分發(fā)以及協(xié)調(diào)節(jié)點上QE執(zhí)行器的并行工作, 正是因為Interconnect的存在,Greenplum才能實現(xiàn)對同一個集群中多個PostgreSQL實例的高效協(xié)同和并行計算。

整個結(jié)構(gòu)圖下方負責(zé)數(shù)據(jù)存儲和計算的每個節(jié)點上又有多個實例,每個實例都是一個PostgreSQL數(shù)據(jù)庫,這些實例共享節(jié)點的IO和CPU。PostgreSQL在穩(wěn)定性和性能方面較為先進,同時又有豐富的語法支持,滿足了Greenplum的功能需要。

三、了解Greenplum優(yōu)勢

Greenplum之所以能成為處理海量大數(shù)據(jù)的有效工具,與其所具備的幾大優(yōu)勢密不可分。
優(yōu)勢一:計算效率提升
Greenplum的數(shù)據(jù)管道可以高效地將數(shù)據(jù)從磁盤傳輸?shù)紺PU,而目前市面上常用的計算引擎SPARK在傳輸數(shù)據(jù)時,則需要為每個并發(fā)查詢分配一個內(nèi)存,這對大型數(shù)據(jù)集的查詢十分不利,而Greenplum所具備的實時查詢功能,能夠有效對大數(shù)據(jù)集進行計算。
優(yōu)勢二:擴展性能增強
Greenplum基于的MPP架構(gòu),節(jié)點之間完全不共享,同時又可以達到并行查詢,因此在進行線性擴展時,數(shù)據(jù)規(guī)模可以達到PB級別。目前,Greenplum已經(jīng)實現(xiàn)了開源,并且社區(qū)生態(tài)活躍,對于使用者而言,也會覺得更為可靠。
優(yōu)勢三:功能性優(yōu)化
Greenplum可以支持復(fù)雜的SQL查詢,大幅簡化了數(shù)據(jù)的操作和交互過程。而目前流行的HAWQ、Spark SQL、Impala等技術(shù)基本都基于MapReduce進行的優(yōu)化,雖然部分也使用了SQL查詢,但是對SQL的支持十分有限。

四、Greenplum的容錯機制

Greenplum數(shù)據(jù)庫簡稱GPDB,它擁有豐富的特性,支持多級容錯機制和高可用。
1)主節(jié)點高可用:為了避免主節(jié)點單點故障,特別設(shè)置一個主節(jié)點的副本(稱為 Standby Master),通過流復(fù)制技術(shù)實現(xiàn)兩者同步復(fù)制,當(dāng)主節(jié)點發(fā)生故障時,從節(jié)點可以成為主節(jié)點,從而完成用戶請求并協(xié)調(diào)查詢執(zhí)行。
2)數(shù)據(jù)節(jié)點高可用:每個數(shù)據(jù)節(jié)點都可以配備一個鏡像,它們之間通過文件操作級別的同步來實現(xiàn)數(shù)據(jù)的同步復(fù)制(稱為filerep技術(shù))。故障檢測進程(ftsprobe)會定期發(fā)送心跳給各個數(shù)據(jù)節(jié)點,當(dāng)某個節(jié)點發(fā)生故障時,GPDB會自動進行故障切換。
3)網(wǎng)絡(luò)高可用:為了避免網(wǎng)絡(luò)的單點故障,每個主機會配置多個網(wǎng)口,并使用多個交換機,避免網(wǎng)絡(luò)故障時造成整個服務(wù)器不可用。

同時,GPDB具有圖形化的性能監(jiān)控功能,基于此功能,用戶可以確定數(shù)據(jù)庫當(dāng)前的運行情況和歷史查詢信息,同時跟蹤系統(tǒng)使用情況和資源信息。

五、 Greenplum在業(yè)務(wù)場景中的應(yīng)用

個推在大數(shù)據(jù)領(lǐng)域深耕多年,在處理龐大的數(shù)據(jù)倉的過程中,也在不斷進行優(yōu)化和更新技術(shù)棧,在進行技術(shù)選型時,針對不同的技術(shù)棧做了如下對比:

總得來說,Greenplum幫助開發(fā)者有效解決了處理數(shù)據(jù)庫時遇到的一些難點,比如跨天去重、用戶自定義維度、復(fù)雜的SQL查詢等問題,同時,也方便開發(fā)者直接在原始數(shù)據(jù)上進行實時查詢,減少了數(shù)據(jù)聚合過程中的遺失,當(dāng)然,強大的Greenplum仍存在著一些問題需要去完善,例如在節(jié)點擴展的過程中元數(shù)據(jù)的管理問題,分布式數(shù)據(jù)庫在擴展節(jié)點時會帶來數(shù)據(jù)一致性,擴展的過程中有時會出現(xiàn)元數(shù)據(jù)混亂的情況等等,好在Greenplum有很多優(yōu)秀的運維工具,能夠幫我們在發(fā)生問題及時進行排查,更好的保障業(yè)務(wù)的穩(wěn)定性。但是,盡管Greenplum在處理大數(shù)據(jù)方面的優(yōu)勢比較明顯,對開發(fā)者來說,還是要根據(jù)自身需求選擇相應(yīng)的技術(shù)棧。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/97901.html

相關(guān)文章

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<