華爲雲數據庫GaussDB(for openGauss):初次見面,認識一下

摘要:本文從總體架構、主打場景、關鍵技術特性等方面進行介紹GaussDB(for openGauss)。

本文分享自華爲雲社區《技術直播解讀第1期:認識華爲雲數據庫GaussDB(for openGauss)》,原文作者:心機胖。

1.背景介紹

3月16日,在華爲雲主辦的GaussDB(for openGauss)系列技術第一期直播課《認識華爲雲數據庫 GaussDB(for openGauss) 》上,有這樣一個提問:開源數據庫這麼香,爲什麼華爲還要下功夫自研GaussDB(for openGauss)?

其實,不少開源數據庫在易用性、配套能力等方面較弱,需要不斷維護,而且一旦遇到數據丟失問題,很難快速恢復,造成的損失不可估量。也因此,開源數據庫上雲只能解決中小企業的簡化部署、運維、調優、極致性價比等訴求。

與此同時,開源數據庫還得面臨服務器、數據庫維護升級、人力運維等各種大大小小的成本支出,很難滿足業務的快速擴張以及可持續發展。面對金融、政企等對數據安全、響應速度、可靠性、可用性有嚴苛要求的大型企業,就需要超高可用、功能完備、性能卓越、開放生態、極致彈性的企業級數據庫服務。

GaussDB(for openGauss)是華爲深度融合多年數據庫領域經驗,充分結合企業級場景需求,基於openGauss自研生態推出的企業級分佈式關係型數據庫。目前支持單分片和分佈式兩種部署形態,在支撐傳統業務的基礎上,持續構建競爭力特性,爲企業面向5G時代的挑戰,提供了無限可能。

爲了讓大家快速瞭解GaussDB(for openGauss),華爲雲數據庫團隊準備了GaussDB(for openGauss)系列技術直播,本文將結合第一場直播內容從總體架構、主打場景、關鍵技術特性等方面進行介紹。

2.總體架構:統一基於數據分片的分佈式架構

GaussDB(for openGauss)統一基於數據分片的分佈式架構(share nothing),底層數據通過一定的規則比如hash、list或者range等讓數據打散分佈到不同的數據節點上,計算時底層多個節點共同參與計算。同時數據節點可以擴展,上層由協調節點進行SQL解析和轉發。

從圖中可以看到,主要包括三類節點:協調節點、數據節點、集羣類節點(最重要的是全局事務管理器)。協調節點負責SQL解析轉發,充當的是類似proxy的角色,數據節點負責計算和數據存儲,全局事務管理器負責全局事務讀一致性的保證。

這種架構爲GaussDB(for openGauss)構建了以下核心優勢:

  1. 極致高可用: 兩地三中心架構,跨Region數據實時災備
  2. 數據安全: 實現跨AZ部署數據強一致性,保證數據0丟失
  3. 高擴展性:容器化部署,性能容量按需水平擴展,高達1000+節點
  4. 性能強勁:鯤鵬2路服務器,32節點1200萬tpmC(華爲內部測試)
  5. 全棧軟硬自研可控:業界領先的鯤鵬+openGauss自研開放內核

3.主打場景

場景一:傳統核心交易

針對傳統的應用,可以使用單分片的模式,使用方式同傳統的主備模式相同。GaussDB(for openGauss)結合鯤鵬深度優化,性能非常出衆,同時在可用性上做了極大的提升,非常適合傳統商業數據庫的替換場景。

場景二:未來海量事務型

隨着5G時代的到來,單一節點是難以應對數據規模的不斷增長並確保性能的需要,而跨節點、可橫向擴展的數據庫可以很好解決大規模海量數據的計算存儲需要。GaussDB(for openGauss)分佈式模式最大可以支持1000+節點,PB級存儲,分佈式事務強一致等特性可以很好地滿足政府、交通、金融、能源等行業的互聯網+的訴求。

關鍵角色

爲了方便大家更好理解GaussDB(for openGauss)的技術運行狀態,下面將對GaussDB(for openGauss)一些關鍵角色進行介紹:

4.關鍵技術特性

GaussDB(for openGauss)基於計算存儲分離的分佈式架構,構建了6大核心技術特性,下面將對這6大特性進行詳細解讀。

關鍵技術一:高性能—分佈式執行框架

該特性的大致執行過程爲:

  1. 業務應用下發SQL給Coordinator ,SQL可以包含對數據的CRUD操作;
  2. Coordinator利用數據庫的優化器生成執行計劃,每個DN會按照執行計劃的要求去處理數據;
  3. 數據基於一致性Hash算法分佈在每個DN,因此DN在處理數據的過程中,可能需要從其他DN獲取數據,GaussDB提供三種stream流(廣播流、聚合流和重分佈流)實現數據在DN間的流動;
  4. DN將結果集返回給Coordinate進行彙總;
  5. Coordinator將彙總後的結果返回給業務應用。

華爲在SQL執行優化方面有多年的沉澱,即使是複雜的SQL、事務分析混合(HTAP)的場景也能得到最佳的執行,舉個列子:

  • 基於代價的優化
  • 基數估算:Feedback增強、AI基數增強
  • 代價估算:行存/列存代價估算、網絡通信代價估算
  • 搜索算法:動態規劃方法、遺傳算法、AI搜索
  • 分佈式執行計劃能力
  • Light Proxy
  • Fast Query Shipping
  • Remote Query Shipping
  • 自研Cascade優化器
  • 對象化處理規則應用及搜索任務
  • 基於分支限界的剪枝技術

通過分佈式查詢引擎、分佈式調度引擎、分佈式存儲引擎,GaussDB(for openGauss)完美做到了數據的自動分片,並利用查詢優化器在自動負載均衡的同時不斷提升執行計劃處理效率;在數據節點上針對不同數據場景提供分場景stream流(廣播流、聚合流、重分佈流),不斷提升多分片數據節點間的交互效率,並自動完成數據的結果彙總,保障分佈式事務的全局一致性。

關鍵技術二:高性能—分佈式事務處理性能,GTM-Lite技術

該特性的優勢是:

  • 高性能事務管理:支持無鎖、多版本、高併發事務技術。
  • 分佈式強一致:分佈式的GTM-Lite方案提供全局事務快照和提交號管理,實現強一致性,且無中心節點性能瓶頸。

關鍵技術三:高性能—Scale-up能力,突破鯤鵬4P NUMA-Aware新架構,實現4P服務器性能突破

GaussDB(for openGauss)使用Numa Aware技術,根據鯤鵬處理器多核NUMA架構特點進行系列優化,通過綁核技術避免內存跨核訪問,減少時延問題;通過應用重做日誌批量插入、熱點數據NUMA分佈、Clog分區等關鍵技術,充分發揮多核算力優勢,不斷降低訪問延遲,日誌寫衝突,索引更新衝突。當前基於泰山鯤鵬服務器,TPCC性能壓測是同規格x86的1.5倍。

關鍵技術四:高可用—集羣HA,多層級冗餘實現系統無單點故障

GaussDB(for openGauss)通過硬件冗餘、實例冗餘、數據冗餘,實現整個系統軟硬件無單點故障。不同於傳統數據庫軟件產品,GaussDB(for openGauss)主要着重於通過軟件能力來提供高可用、高可靠保障。華爲雲基於軟硬件底座,做到端到端數據庫高可用能力,並支持對整個場景進行端到端監控&檢測,能夠更及時、更可靠地保障用戶的應用在線、數據0丟失,實現全棧無單點故障。

高可用技術點

硬件高可用

  • 存儲:磁盤RAID冗餘。
  • 網絡:雙交換機冗餘。
  • 網卡:多網卡冗餘。
  • 主機:UPS電源保護

軟件高可用

  • 協調節點CN實例多活冗餘
  • 數據節點/全局事務管理/ 集羣管理器實例Active-Standby冗餘

故障檢測

  • 網絡故障檢測和處理(交換機路由器等)
  • 網卡故障檢測和處理(本地網卡故障檢測)
  • 磁盤故障檢測和處理:磁盤心跳,處理文件系統返回的錯誤碼
  • 主機掉電檢測和處理:Heartbeat機制
  • 集羣實例故障檢測和處理(CN/DN/GTM進程非法終止)
  • 集羣軟件故障

關鍵技術五:高可用—跨AZ/Region容災技術

GaussDB(for openGauss)當前已經支持同城單集羣跨AZ雙活,RPO=0,RTO<60s;雙集羣跨Region兩地三中心容災,RPO<10s,RTO< 10m,該方案在支持跨Region容災的同時,支持容災節點最小化,有效降低用戶容災成本,同時允許用戶在故障場景升主後對容災節點進行在線擴展,保證業務不中斷的同時提升用戶原容災實例的可靠性和可用性。

關鍵技術六:高擴展—Scale-out在線橫向擴展

GaussDB(for openGauss)單集羣計算節點最大規模支持1000+,同時擁有卓越的線性擴展能力。

單集羣分片擴展支持數據自動在線完成重分佈操作,支持PB級海量事務型存儲擴展能力。

綜上所述,GaussDB(for openGauss)具備企業級事務混合負載能力,支持分佈式事務強一致,同城跨AZ部署,數據0丟失,支持1000+的計算節點擴展能力,PB級海量存儲。同時擁有云上高可用,高可靠,高安全,彈性伸縮,一鍵部署,快速備份恢復,監控告警等關鍵能力,能爲企業提供功能全面、穩定可靠、擴展性強、性能優越的企業級數據庫服務,目前已全網開放商用。而且它也是一個開放生態的產品,單分片版本的源代碼已經開源,社區地址爲:https://opengauss.org,歡迎大家自行下載、安裝和體驗。

 Ps:錯過GaussDB(for openGauss)專場直播的小夥伴們注意了,點擊鏈接可直接回顧,快來觀看吧>> https://bbs.huaweicloud.com/live/cloud_live/202103161900.html

點擊關注,第一時間瞭解華爲雲新鮮技術~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章