趣說GBase 8a資料庫叢集(三)—之高可用特性

GBASE南大通用發表於2022-02-10

各位 GBase 8a 的粉絲以及對其感興趣的朋友,大家好, GBase 8a 資料庫叢集是南大通用自研的的核心分析型資料庫產品,在國內資料庫行業特別是分析型資料庫領域長期處於主導地位,歷經 13 年時間演進與發展, GBase 8a 產品隨著客戶的業務需求逐漸成長壯大,在金融、電信等行業得到規模化的應用, IDC 報告與賽迪報告顯示其位列國產分析型資料庫市場佔有率第一。本篇 趣說 也將和大家一起從滿足客戶主要需求的角度剖析一下 GBase 8a 的高可用特性。

以客戶需求演進的GBase 8a

通過前面的兩篇趣說 ,我們瞭解到 GBase 8a MPP Cluster 產品演進分為列存資料庫階段、 MPP+ 列存資料庫階段和邏輯數倉 LDW 階段;其架構分為三個主要的架構演進。

GBase 8a 產品演進主要是隨著客戶在使用資料庫的過程中,不斷的提出新的需求,以滿足上層業務系統的使用需要,在這些需求中,對叢集可支撐的資料量、叢集的計算效能包括載入效能和查詢效能以及叢集的高可靠性、高可用性和高穩定性需求是 GBase 8a 產品所面對的主要需求,為了滿足這些需求,產品的架構也隨之進行演進。

GBase 8a 產品是隨著客戶的業務需求逐漸成長壯大的,每個成長階段都肩負著對應階段的歷史使命,假若 GBase 不具備產品自主智慧財產權,不具備堅實的資料庫理論知識庫,不具備大型商業資料庫軟體的研發能力,不具備一定規模的研發團隊,不具備客戶對 GBase 的信賴,我們今天就看不到這樣一款國產分析型資料庫產品。

GBase 8a 的高可用特性

經過多年的客戶應用實踐及總結演進,GBase 8a 產品可以滿足客戶主要的高可用性需求,目前具備三個級別的高可用能力,分別是叢集級高可用能力、叢集節點級高可用能力和程式級高可用能力。

(一)叢集級高可用能力

GBase 8a 提供了兩種技術實現叢集級高可用,分別是資料同步技術和映象叢集技術。

對於資料同步技術,GBase 8a 開發了一款資料同步工具,可以基於資料塊進行增量同步,相比於傳統的基於邏輯日誌的同步,大大提高海量資料同步的效率,這款工具可以支援兩個同構的 GBase 8a 叢集間的增量資料同步能力,因此可以使用該工具構建雙活叢集,滿足客戶異地容災需求,實現叢集級的容災管理。

映象叢集技術是GBase 8a 產品滿足客戶同城雙活叢集需求研發一種技術,通過該技術在聯邦架構的 GBase 8a 中實現了映象叢集功能,支援使用者在 GBase 8a 中建立映象叢集,建立成功以後寫入主叢集的資料會實時同步到備份叢集(或者稱之為從屬叢集),對上層應用系統是透明無感知的,在此基礎之上還可以提供讀寫分離特性,支援上層應用系統中的讀操作訪問備份叢集,從備份叢集讀取資料,並支援雙寫。

GBase 8a 叢集級高可用能力可以滿足客戶容災需求,雙活叢集需求和讀寫分離的需求。

(二)叢集節點級高可用能力

GBase 8a 叢集包括三種型別的叢集節點,分別是 Gcluster 節點、 Gnode 節點和 Gcware 節點。多個 Gcluster 節點構成 Gcluster 叢集,也稱之為排程叢集,負責 GBase 8a 叢集的排程管理,包括訪問入口功能、統一鑑權功能、 SQL 解析功能等等;多個 Gnode 節點構成 Gnode 叢集,也稱之為儲存計算叢集,負責 GBase 8a 叢集的資料儲存和查詢計算;多個 Gcware 節點構成 Gcware 叢集,也稱之為管理叢集,負責 GBase 8a 叢集後設資料一致性、資料一致性的管理工作。

1 Gcluster 叢集的節點級高可用

各個Gcluster 節點之間是相互獨立的,具有 Failover 功能,當一個 Gcluster 節點異常以後,其他 Gcluster 節點會通過 Failover 機制接管該節點正在處理的任務,保障通過該節點接入而正在執行 SQL 的資料一致性,可以說,只要存在一個正常執行的 Gcluster 節點, GBase 8a 叢集即可對外正常提供服務能力。

2 Gnode 叢集的節點級高可用

Gnode 節點儲存 GBase 8a 叢集資料的多副本,採用多副本時,具備 Gnode 節點級的高可用。例如部署 3 副本時,每份資料有三個副本,其一致性由 Gcluster 叢集和 Gcware 叢集保障,每個副本位於一個 Gnode 節點上,對於每份資料而言,允許 2 Gnode 節點不提供服務的情況下, GBase 8a 叢集仍然可以通過餘下的一份資料所在節點訪問該資料,對外提供服務能力。

3 Gcware 叢集的節點級高可用

Gcware 叢集通過 raft 協議保證叢集資料的一致性,所以 Gcware 叢集出現節點不可用時,只要剩餘的 Gcware 節點數可滿足 raft 協議計算所需的最少節點數即可, Gcware 叢集仍然可以提供服務。對於 raft 協議此處不做展開,感興趣的小夥伴可以自學一下,網上的資料很多。

(三)程式級高可用能力

GBase 8a 的每個叢集節點上執行著核心程式服務,包括 GNode GCluster GCware 等核心程式,這些核心程式都採用了實時監控技術被實時監控著,出故障後可及時恢復。

通過以上能力,GBase 8a 產品可以有效滿足客戶高可用需求,多年以來 GBase 8a 一直以解決客戶業務需求為目標不斷演化發展,目前已經是國內資料庫行業特別是分析型資料庫領域長期處於主導地位的產品,以一種樸實的姿態為中國企業提供了一款成熟穩定、好用易用、效能極佳的分析型資料庫,為資料倉儲、資料集市、商用智慧和決策支援系統等上層應用提供最堅實的底層支撐。

在近三期的趣說 GBase 8a 資料庫叢集 中,已經分別為大家介紹了 GBase 8a 的產品演進、產品架構和高可用特性,相信閱讀至此,您已經對此款產品的歷史及功能有了一些瞭解,那麼一款如此效能的資料庫實際應用情況是什麼樣子呢?在接下來的幾期中,將結合多年的客戶實踐來一一為您揭曉。

 

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69979120/viewspace-2855110/,如需轉載,請註明出處,否則將追究法律責任。

相關文章