GBase新聞
GBASE數(shù)據(jù)庫高可用技術(shù)保障用戶系統(tǒng)穩(wěn)健運(yùn)營
數(shù)據(jù)庫高可用(High Availability)是指數(shù)據(jù)庫系統(tǒng)在面對(duì)硬件或軟件故障時(shí)仍能保持持續(xù)可用的能力。其對(duì)用戶的正常運(yùn)營和數(shù)據(jù)管理具有重要意義,一旦缺失則可能造成無法估量的重大損失和嚴(yán)重后果。如:數(shù)據(jù)庫故障或停機(jī),將使得業(yè)務(wù)系統(tǒng)無法進(jìn)行正常的數(shù)據(jù)存取,從而導(dǎo)致用戶的業(yè)務(wù)中斷,影響用戶的正常運(yùn)營;缺乏有效的備份和冗余機(jī)制,可能導(dǎo)致重要數(shù)據(jù)的永久丟失,對(duì)用戶而言,數(shù)據(jù)丟失不僅意味著損失重要信息,而且可能帶來法律合規(guī)的問題;故障恢復(fù)時(shí)間太長(zhǎng),當(dāng)數(shù)據(jù)庫出現(xiàn)故障或停機(jī)時(shí),恢復(fù)過程可能會(huì)非常漫長(zhǎng)和復(fù)雜,導(dǎo)致期間無法進(jìn)行正常業(yè)務(wù)操作。因此一套成熟的企業(yè)級(jí)數(shù)據(jù)庫系統(tǒng)必須要有完善的數(shù)據(jù)庫高可用機(jī)制。
數(shù)據(jù)庫高可用保障著業(yè)務(wù)連續(xù)性,能夠在節(jié)點(diǎn)故障發(fā)生時(shí)快速切換到備用節(jié)點(diǎn)或系統(tǒng),減少業(yè)務(wù)中斷的時(shí)間和影響;保障數(shù)據(jù)安全性和完整性,通過數(shù)據(jù)冗余、故障檢測(cè)和故障恢復(fù)等機(jī)制,防止數(shù)據(jù)丟失和損壞。高可用數(shù)據(jù)庫需具備快速的故障恢復(fù)能力,能夠迅速切換到備用系統(tǒng)或節(jié)點(diǎn),降低故障對(duì)業(yè)務(wù)的影響,提高系統(tǒng)的容錯(cuò)性和可靠性。
數(shù)據(jù)庫如何達(dá)到高可用?簡(jiǎn)而言之靠?jī)刹糠种危喝哂嗪凸芾怼?/strong>數(shù)據(jù)冗余也可以稱為數(shù)據(jù)復(fù)制(因?yàn)橹饕獙?shí)現(xiàn)機(jī)制是數(shù)據(jù)復(fù)制,當(dāng)然也有通過寫多份來實(shí)現(xiàn)的,本文只關(guān)注數(shù)據(jù)復(fù)制),是高可用實(shí)現(xiàn)的基礎(chǔ),數(shù)據(jù)存儲(chǔ)多份,當(dāng)有一個(gè)或者一部分節(jié)點(diǎn)發(fā)生故障,其他節(jié)點(diǎn)依然有備份數(shù)據(jù)提供支持。高可用管理是對(duì)高可用實(shí)現(xiàn)的統(tǒng)籌編排與管理,負(fù)責(zé)狀態(tài)判斷,故障切換等工作。數(shù)據(jù)庫高可用功能如下圖所示。
1. 數(shù)據(jù)復(fù)制/冗余:數(shù)據(jù)復(fù)制通過在多個(gè)節(jié)點(diǎn)上復(fù)制和同步數(shù)據(jù),可以提供冗余備份和容錯(cuò)能力。
2. 高可用架構(gòu):依照用戶需求設(shè)計(jì)高可用架構(gòu),確保系統(tǒng)在面對(duì)故障或異常情況時(shí)能夠保持可靠的運(yùn)行和服務(wù),一般分為集中式和分布式。
3. 負(fù)載均衡:將用戶請(qǐng)求合理分發(fā)到不同的數(shù)據(jù)庫節(jié)點(diǎn),確保每個(gè)節(jié)點(diǎn)的負(fù)載是均衡的狀態(tài)。
4. 自動(dòng)故障檢測(cè):監(jiān)測(cè)數(shù)據(jù)庫節(jié)點(diǎn)的狀態(tài),一旦發(fā)現(xiàn)節(jié)點(diǎn)故障,自動(dòng)觸發(fā)故障切換,將請(qǐng)求切換到備用節(jié)點(diǎn)或系統(tǒng)上,最大程度地減少故障對(duì)業(yè)務(wù)的影響,實(shí)現(xiàn)快速的故障恢復(fù)。
5. 故障切換:當(dāng)節(jié)點(diǎn)發(fā)生故障時(shí),可以自動(dòng)將請(qǐng)求切換到其他健康的節(jié)點(diǎn)上,實(shí)現(xiàn)故障切換和持續(xù)的服務(wù)。
GBASE南大通用專注于數(shù)據(jù)庫軟件產(chǎn)品和服務(wù),公司GBase系列數(shù)據(jù)庫產(chǎn)品均擁有成熟的數(shù)據(jù)庫高可用技術(shù)和方案,滿足金融、電信、政務(wù)、能源、交通、國防軍工等行業(yè)應(yīng)用,為用戶業(yè)務(wù)提供不間斷的數(shù)據(jù)庫服務(wù)。其中:
GBase 8a是南大通用自主研發(fā)的面向商業(yè)分析和商業(yè)智能市場(chǎng)成熟的分析型MPP數(shù)據(jù)庫。GBase 8a的高可用機(jī)制包括數(shù)據(jù)冗余、多級(jí)別高可用架構(gòu)、高可用管理等。
數(shù)據(jù)冗余:
可提供1個(gè)或3個(gè)副本數(shù)據(jù)冗余。
副本間數(shù)據(jù)自動(dòng)同步。
多分片機(jī)制降低節(jié)點(diǎn)故障的木桶效應(yīng)。
集群副本數(shù)和分片數(shù)可進(jìn)行靈活配置,可配置副本分片到集群的任意一個(gè)節(jié)點(diǎn)上,可以根據(jù)配置在主機(jī)性能高和存儲(chǔ)空間大的節(jié)點(diǎn)分配更多的主本和副本。
多級(jí)別高可用架構(gòu):
節(jié)點(diǎn)級(jí)別高可用,調(diào)度節(jié)點(diǎn)(GCluster)通過 Failover 機(jī)制保障執(zhí)行 SQL 的數(shù)據(jù)一致性。管理節(jié)點(diǎn)(GCware)通過虛同步機(jī)制保障集群元數(shù)據(jù)的一致性。計(jì)算節(jié)點(diǎn)(GNode)通過自動(dòng)同步來保障主副本數(shù)據(jù)的一致性。
雙活集群架構(gòu),支持兩個(gè)同構(gòu)集群間的準(zhǔn)實(shí)時(shí)數(shù)據(jù)同步。M-S 架構(gòu)同步,主集群數(shù)據(jù)可寫,備份集群數(shù)據(jù)可查詢。基于數(shù)據(jù)塊的增量同步,針對(duì)于傳統(tǒng)的基于邏輯日志的同步,大大提高海量數(shù)據(jù)同步的效率。
虛擬集群鏡像架構(gòu),支持兩個(gè)鏡像集群之間實(shí)時(shí)數(shù)據(jù)同步。虛擬集群的鏡像集群支持?jǐn)?shù)據(jù)實(shí)時(shí)一致性,互為鏡像的兩個(gè)集群同時(shí)寫入。鏡像表數(shù)據(jù)是數(shù)據(jù)的實(shí)時(shí)備份,對(duì)鏡像集群任意一端發(fā)起數(shù)據(jù)變更都會(huì)實(shí)時(shí)同步到鏡像表;主表有了鏡像關(guān)系后,對(duì)于查詢模塊相當(dāng)于主表多出了備份分片。查詢模塊可以利用多出的備份提升查詢高可用能力;支持以庫、表為單位創(chuàng)建和刪除鏡像關(guān)系。以庫為單位時(shí),庫下所有表都將自動(dòng)創(chuàng)建鏡像;庫下所有函數(shù)、存儲(chǔ)過程和視圖都會(huì)同步在目標(biāo)鏡像庫下創(chuàng)建。
高可用管理:
復(fù)制引擎自動(dòng)管理數(shù)據(jù)同步。
節(jié)點(diǎn)發(fā)生故障時(shí),系統(tǒng)自動(dòng)切換至其它節(jié)點(diǎn)進(jìn)行工作,保證業(yè)務(wù)連續(xù)性,最大限度防止由于故障切換后木桶效應(yīng)而引起的顯著的性能抖動(dòng)。
節(jié)點(diǎn)故障對(duì)應(yīng)用透明,不會(huì)中斷正在執(zhí)行業(yè)務(wù),一旦故障節(jié)點(diǎn)恢復(fù)正常,GBase 8a會(huì)從其他節(jié)點(diǎn)上的數(shù)據(jù)恢復(fù)該節(jié)點(diǎn)數(shù)據(jù),在完成更新后立即提供服務(wù)。
GBase 8s 是南大通用自主研發(fā)的、成熟穩(wěn)定的企業(yè)級(jí)國產(chǎn)交易型數(shù)據(jù)庫,擁有自主知識(shí)產(chǎn)權(quán),產(chǎn)品安全級(jí)別達(dá)到EAL4級(jí)。GBase 8s的高可用可實(shí)現(xiàn)故障秒級(jí)切換,高可用等級(jí)99.999%,高可用機(jī)制包括數(shù)據(jù)冗余、靈活的高可用集群架構(gòu)、高可用管理等。
數(shù)據(jù)冗余:
GBase 8s采用邏輯日志復(fù)制技術(shù)實(shí)現(xiàn)節(jié)點(diǎn)高可用。
邏輯日志的更新模式支持同步、半同步、異步模式。
靈活高可用集群架構(gòu):
同城主備容災(zāi)高可用(HAC),RPO=0,RTO<30秒。
異地災(zāi)備高可用(RHAC),RPO<100秒,RTO<5分。
支持兩地三中心高可用部署,遠(yuǎn)程容災(zāi)距離可達(dá)1000公里以上。
支持?jǐn)?shù)據(jù)庫集群異地雙活能力,保證雙活集群間的數(shù)據(jù)一致性。
集群主節(jié)點(diǎn)執(zhí)行讀寫業(yè)務(wù)的同時(shí),備節(jié)點(diǎn)可承擔(dān)查詢、報(bào)表等讀業(yè)務(wù)。
高可用管理:
所有的高可用能力均內(nèi)置于數(shù)據(jù)庫服務(wù)自身,不需要部署第三方組件,提升高可用方案的穩(wěn)定性,降低維護(hù)成本。
提供連接管理器(CM)部件,實(shí)現(xiàn)故障接管和負(fù)載均衡能力,且對(duì)應(yīng)用透明。
GBase 8c是基于openGauss構(gòu)建的一款多模多態(tài)的分布式數(shù)據(jù)庫,支持主備式、分布式的高可用部署形態(tài)。GBase 8c主備式形態(tài)提供主備同步、異步以及級(jí)聯(lián)備機(jī)多種部署方式;分布式形態(tài)集群全局無單點(diǎn),高可用可達(dá)到99.99%,分布式集群支持兩地三中心,支持異地多活,業(yè)務(wù)連續(xù)在線,數(shù)據(jù)永不丟失。
數(shù)據(jù)冗余:
主備式高可用支持?jǐn)?shù)據(jù)多副本冗余,主備副本之間通過日志進(jìn)行數(shù)據(jù)交換,保證集群任意節(jié)點(diǎn)故障均不影響數(shù)據(jù)庫對(duì)外提供服務(wù),數(shù)據(jù)無丟失,滿足ACID特性。
分布式高可用采用分布式全組件冗余。
多態(tài)高可用架構(gòu):
主備式高可用,支持?jǐn)?shù)據(jù)多副本冗余,包括:協(xié)調(diào)器、數(shù)據(jù)節(jié)點(diǎn)、集群狀態(tài)管理器、集群管理器,并且均做到了備份冗余。當(dāng)主節(jié)點(diǎn)故障,備節(jié)點(diǎn)可以自動(dòng)升級(jí)為主,并繼續(xù)對(duì)外提供服務(wù)。該過程對(duì)應(yīng)用透明,整個(gè)主備切換過程應(yīng)用無感知,不影響對(duì)外服務(wù)。
分布式高可用,在軟件層針對(duì)分布式集群中的每個(gè)組件,均做了組件級(jí)冗余。
CN:協(xié)調(diào)器,采用完全對(duì)等的部署方式;多個(gè)CN做服務(wù)冗余,支持負(fù)載均衡;
DN:數(shù)據(jù)節(jié)點(diǎn),采用主備的高可用架構(gòu),主備之間可以配置同步或異步方式;
GTM:全局事務(wù)管理器,采用主備的高可用架構(gòu),主備之間可以配置同步或異步方式;
HA Center:集群狀態(tài)管理器,采用Raft的復(fù)制協(xié)議;
GHA Server:集群管理器,采用主備的高可用架構(gòu),主備之間可以配置同步或異步方式。
高可用多種方案可以滿足各種應(yīng)用場(chǎng)景下對(duì)數(shù)據(jù)庫的不同需求,包括同機(jī)房容災(zāi)、同城容災(zāi)、異地災(zāi)備、異地多活等。
高可用管理:
全局事務(wù)管理器管理數(shù)據(jù)庫分布式強(qiáng)一致事務(wù),對(duì)于追求性能的新興數(shù)據(jù)庫業(yè)務(wù),也可實(shí)現(xiàn)強(qiáng)一致事務(wù),而不是最終一致性;
集群狀態(tài)管理器存儲(chǔ)各個(gè)節(jié)點(diǎn)的高可用狀態(tài),負(fù)責(zé)在故障情況下判斷集群各個(gè)節(jié)點(diǎn)狀態(tài),自身基于RAFT復(fù)制協(xié)議;
集群管理器,用以管理整個(gè)集群各個(gè)節(jié)點(diǎn)的高可用狀態(tài)(主備、是否宕機(jī)等)。
數(shù)據(jù)庫的高可用性對(duì)于用戶系統(tǒng)穩(wěn)健運(yùn)營至關(guān)重要。南大通用GBASE數(shù)據(jù)庫通過實(shí)現(xiàn)數(shù)據(jù)復(fù)制、自動(dòng)故障檢測(cè)和切換、負(fù)載均衡和故障切換等高可用冗余和管理機(jī)制,保障各行業(yè)用戶業(yè)務(wù)7*24小時(shí)穩(wěn)定、連續(xù)正常運(yùn)行。
數(shù)據(jù)庫高可用提升永無止境,南大通用將繼續(xù)努力不斷改進(jìn),打磨適于用戶應(yīng)用的安全穩(wěn)定的數(shù)據(jù)庫產(chǎn)品、解決方案和服務(wù),滿足客戶的需求和期望,也為國家信息技術(shù)產(chǎn)業(yè)的發(fā)展貢獻(xiàn)力量。