本次直播將繼續我們的PostgreSQL技術內幕系列,由Oracle跟朋友們討論交流Greenplum-Interconnect模組的話題。
Greenplum(以下簡稱 GPDB)是一款基於PostgreSQL的典型 Shared-Nothing 分散式資料庫系統。相比PostgreSQL只能在單節點上執行查詢計劃,Greenplum 能夠將查詢並行化,以充分發揮叢集的優勢。為了最大限度的實現並行化處理,當節點間需要移動資料時,查詢計劃將被分割,而不同Segment間的資料移動就由Interconnect模組來執行。
具體而言,GPDB透過特有的執行運算元motion來進行廣播(broadcast)和重分佈(redistribute)操作,從而實現查詢計劃的分割和平行計算。
執行層面,GPDB架構中有一些重要的概念,包括查詢排程器和查詢執行器等。
-QD(Query Dispatcher、查詢排程器):是指Master 節點上負責處理使用者查詢請求的程式(PostgreSQL 中稱之為 Backend 程式)。
-QE(Query Executor、查詢執行器):是指Segment 上負責執行 QD 分發來的查詢任務的程式。
QD 和 QE 之間有兩種型別的網路連線:
-Libpq:QD 透過 libpq 與各個QE間傳輸控制資訊,包括髮送查詢計劃、收集錯誤資訊、處理取消操作等。libpq 是 PostgreSQL 的標準協議,GPDB對該協議進行了增強,譬如新增了 ‘M’ 訊息型別 (QD 使用該訊息傳送查詢計劃給 QE)。libpq 是基於 TCP 的。
-Interconnect:QD 和 QE、QE 和 QE 之間的表元組資料傳輸透過 Interconnect 實現。Greenplum 有兩種 Interconnect 實現方式,分別基於 TCP和UDP,其中預設方式為 UDP Interconnect 連線方式。
Interconnect是Greenplum 實現Segment間通訊的方法,為 QEs 提供高速並行的資料傳輸服務,不需要磁碟IO操作,是高效能查詢執行的重要技術之一。
本週四直播間,我們將邀請HashData核心工程師Oracle為大家解讀Greenplum-Interconnect模組,歡迎感興趣的朋友們與我們相約直播間,一起學習成長!
主題:PostgreSQL 技術內幕(五)Greenplum-Interconnect
時間:1月5號(本週四)
公司簡介:HashData是中國領先具備自主可控研發能力的資料倉儲軟體廠商,核心團隊主要由來自Pivotal、Teradata、IBM、Yahoo!、Oracle和華為等公司資深的雲端計算、分散式資料庫和大資料專家組成。憑藉深厚的技術積累以及極具前瞻性的產品理念,HashData資料倉儲已廣泛應用於金融、電信運營商、交通物流和網際網路等多個行業頭部客戶。