gauss200簡介
MPP即大規(guī)模并行處理(Massively Parallel Processing ),在數(shù)據(jù)庫非共享集群中,每個節(jié)點都有獨立的磁盤存儲系統(tǒng)和內(nèi)存系統(tǒng),業(yè)務(wù)數(shù)據(jù)根據(jù)數(shù)據(jù)庫模型和應(yīng)用特點劃分到各個節(jié)點上,每臺數(shù)據(jù)節(jié)點通過專用網(wǎng)絡(luò)或者商業(yè)通用網(wǎng)絡(luò)互相連接,彼此協(xié)同計算,作為整體提供數(shù)據(jù) 庫服務(wù),非共享數(shù)據(jù)庫集群有完全的可伸縮性、高可用、高性能、優(yōu)秀的性價比、資源共享等優(yōu)勢。

file
典型特點:
* 計算靠近數(shù)據(jù),避免大量的數(shù)據(jù)遷移,獲得更高的性能
* 無共享架構(gòu),相比共享架構(gòu)擁有更高的擴展性
gaussDB200架構(gòu)
GaussDB 200采用Share-nothing架構(gòu),由多個擁有獨立且互不共享CPU、內(nèi)存、存儲等系統(tǒng)資源的節(jié)點組成。在這樣的系統(tǒng)架構(gòu)中,業(yè)務(wù)數(shù)據(jù)被分散存儲在多個物理節(jié)點上,數(shù)據(jù)分析任務(wù)被推送到數(shù)據(jù)所在位置就近執(zhí)行,通過控制模塊的協(xié)調(diào),并行地完成大規(guī)模的數(shù)據(jù)處理工作,實現(xiàn)對數(shù)據(jù)處理的快速響應(yīng)。

file
Share-nothing架構(gòu)具備如下優(yōu)點:
- 最易于擴展的架構(gòu)
- 為商業(yè)智能BI(Business Intelligence)和數(shù)據(jù)分析的高并發(fā)、大數(shù)據(jù)量計算提供按需擴展的能力
- 自動化的并行處理機制
- 內(nèi)部自動并行處理,無需人工分區(qū)或優(yōu)化
- 數(shù)據(jù)加載與訪問方式與一般數(shù)據(jù)庫相同
- 數(shù)據(jù)分布在所有的并行節(jié)點上
- 每個節(jié)點只處理其中一部分?jǐn)?shù)據(jù)
- 最優(yōu)化的I/O處理
- 所有的節(jié)點同時進行并行處理
- 節(jié)點之間完全無共享,無I/O沖突
- 增加節(jié)點實現(xiàn)存儲、查詢及加載性能的線性擴展
gaussdb 200組成

file
| 名稱 | 描述 |
|---|---|
| MPPDBServer(CM) | GaussDB 200集群管理模塊CM(Cluster Manager),即含CMServer進程的特殊MPPDBServer,負責(zé)管理和監(jiān)控分布式系統(tǒng)中各個功能單元和物理資源的運行情況,確保整個系統(tǒng)的穩(wěn)定運行。CM分為主CM和備CM。正常情況下,只由主CM提供GaussDB 200集群管理服務(wù)。當(dāng)主CM發(fā)生故障的情況下,備CM會主動升為主CM提供GaussDB 200集群管理服務(wù)。CM通過CM服務(wù)完成對各個MPPDBServer管理。CM服務(wù)由CMServer、CMAgent、Monitor組成。CMServer是整個GaussDB 200集群的大腦,它會根據(jù)CMAgent上報上來的各MPPDBServer狀態(tài)信息來決定是否需要狀態(tài)變更。CMServer只部署在主備CM上。CMAgent是MPPDBServer上面部署的實例代理線程,負責(zé)接收CMServer下發(fā)的命令和上報MPPDBServer的Coordinator、Datanode、GTM的狀態(tài)給CMServer。每個MPPDBServer均會部署一個CMAgent,也包括主備CM和主備GTM。Monitor是watchdog定時任務(wù),其唯一的任務(wù)是在CMAgent停止的情況下將CMAgent重啟。每個MPPDBServer均會部署一個Monitor,也包括主備CM和主備GTM。 |
| MPPDBServer(GTM) | 全局事務(wù)管理模塊GTM(Global Transaction Manager),即含GTM進程的特殊MPPDBServer,負責(zé)生成和維護全局事務(wù)ID、事務(wù)快照、時間戳等需要全局唯一的信息。GTM分為主GTM和備GTM。正常情況下,只由主GTM提供全局事務(wù)管理服務(wù)。當(dāng)主GTM發(fā)生故障的情況下,備GTM會主動升為主GTM提供服務(wù)。 |
| MPPDBServer | 業(yè)務(wù)模塊,即除MPPDBServer(CM)、MPPDBServer(GTM)以外的MPPDBServer,由Coordinator及多個Datanode組成,負責(zé)執(zhí)行CM、GTM下發(fā)的任務(wù)。業(yè)務(wù)模塊與MPPDBServer(CM)、MPPDBServer(GTM)主要區(qū)別是不包含CMServer與GTM進程。 |
| Coordinator(CN) | 負責(zé)提供外部應(yīng)用接口、優(yōu)化全局執(zhí)行計劃、向Datanode分發(fā)執(zhí)行計劃,以及匯總、處理執(zhí)行結(jié)果。GaussDB 200通過CCN(Control Coordinator Node)負責(zé)集群內(nèi)的資源全局負載控制,以實現(xiàn)自適應(yīng)的動態(tài)負載管理。CM在第一次集群啟動時,通過集群部署形式,選擇編號最小的Coordinator作為CCN。若CCN故障之后,由CM選擇新的CCN進行替換。 |
| Datanode(DN) | 在集群中,DN有多個。每個DN存儲了一部分?jǐn)?shù)據(jù)。如果DN無高可用方案,則故障時會導(dǎo)致該實例上的數(shù)據(jù)無法訪問。因此GaussDB 200對DN提供了高可用方案:主、備、從備。DN主、備、從備間的工作原理如下:主、備DN同步數(shù)據(jù)期間,如果主DN突然故障不可用,備DN會升為主DN。在原主DN恢復(fù)前,新升為主的DN會將數(shù)據(jù)日志同步到從備DN。原主DN恢復(fù)后將成為備DN,并且會使用“從備DN”上的數(shù)據(jù)日志恢復(fù)異常期間的數(shù)據(jù)。也就是說從備DN永遠只作為從備使用,不會因為主DN或備DN故障而升級為主DN或備DN,從備只存放備DN故障時同步到從備的Xlog數(shù)據(jù)和數(shù)據(jù)通道復(fù)制產(chǎn)生的數(shù)據(jù)。 |
| Storage | 服務(wù)器的本地存儲資源,持久化存儲數(shù)據(jù)(支持行存、列存、混合存儲)。 |
數(shù)據(jù)庫對象
| 對象名稱 | 說明 |
|---|---|
| user | 數(shù)據(jù)庫用戶,用于權(quán)限管理。 |
| database | 可以創(chuàng)建多個不同數(shù)據(jù)庫。 |
| schema | 用于管理多個用戶使用同一數(shù)據(jù)庫。 |
| tablespace | 表空間,定義數(shù)據(jù)庫對象文件的存放位置。 |
| table | 基本表,分為行存表和列存表。 |
| index | 索引,可以調(diào)高數(shù)據(jù)的訪問速度。 |
| view | 視圖,一個或多個表中某些字段組成的虛表。 |
數(shù)據(jù)庫邏輯結(jié)構(gòu)圖:

file
- Tablespace,即表空間,是一個目錄,可以存在多個,里面存儲的是它所包含的數(shù)據(jù)庫的各種物理文件,每個表空間可以對應(yīng)多個Database。
- Database,即數(shù)據(jù)庫,用于管理各類數(shù)據(jù)對象,各數(shù)據(jù)庫間相互隔離,數(shù)據(jù)庫管理的對象可分布在多個Tablespace上。
- Datafile Segment,即數(shù)據(jù)文件,通常每張表只對應(yīng)一個數(shù)據(jù)文件,如果某張表的數(shù)據(jù)大于1GB,則會分為多個數(shù)據(jù)文件存儲。
- Table,即表,每張表只能屬于一個數(shù)據(jù)庫,也只能對應(yīng)到一個Tablespace,每張表對應(yīng)的數(shù)據(jù)文件必須在同一個Tablespace中。
- Block,即數(shù)據(jù)塊,是數(shù)據(jù)庫管理的基本單位,默認(rèn)大小為8KB。
gaussdb 200產(chǎn)品定位
GaussDB 200是企業(yè)級的大規(guī)模并行處理關(guān)系型數(shù)據(jù)庫。GaussDB 200采用**MPP(Massively Parallel Processing)架構(gòu),支持行存儲與列存儲**,提供PB(Petabyte,2的50次方字節(jié))級別數(shù)據(jù)量的處理能力,GaussDB 200在核心技術(shù)上跟傳統(tǒng)數(shù)據(jù)庫相比有巨大優(yōu)勢,可以解決很多行業(yè)用戶的數(shù)據(jù)處理性能問題,可以為超大規(guī)模數(shù)據(jù)管理提供高性價比的通用計算平臺,并可用于支撐各類數(shù)據(jù)倉庫系統(tǒng)、BI(Business Intelligence)系統(tǒng)和決策支持系統(tǒng),統(tǒng)一為上層應(yīng)用的決策分析等提供服務(wù)。
gaussdb 200應(yīng)用場景
GaussDB 200面向行業(yè)大數(shù)據(jù)應(yīng)用,可以適用于以下場景:
- 詳單查詢具備PB級數(shù)據(jù)負載能力,通過內(nèi)存分析技術(shù)滿足海量數(shù)據(jù)邊入庫邊查詢要求,適用于安全、電信、金融、物聯(lián)網(wǎng)等行業(yè)的詳單查詢業(yè)務(wù)。
- 數(shù)據(jù)倉庫具備百TB級數(shù)據(jù)支撐能力,可以高效處理百億行多表連接查詢,適用于操作數(shù)據(jù)存儲ODS(Operational Data Store)、企業(yè)數(shù)據(jù)倉庫EDW(Enterprise Data Warehouse)、數(shù)據(jù)集市DM(Data Mart)。
- 混合負載基于海量數(shù)據(jù)查詢統(tǒng)計分析能力與事務(wù)處理能力,行列混存技術(shù)同時滿足聯(lián)機事務(wù)處理OLTP(On-Line Transaction Processing)與聯(lián)機分析處理OLAP(Online Analytical Processing)混合負載場景。
- 大數(shù)據(jù)分析支持結(jié)構(gòu)化數(shù)據(jù)PB級分析能力。分布式并行數(shù)據(jù)庫集群滿足PB級結(jié)構(gòu)化大數(shù)據(jù)的分析能力。
gaussdb200業(yè)務(wù)流程

file
具體查詢流程如下:
- 用戶通過應(yīng)用程序發(fā)出查詢本地數(shù)據(jù)的SQL請求到Coordinator。
- Coordinator接收用戶的SQL請求,分配服務(wù)進程,向GTM請求分配全局事務(wù)信息。
- GTM接收到Coordinator的請求,返回全局事務(wù)信息給Coordinator。
- Coordinator根據(jù)數(shù)據(jù)分布信息以及系統(tǒng)元信息,解析SQL為查詢計劃樹,從查詢計劃樹中提取可以發(fā)送到Datanode的執(zhí)行步驟,封裝成SQL語句或者子執(zhí)行計劃樹,發(fā)送到Datanode執(zhí)行。
- Datanode接收到讀取任務(wù)后,查詢具體Storage上的本地數(shù)據(jù)塊。
- Datanode任務(wù)執(zhí)行后,將執(zhí)行結(jié)果返回給Coordinator。
- Coordinator將查詢結(jié)果通過應(yīng)用程序返回給用戶。
gaussdb200數(shù)據(jù)節(jié)點高可用

file
gaussdb200提供了雙重HA機制,第一層保護:主備機實時的數(shù)據(jù)頁和日志同步,主機故障后備機接管,確保業(yè)務(wù)不中斷,第二層保護:備機故障后,主機日志同步復(fù)制到從備節(jié)點(handoff機制),確保日志始終是雙備份。
友商對比
| 特性 | Teradata | Oracle Exadata | GreenPlum | 華為GaussDB 200 |
|---|---|---|---|---|
| 通用服務(wù)器支持 | 不支持 | 不支持 | 支持 | 支持 |
| 依賴磁陣/SAN 存儲 | 依賴 | 依賴 | 不依賴 | 不依賴 |
| 架構(gòu) | 無共享架構(gòu),橫向擴展最佳 | 全共享架構(gòu),橫向擴展受限制 | 無共享架構(gòu), 協(xié)調(diào)節(jié)點(master)僅 支持主備,數(shù)據(jù)節(jié)點 (segment)能橫向擴展 | 無共享架構(gòu), 協(xié)調(diào)節(jié)點(CN)節(jié) 點和數(shù)據(jù)節(jié)點(DN) 均能橫向擴展 |
| 向量化執(zhí)行/ SIMD指令 | 不支持 | 不支持 | 不支持 | 支持 |
| 行列存儲 | 支持,表級列存儲 | 支持,壓縮單元級列存儲 | 支持,表級別列存儲 | 支持,表級別列存儲 |
| 列存儲引擎 | 不支持 | 支持,壓縮單元級列存儲 | 不支持 | 支持 |
海汼部落原創(chuàng)文章,原文鏈接:http://www.hainiubl.com/topics/75655