摘要:本文從整體架構、主打場景、關鍵技術特性等方面進行介紹GaussDB(for openGauss)。
本文分享自華爲雲社區《技術直播解讀第1期:認識華爲雲數據庫GaussDB(for openGauss)》,原文做者:心機胖。html
3月16日,在華爲雲主辦的GaussDB(for openGauss)系列技術第一期直播課《認識華爲雲數據庫 GaussDB(for openGauss) 》上,有這樣一個提問:開源數據庫這麼香,爲何華爲還要下功夫自研GaussDB(for openGauss)?算法
其實,很多開源數據庫在易用性、配套能力等方面較弱,須要不斷維護,並且一旦遇到數據丟失問題,很難快速恢復,形成的損失不可估量。也所以,開源數據庫上雲只能解決中小企業的簡化部署、運維、調優、極致性價比等訴求。數據庫
與此同時,開源數據庫還得面臨服務器、數據庫維護升級、人力運維等各類大大小小的成本支出,很難知足業務的快速擴張以及可持續發展。面對金融、政企等對數據安全、響應速度、可靠性、可用性有嚴苛要求的大型企業,就須要超高可用、功能完備、性能卓越、開放生態、極致彈性的企業級數據庫服務。segmentfault
GaussDB(for openGauss)是華爲深度融合多年數據庫領域經驗,充分結合企業級場景需求,基於openGauss自研生態推出的企業級分佈式關係型數據庫。目前支持單分片和分佈式兩種部署形態,在支撐傳統業務的基礎上,持續構建競爭力特性,爲企業面向5G時代的挑戰,提供了無限可能。安全
爲了讓你們快速瞭解GaussDB(for openGauss),華爲雲數據庫團隊準備了GaussDB(for openGauss)系列技術直播,本文將結合第一場直播內容從整體架構、主打場景、關鍵技術特性等方面進行介紹。服務器
GaussDB(for openGauss)統一基於數據分片的分佈式架構(share nothing),底層數據經過必定的規則好比hash、list或者range等讓數據打散分佈到不一樣的數據節點上,計算時底層多個節點共同參與計算。同時數據節點能夠擴展,上層由協調節點進行SQL解析和轉發。網絡
從圖中能夠看到,主要包括三類節點:協調節點、數據節點、集羣類節點(最重要的是全局事務管理器)。協調節點負責SQL解析轉發,充當的是相似proxy的角色,數據節點負責計算和數據存儲,全局事務管理器負責全局事務讀一致性的保證。架構
這種架構爲GaussDB(for openGauss)構建瞭如下核心優點:併發
針對傳統的應用,可使用單分片的模式,使用方式同傳統的主備模式相同。GaussDB(for openGauss)結合鯤鵬深度優化,性能很是出衆,同時在可用性上作了極大的提高,很是適合傳統商業數據庫的替換場景。負載均衡
隨着5G時代的到來,單一節點是難以應對數據規模的不斷增加並確保性能的須要,而跨節點、可橫向擴展的數據庫能夠很好解決大規模海量數據的計算存儲須要。GaussDB(for openGauss)分佈式模式最大能夠支持1000+節點,PB級存儲,分佈式事務強一致等特性能夠很好地知足政府、交通、金融、能源等行業的互聯網+的訴求。
爲了方便你們更好理解GaussDB(for openGauss)的技術運行狀態,下面將對GaussDB(for openGauss)一些關鍵角色進行介紹:
GaussDB(for openGauss)基於計算存儲分離的分佈式架構,構建了6大核心技術特性,下面將對這6大特性進行詳細解讀。
該特性的大體執行過程爲:
華爲在SQL執行優化方面有多年的沉澱,即便是複雜的SQL、事務分析混合(HTAP)的場景也能獲得最佳的執行,舉個列子:
經過分佈式查詢引擎、分佈式調度引擎、分佈式存儲引擎,GaussDB(for openGauss)完美作到了數據的自動分片,並利用查詢優化器在自動負載均衡的同時不斷提高執行計劃處理效率;在數據節點上針對不一樣數據場景提供分場景stream流(廣播流、聚合流、重分佈流),不斷提高多分片數據節點間的交互效率,並自動完成數據的結果彙總,保障分佈式事務的全局一致性。
該特性的優點是:
GaussDB(for openGauss)使用Numa Aware技術,根據鯤鵬處理器多核NUMA架構特色進行系列優化,經過綁核技術避免內存跨核訪問,減小時延問題;經過應用重作日誌批量插入、熱點數據NUMA分佈、Clog分區等關鍵技術,充分發揮多核算力優點,不斷下降訪問延遲,日誌寫衝突,索引更新衝突。當前基於泰山鯤鵬服務器,TPCC性能壓測是同規格x86的1.5倍。
GaussDB(for openGauss)經過硬件冗餘、實例冗餘、數據冗餘,實現整個系統軟硬件無單點故障。不一樣於傳統數據庫軟件產品,GaussDB(for openGauss)主要着重於經過軟件能力來提供高可用、高可靠保障。華爲雲基於軟硬件底座,作到端到端數據庫高可用能力,並支持對整個場景進行端到端監控&檢測,可以更及時、更可靠地保障用戶的應用在線、數據0丟失,實現全棧無單點故障。
硬件高可用:
軟件高可用:
GaussDB(for openGauss)當前已經支持同城單集羣跨AZ雙活,RPO=0,RTO<60s;雙集羣跨Region兩地三中心容災,RPO<10s,RTO< 10m,該方案在支持跨Region容災的同時,支持容災節點最小化,有效下降用戶容災成本,同時容許用戶在故障場景升主後對容災節點進行在線擴展,保證業務不中斷的同時提高用戶原容災實例的可靠性和可用性。
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