GBase新聞
GBase 8s高可用集群架構(gòu)介紹
對(duì)一些行業(yè)關(guān)鍵核心業(yè)務(wù)應(yīng)用來(lái)說(shuō),必須滿足7×24小時(shí)的不間斷服務(wù)。這就要求數(shù)據(jù)庫(kù)必須具備高可用性以避免數(shù)據(jù)庫(kù)節(jié)點(diǎn)的單點(diǎn)故障。數(shù)據(jù)庫(kù)的高可用架構(gòu)選擇直接影響到業(yè)務(wù)應(yīng)用服務(wù)可用性的等級(jí)。一般行業(yè)的關(guān)鍵核心業(yè)務(wù)要求具備極高可用性,即99.999%的可用性級(jí)別。
Oracle在高可用架構(gòu)上陸續(xù)推出了主機(jī)HA(Highly Available)、ADG(Active DataGuard)、RAC(Real Application Cluster)、OGG(Oracle Golden Gate)等多種形式。這些高可用架構(gòu)可以單獨(dú)使用,也可以組合使用,許多金融機(jī)構(gòu)借助Oracle的多種高可用架構(gòu)組合,構(gòu)建了兩地三中心的極高高可用業(yè)務(wù)服務(wù)。
在國(guó)產(chǎn)化替代的背景下,國(guó)產(chǎn)數(shù)據(jù)庫(kù)需要在高可用性技術(shù)上達(dá)到Oracle的同等水平甚至有所突破才能逐步實(shí)現(xiàn)千行百業(yè)的關(guān)鍵核心業(yè)務(wù)替換。目前,國(guó)產(chǎn)數(shù)據(jù)庫(kù)大多已經(jīng)借鑒Oracle構(gòu)建了自己的完整高可用架構(gòu),以南大通用GBase 8s數(shù)據(jù)庫(kù)為例,就有一整套對(duì)標(biāo)Oracle高可用的技術(shù)棧來(lái)確保行業(yè)業(yè)務(wù)系統(tǒng)的高可用服務(wù)。
GBase 8s主備式集群
GBase 8s提供了基于redo log實(shí)時(shí)同步和重做的主備式集群。主節(jié)點(diǎn)和備用節(jié)點(diǎn)之間的數(shù)據(jù)傳輸支持多路復(fù)用連接,可以減少網(wǎng)絡(luò)資源的需求,提高服務(wù)器之間的通信效率。
主備式集群支持HAC和RHAC兩種集群方式。
HAC是典型的一主一備的集群模式,可以根據(jù)網(wǎng)絡(luò)傳輸條件選擇全同步、近同步和異步三種redo log復(fù)制形式,完美對(duì)標(biāo)oracle ADG的最大保護(hù)、最大可用、最大性能三種工作模式。
全同步是交易在主節(jié)點(diǎn)上完成后,在提交之前,需要把交易的redo log復(fù)制到備用節(jié)點(diǎn),備用節(jié)點(diǎn)在接受到redo log之后,進(jìn)行日志重放,在備節(jié)點(diǎn)重放完成之后,主備節(jié)點(diǎn)一起提交。該方式最大的優(yōu)點(diǎn)是保障交易的可靠性,只要交易成功,一定是在主備兩個(gè)節(jié)點(diǎn)都寫(xiě)入redo log成功。
近同步是交易在主節(jié)點(diǎn)上完成后,該交易的redo log需要通過(guò)網(wǎng)絡(luò)發(fā)送給備用節(jié)點(diǎn),當(dāng)備用節(jié)點(diǎn)確認(rèn)接受該交易的redo log之后,主節(jié)點(diǎn)上的交易即刻提交。
異步是交易在主節(jié)點(diǎn)完成之后,就傳送到備用節(jié)點(diǎn),不需要等待備用節(jié)點(diǎn)回復(fù)任何消息,主節(jié)點(diǎn)都可以提交。但在檢查點(diǎn)來(lái)臨時(shí),需要比對(duì)主備節(jié)點(diǎn)檢查點(diǎn)的一致性,也就是說(shuō)數(shù)據(jù)庫(kù)允許在兩個(gè)檢查點(diǎn)之間是異步的,但是主備節(jié)點(diǎn)的檢查點(diǎn)必須要一致。
HAC集群的實(shí)際部署,推薦服務(wù)器雙網(wǎng)卡配置,業(yè)務(wù)流量走南北向網(wǎng)卡,redo log同步的流量走東西向網(wǎng)卡。
HAC集群的特點(diǎn):
1. 該集群模式部署簡(jiǎn)單,數(shù)據(jù)冗余;
2. 對(duì)應(yīng)用程序來(lái)說(shuō),數(shù)據(jù)庫(kù)透明訪問(wèn);
3. 故障切換時(shí)間在30秒內(nèi)完成;
4. 數(shù)據(jù)同步方式靈活多選;
5. 主備節(jié)點(diǎn)均可讀可寫(xiě)。
HAC集群的使用場(chǎng)景:
1. 在同機(jī)柜、同機(jī)房、同城的時(shí)候推薦考慮,網(wǎng)絡(luò)延遲是影響HAC集群的主要因素;
2. 數(shù)據(jù)量建議在不超過(guò)10TB的時(shí)候可以考慮HAC,主要是考慮單服務(wù)器磁盤(pán)可用容量的限制。
RHAC集群是GBase 8s集群的另外一種表現(xiàn)形式,從集群形態(tài)上支持一主多備,主要用于遠(yuǎn)距離傳輸、異地容災(zāi)的業(yè)務(wù)場(chǎng)景。RHAC是典型的異步傳輸機(jī)制,主節(jié)點(diǎn)負(fù)責(zé)接受和處理交易,并把交易的redo log源源不斷地發(fā)送到目標(biāo)節(jié)點(diǎn),不需要等目標(biāo)節(jié)點(diǎn)接受消息,也不需要等目標(biāo)節(jié)點(diǎn)的檢查點(diǎn),只有目標(biāo)節(jié)點(diǎn)在重做redo log之后才會(huì)向主節(jié)點(diǎn)返回redo log的位置信息。
RHAC集群的特點(diǎn):
1. 通過(guò)數(shù)據(jù)庫(kù)的redo log進(jìn)行復(fù)制,在備用節(jié)點(diǎn)恢復(fù)的時(shí)候可以通過(guò)最后一個(gè)檢查點(diǎn)自動(dòng)追平redo log,保證主備節(jié)點(diǎn)的數(shù)據(jù)完整性和一致性;
2. 對(duì)主節(jié)點(diǎn)性能影響最??;
3. 對(duì)應(yīng)用透明訪問(wèn);
4. 故障切換時(shí)間在30秒內(nèi)完成;
5. 主備節(jié)點(diǎn)均可讀可寫(xiě)。
RHAC集群的使用場(chǎng)景:
1. 長(zhǎng)距離傳輸?shù)臉I(yè)務(wù)場(chǎng)景或異地容災(zāi)的場(chǎng)景;
2. 網(wǎng)絡(luò)的延遲和帶寬都要求比較寬松。
HAC和RHAC部署架構(gòu)如下圖所示:
連接管理器CM
連接管理器CM(Connection Manager)是GBase 8s自帶的數(shù)據(jù)庫(kù)集群管理組件。該組件有兩個(gè)功能,應(yīng)用客戶(hù)端向GBase 8s進(jìn)行連接訪問(wèn),用于數(shù)據(jù)庫(kù)集群故障發(fā)現(xiàn)、故障轉(zhuǎn)移。
該組件可以單獨(dú)部署,也可以和數(shù)據(jù)庫(kù)部署在一起,為了避免單點(diǎn)故障,可以部署多個(gè)CM。
GBase 8s基于共享存儲(chǔ)的數(shù)據(jù)庫(kù)集群
對(duì)于大型業(yè)務(wù)系統(tǒng)來(lái)說(shuō),一般會(huì)采用基于共享存儲(chǔ)的雙節(jié)點(diǎn)或者多節(jié)點(diǎn)數(shù)據(jù)庫(kù)集群來(lái)支撐業(yè)務(wù)的高可用。GBase 8s共享存儲(chǔ)高可用集群SSC,采用共享磁盤(pán)方式實(shí)現(xiàn)節(jié)點(diǎn)高可用,數(shù)據(jù)僅存儲(chǔ)一份,有效利用硬件資源,避免數(shù)據(jù)重復(fù)存儲(chǔ)問(wèn)題。共享存儲(chǔ)支持磁盤(pán)陣列也支持分布式存儲(chǔ),IO設(shè)備支持裸設(shè)備也支持共享文件系統(tǒng)。
集群為主控對(duì)等管理模式,查詢(xún)時(shí)訪問(wèn)本地緩存,無(wú)網(wǎng)絡(luò)開(kāi)銷(xiāo),線性擴(kuò)展性良好,集群節(jié)點(diǎn)數(shù)最多可達(dá)16個(gè),所有節(jié)點(diǎn)均可讀寫(xiě)。當(dāng)主節(jié)點(diǎn)失效時(shí),輔助節(jié)點(diǎn)可以升級(jí)為主控節(jié)點(diǎn),保障系統(tǒng)的高可用。
SSC集群的特點(diǎn):
1. 類(lèi)RAC技術(shù),支持共享存儲(chǔ),保證數(shù)據(jù)的強(qiáng)一致性;
2. 應(yīng)用透明訪問(wèn);
3. 集群中所有節(jié)點(diǎn)均可讀寫(xiě);
4. 集群故障切換在30秒內(nèi)完成;
5. 在數(shù)據(jù)量低于100TB的業(yè)務(wù)場(chǎng)景中,相對(duì)于分布式數(shù)據(jù)庫(kù)來(lái)說(shuō),性?xún)r(jià)比最高的數(shù)據(jù)庫(kù)集群方案。
SSC集群使用場(chǎng)景:
1. 數(shù)據(jù)量超過(guò)10TB小于100TB的業(yè)務(wù)場(chǎng)景;
2. 單機(jī)能力或主備式集群處理能力不滿足的業(yè)務(wù)場(chǎng)景。
部署架構(gòu)如下圖所示:
對(duì)SLA要求更加嚴(yán)格的關(guān)鍵核心業(yè)務(wù)系統(tǒng),GBase 8s也有兩地三中心高可用解決方案。部署架構(gòu)如下圖所示:
如上圖所示,主機(jī)房采用4節(jié)點(diǎn)的SSC集群架構(gòu),同城災(zāi)備機(jī)房部署一個(gè)HAC節(jié)點(diǎn),異地災(zāi)備機(jī)房部署一個(gè)RHAC容災(zāi)節(jié)點(diǎn),完美地構(gòu)建了兩地三中心的部署架構(gòu)。
應(yīng)用程序通過(guò)CM訪問(wèn)數(shù)據(jù)庫(kù)集群,應(yīng)用程序無(wú)法知道數(shù)據(jù)庫(kù)集群的部署情況,相對(duì)數(shù)據(jù)庫(kù)來(lái)說(shuō)更安全。
當(dāng)主節(jié)點(diǎn)發(fā)生故障時(shí),一個(gè)SSC節(jié)點(diǎn)自動(dòng)提升為主節(jié)點(diǎn)接管業(yè)務(wù),其他節(jié)點(diǎn)自動(dòng)向新的主節(jié)點(diǎn)看齊,并自動(dòng)同步無(wú)需人工干預(yù)。當(dāng)備用節(jié)點(diǎn)故障的時(shí)候,也不影響整個(gè)數(shù)據(jù)庫(kù)集群的訪問(wèn)和業(yè)務(wù)的持續(xù)運(yùn)行。
GBase 8s 數(shù)據(jù)實(shí)時(shí)交換共享集群
GBase 8s內(nèi)置以表為單位的數(shù)據(jù)實(shí)時(shí)同步能力,對(duì)標(biāo)OGG。
該能力的特點(diǎn)如下:
1. 數(shù)據(jù)庫(kù)可以有兩個(gè)或多個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)均可讀、可寫(xiě);
2. 每個(gè)表上的同步支持單向同步、也支持雙向同步;
3. 可以支持完整行的數(shù)據(jù)同步,也支持特定字段的數(shù)據(jù)同步;
4. 支持全量同步、增量同步,支持?jǐn)帱c(diǎn)續(xù)傳;
5. 支持?jǐn)?shù)據(jù)快速比對(duì);
6. 當(dāng)有一個(gè)節(jié)點(diǎn)故障的時(shí)候,業(yè)務(wù)系統(tǒng)可以在1秒以?xún)?nèi)切換到其他節(jié)點(diǎn),最大化保障業(yè)務(wù)連續(xù)性;
7. 支持一鍵部署;
8. 可以在兩個(gè)數(shù)據(jù)庫(kù)集群之間使用表復(fù)制的能力連接起來(lái),從而實(shí)現(xiàn)數(shù)據(jù)庫(kù)集群雙活的能力。
該能力的使用場(chǎng)景:
1. 野外或無(wú)人值守環(huán)境,對(duì)數(shù)據(jù)庫(kù)干預(yù)較少的場(chǎng)景;
2. 對(duì)數(shù)據(jù)庫(kù)切換時(shí)間要求極短的場(chǎng)景;
3. 部省市縣數(shù)據(jù)實(shí)時(shí)交換共享業(yè)務(wù)場(chǎng)景;
4. 平行單位之間數(shù)據(jù)實(shí)時(shí)交換共享場(chǎng)景。