大數(shù)據(jù)“復(fù)活”記
1542
2025-04-01
前言
本文主要內(nèi)容分兩塊內(nèi)容,1. 高可用的演進(jìn)路線 2. 簡單介紹各個內(nèi)核組件的高可用方案
GaussDB for DWS?的內(nèi)核側(cè)組件為DN, CN, GTM,內(nèi)核側(cè)組件是通過集群管理組件CM server、CM?agent?來進(jìn)行管理的。內(nèi)核組件和集群管理組件共同組成了GaussDB for DWS?集群。組件的邏輯關(guān)系如下圖:
演進(jìn)路線
GaussDB For DWS?源于Gauss 200,?經(jīng)過若干版本的演進(jìn),形成當(dāng)前高可用能力,從最初pgxc組件間沒有任何高可用能力,到現(xiàn)在完整的高可用能力。后續(xù)高可用的能力還是圍繞單點故障快速恢復(fù),業(yè)務(wù)不中斷進(jìn)行構(gòu)筑。
內(nèi)核高可用
DN?高可用
DN?的高可用是基于主備從的架構(gòu)進(jìn)行構(gòu)筑,詳細(xì)的原理請參見之前技術(shù)博文,本文不展開描述。
GaussDB for DWS 高可用之?dāng)?shù)據(jù)復(fù)制
GaussDB for DWS 高可用之主備從HA技術(shù)
GaussDB for DWS 高可用之備機重建
DN?高可用后續(xù)會增加? switchover/failover/catchup原理及的介紹。
CN?高可用
在?DWS?集群中通常會部署多個CN,每個CN都可讀寫。如果一個CN故障,那么客戶端可以使用其它CN。由于CN只存儲元信息數(shù)據(jù)(即每張用戶表數(shù)據(jù)分布在哪幾個DN),因此只有DDL操作時才涉及到CN存儲數(shù)據(jù),DML時CN并不需要寫數(shù)據(jù)。
CN?的數(shù)據(jù)同步
在DDL操作時,接收業(yè)務(wù)的CN會把該SQL發(fā)送到所有其他CN與所有DN,通過兩階段提交來保證各個CN的數(shù)據(jù)一致性。這里也有一個場景:即當(dāng)一個CN故障時,那么集群便無法操作DDL,此時CM已經(jīng)提供了CN的自動剔除和加回功能,可以方便的處理CN的故障。
CN?重建方式
CN?的修復(fù)是通過使用一個正常的CN重建故障CN,?具體技術(shù)是用CN?build?的方式使用其它CN重建出CN,?這個也是充分利用CN間互為多寫互為備機的機制。在較老版本中使用gs_dump工具來實現(xiàn)?CN?的重建。
CN?的狀態(tài)轉(zhuǎn)換
CN的狀態(tài)分為 4?種如下圖:Normal: 是正常提供服務(wù),Starting:?實例啟動過程,Down:?停止,Deleted:?被剔除狀態(tài)。?在集群中CN的操作都是由CM agent來完成的,基本上不需要人工介入。
GTM?高可用
在DWS集群中,GTM的作用是產(chǎn)生全局唯一的事務(wù)號及sequence id,?在DWS集群中GTM主備兩個實例,主GTM提供服務(wù)和給備GTM同步信息,備GTM負(fù)責(zé)在主GTM故障時,升主繼續(xù)提供服務(wù)。主備GTM的數(shù)據(jù)都需要在本地落盤,其中主GTM在達(dá)到閾值后寫本地數(shù)據(jù)并同時保證在備GTM中也落盤,這樣保證備GTM升主后不會分配重復(fù)的數(shù)據(jù)。
GTM?數(shù)據(jù)同步
主 GTM? 在xid、sequence 達(dá)到閾值時刷新本地和備GTM的數(shù)據(jù),在上一次閾值是寫入數(shù)據(jù)后的第一次分配的xid、sequence?的xid的基礎(chǔ)上 +?一個值(20w)?作為一個閾值,在 xid、sequnce分配到這個點時,觸發(fā)寫本地和同步備GTM,此時備GTM接收到消息后創(chuàng)建一個服務(wù)線程,并將事務(wù)xid寫入本地文件,回復(fù)消息,主機的一次同步便完成。GTM在內(nèi)存中xid每加20w時會向備機同步一次。如果GTM主機永久故障,GTM備機升主后,只需要重新初始化一個GTM實例出來然后和主機同步xid即可。
GTM?狀態(tài)轉(zhuǎn)換
GTM?的角色與?DN?類似,也是有primary, standby,?pending?三種,并且通過外部命令switchover/failover/notify進(jìn)行角色間的轉(zhuǎn)換。當(dāng)然這種轉(zhuǎn)換是由cm層自動完成,基本上不需要人工介入
數(shù)據(jù)倉庫服務(wù) GaussDB(DWS) 數(shù)據(jù)復(fù)制服務(wù) DRS
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。