GBase新聞
趣說GBase 8a數(shù)據(jù)庫集群(二)
各位GBase數(shù)據(jù)庫的粉絲以及對其感興趣的朋友,大家好,GBase 8a數(shù)據(jù)庫集群是南大通用自研的的核心分析型數(shù)據(jù)庫產(chǎn)品,自2009年啟動研發(fā)以來,歷經(jīng)13年演化及發(fā)展,已經(jīng)在金融、電信領域實現(xiàn)規(guī)模化部署,并覆蓋除金融電信外的其他各個行業(yè),總節(jié)點數(shù)超過30000+個,管理數(shù)據(jù)總量250+PB。
通過上一篇“趣說”,我們了解到GBase 8a MPP Cluster產(chǎn)品演進分為三個階段,即:列存數(shù)據(jù)庫階段、MPP+列存數(shù)據(jù)庫階段和邏輯數(shù)倉LDW階段。前一階段是后一階段的研發(fā)基礎,本篇“趣說(二)”將續(xù)接第一篇內容來和大家聊一聊GBase 8a的產(chǎn)品架構,同樣也大致分為三個:
(一)列存數(shù)據(jù)庫階段的架構
列存數(shù)據(jù)庫階段是GBase 8a MPP Cluster產(chǎn)品核心功能特性的新生階段,它是一款單機架構產(chǎn)品,在架構上與傳統(tǒng)的關系型數(shù)據(jù)庫架構相近,其不同點在于,傳統(tǒng)的關系型數(shù)據(jù)庫通常都是行存數(shù)據(jù)庫,而GBase 8a單機數(shù)據(jù)庫是一款列存數(shù)據(jù)庫,即在數(shù)據(jù)存儲的組織方式上與傳統(tǒng)關系型數(shù)據(jù)庫不同,這是GBase 8a單機數(shù)據(jù)庫最核心的部分,同時圍繞著列存還引入了數(shù)據(jù)壓縮存儲特性、智能索引特性和并行執(zhí)行特性。這些特性引入的作用是什么呢?就一個字“快”,它使GBase 8a單機數(shù)據(jù)庫面對分析類查詢語句的性能有指數(shù)級的提升,下圖就是“快”的原理:
大部分應用中性能的瓶頸是磁盤IO。所以GBase 8a單機數(shù)據(jù)庫的設計都以降低磁盤IO為主要設計目標。為此采用的技術有列存儲,壓縮,智能索引(粗粒度)。每一項技術都有可能提升10倍的性能。理論極值是1000倍提速,實際達成10-100倍提速。在上圖中,基于存儲空間占用1T的表執(zhí)行統(tǒng)計查詢時,在列存儲技術支持下,通過只讀取查詢訪問的列進行剪枝處理降低磁盤IO,通過數(shù)據(jù)壓縮技術降低磁盤IO,通過智能索引技術過濾掉訪問不涉及的行數(shù)據(jù)降低磁盤IO,如此便提升了查詢性能。也許您會問,“Select *”也有性能提升么?我給您的回答是,如果上述的原理清楚了,您自己會得到這個結果,比我回答您Yes或者No準確得多。
(二)MPP+列存數(shù)據(jù)庫階段的架構
MPP+列存數(shù)據(jù)庫階段是GBase 8a MPP Cluster產(chǎn)品成長壯大和成熟階段,歷經(jīng)了三個大版本的迭代演進,支持的節(jié)點規(guī)模從幾十個節(jié)點到百節(jié)點,再到三百節(jié)點以上,GBase 8a就是這樣一步一個腳印地,在GBase 8a研發(fā)人員夜以繼日、通宵達旦不斷投入中成長,在MPP+列存數(shù)據(jù)庫階段有三種架構,分別是基于安全組的對稱部署架構、基于多副本的非對稱部署架構和聯(lián)邦架構。
廢話少說,上圖。一圖頂千言,懂的人一看就懂,不懂的人再多的言語也是白搭:
基于安全組的對稱部署架構
該集群架構在部署時,以安全組為集群的組成單位,每個安全組最多可以由三個節(jié)點組成,用于實現(xiàn)數(shù)據(jù)高可用,多個安全組用于實現(xiàn)數(shù)據(jù)分布,并行計算提升性能。在每個集群節(jié)點上均部署和運行Gcluster服務、Gnode服務和Gcware服務,分別用于實現(xiàn)集群管理功能、集群存儲和計算功能以及集群一致性服務功能。
多副本的非對稱部署架構
相比于上一個版本而言,多副本的非對稱部署架構不再基于安全組,而是基于多副本實現(xiàn)高可用,Gcluster服務、Gnode服務和Gcware服務各自的職能更為獨立,Gcluster服務、Gnode服務在部署時可以分別部署在各自的集群節(jié)點上(上一個版本每個集群節(jié)點都要部署全部服務),即Gcluster集群作為集群服務層可以單獨部署,Gnode集群作為計算存儲層也可以單獨部署。
聯(lián)邦架構
相比于上一個版本而言,計算存儲層可以部署多套Gnode集群,每個集群被稱作為VC,統(tǒng)一共用同一個集群服務層Gcluster集群。
(三)邏輯數(shù)倉LDW階段的架構
邏輯數(shù)倉LDW階段的架構將植入云原生特性,即云計算的計算與存儲分離架構特性。如下:
整個架構分為三層,云服務層、虛擬倉庫層和數(shù)據(jù)存儲層。其中云服務提供管理和運維服務能力,包括訂單管理、計費管理、云數(shù)據(jù)倉庫實例賬戶管理、云服務監(jiān)控運維管理、云數(shù)據(jù)倉庫實例管理和升級云服務管理、升級云數(shù)據(jù)倉庫管理。提供云數(shù)據(jù)倉庫實例訪問入口(URL)、鑒權、訪問控制、語法解析、生成執(zhí)行計劃、優(yōu)化、元數(shù)據(jù)管理與存儲、事務管理及執(zhí)行調度管理、用戶及權限管理、Warehouse管理、Database管理和云數(shù)據(jù)倉庫功能服務等;虛擬倉庫層負責提供不同規(guī)格計算資源的算力,用于執(zhí)行云服務層下發(fā)的計算任務;數(shù)據(jù)存儲層,提供分布式文件存儲或者對象存儲能力,用于持久化云數(shù)據(jù)倉庫數(shù)據(jù)文件,以及提供查詢過程中臨時表數(shù)據(jù)的緩存和結果集緩存的持久化。