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