gaussdb200 理論

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

具體查詢流程如下:

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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一 Postgres-XL簡介 Postgres的-XL是一個基于PostgreSQL數(shù)據(jù)庫的橫向擴展開源SQL數(shù)...
    遙想公瑾當(dāng)年閱讀 26,507評論 12 29
  • 表情是什么,我認(rèn)為表情就是表現(xiàn)出來的情緒。表情可以傳達很多信息。高興了當(dāng)然就笑了,難過就哭了。兩者是相互影響密不可...
    Persistenc_6aea閱讀 129,422評論 2 7
  • 16宿命:用概率思維提高你的勝算 以前的我是風(fēng)險厭惡者,不喜歡去冒險,但是人生放棄了冒險,也就放棄了無數(shù)的可能。 ...
    yichen大刀閱讀 7,554評論 0 4

友情鏈接更多精彩內(nèi)容