0.寫在前面: 0.1. 此筆記是參考《Greenplum企業應用實戰》、《PostgreSQL8.2.3 中文文檔》和《Getting Started with Greenplum for Big Data Analytics》整理; 0.2. 《Greenplum企業應用實戰》購買地址:【京東商城】 【 當當網】 0.3.參考網頁(持續更新)
0.1. 此筆記是參考《Greenplum企業應用實戰》、《PostgreSQL8.2.3 中文文檔》和《Getting Started with Greenplum for Big Data Analytics》整理;
0.2. 《Greenplum企業應用實戰》購買地址:【京東商城】 【 當當網】
0.3.參考網頁(持續更新)
1) Shared Disk VS Shared Nothing分布式架構1) 為全球大型企業用戶提供新型企業級數據倉庫(EDW)、企業級數據云(EDC)和商務智能(BI)提供解決方案和咨詢服務,專注于OLAP系統數據引擎開發;
2) 海量并行處理(Massively Parallel Processing) DBMS:
Greenplum的架構采用了MPP(大規模并行處理),在 MPP 系統中,每個 SMP節點也可以運行自己的操作系統、數據庫等。換言之,每個節點內的 CPU 不能訪問另一個節點的內存。節點之間的信息交互是通過節點互聯網絡實現的,這個過程一般稱為數據重分配(Data Redistribution) 。
SMP(SymmetricMulti-Processing),對稱多處理結構的簡稱,是指在一個計算機上匯集了一組處理器(多CPU),各CPU之間共享內存子系統以及總線結構。在這種技術的支持下,一個服務器系統可以同時運行多個處理器,并共享內存和其他的主機資源。傳統的ORACLE和DB2均是此種類型,ORACLE RAC 是半共享狀態;
與傳統的SMP架構明顯不同,通常情況下,MPP系統因為要在不同處理單元之間傳送信息,所以它的效率要比SMP要差一點,但是這也不是絕對的,因為 MPP系統不共享資源,因此對它而言,資源比SMP要多,當需要處理的事務達到一定規模時,MPP的效率要比SMP好。這就是看通信時間占用計算時間的比例而定,如果通信時間比較多,那MPP系統就不占優勢了,相反,如果通信時間比較少,那MPP系統可以充分發揮資源的優勢,達到高效率。
3) 基于PostgreSQL 8.2開源版本,具有相同的客戶端功能,增加支持并行處理的技術,增加支持數據倉庫和BI的特性;
4) 外部表(external tables)/并行加載(parallel loading):外部表是指數據庫可以直接使用操作系統中的數據文件,在Greenplum 4.2版本中支持對外部表的讀寫操作;
5) 資源管理:基于PostgreSQL增加了并行度的處理;
6) 查詢優化器增強(query optimizer enhancements):增加對分布式的支持,空間的回收和分析,不需要進行多方面的調優。
圖一
Greenplum是一種基于ProstgreSQL的分布式數據庫,其采用Shared-Nothing架構、主機、操作系統、內存、存儲都是自我控制的,不存在共享。
補充:SharedDisk與Shared Nothing介紹
圖二
圖三
比較事項 |
概述 |
優點 |
缺點 |
使用場景 |
Shared Disk |
如圖二所示,所有節點共享一份數據 |
只要有一個節點就可以訪問所有數據 |
內存融合限制水平擴展能力 |
Oracle RAC,24*7的高可用性核心業務 |
Shared Nothing |
如圖三所示,數據和節點有一一對應關系 |
每個節點交互少,很容易擴展 |
如果需要訪問所有數據,需要所有節點都可用 |
SQL Server、DB2、Hadoop以及Greenplum |
1) 建立與客戶端的會話連接和管理;
2) SQL的解析并形成分布式的執行計劃;
3) 將生成好的執行計劃分發到每個Segment上執行;
4) 收集Segment的執行結果;
5) 不存儲業務數據,只存儲數據字典;
6) 可以一主一備,分布在兩臺機器上,為了提高性能,最好單獨占用一臺機器。
1) 業務數據的存儲和存取;
2) 執行由Master分發的SQL語句;
3) 對于Master來說,每個Segment都是對等的,負責對應數據的存儲和計算;
4) 每一臺機器上可以配置一到多個Segment,因此建議采用相同的機器配置。
1) 是GP數據庫的網絡層,在每個Segment中起到一個IPC作用;
2) 推薦使用千兆以太網交換機做Interconnect;
3) 支持UDP和TCP兩種協議,推薦使用UDP協議,因為其高可靠性、高性能以及可擴展性;而TCP協議最高只能使用1000個Segment實例。
圖四
圖四顯示一個常見的網絡配置示例,其中X4200是主節點,X4500(Segment host1)是主從節點,當主節點宕機后會主節點服務切換到此節點上,X4500(Segment host2)是從節點。
每個網絡接口對應不同的網口,隔離到獨立網絡,保證不會競爭其他端口的網絡帶寬,提高網絡的可靠性;串口連接到交換機是管理員管理的窗口。
圖五
圖五中顯示高可用性體系的示例圖,其中按照從左到右且從上到下依次是主從節點,主節點,客戶端,私有局域網以及從節點集群,實現功能和圖一基本一致。
圖六
圖六說明:Standby 節點用于當 Master 節點損壞時提供 Master服務,Standby 實時與Master 節點的Catalog 和事務日志保持同步,確保系統的變更信息不會丟失,提升系統的健壯性。
圖七
圖七說明:
1) 當GP配置了鏡像節點之后,主節點不可用時會自動切換到鏡像節點,集群仍然保持可用狀態。當主節點恢復并啟動之后,主節點會自動恢復期間的變更;
2) 只要Master不能連接上Segment實例時,就會在系統表中將此實例標識為不可用,并用鏡像節點來代替,一般需要和主節點位于不同的服務器上,當Primary Segment失敗時,Mirror Segment將自動提供服務,Primary Segment恢復正常后,使用gprecoverseg –F 同步數據
圖八
圖九
圖九說明:
1) 數據之間存在冗余,網絡也存在冗余;
2) 公共網絡連接到主節點,主節點通過一臺或者多臺交換機連接到子節點。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com