大數據“復活”記
704
2025-03-31
本文接?[數據倉庫]雙集群系統方案探討?展開討論一下GaussDB(DWS)的容災應該如何設計。
對于方案探討中涉及到幾種形態,從數倉內核的角度去分析一下各個方案的問題:
日志同步技術:
列存數據不記日志無法通過日志來同步
支持列存xlog后會導致導入性能劣化,xlog數據量大,同時會影響日志同步效率
備份增量同步技術:
無法達到 RPO = 0
備集群只能讀,無法支持寫操作
邏輯數據同步技術:
列存數據需要支持邏輯解碼,需要從列存XLog的方向進行演進
分布式事務,DDL等處理難度較大
備份/恢復
不能馬上提供服務,RTO時間較長
需要較大空間保存備份集
GaussDB(DWS) 當前在備份增量同步和備份/恢復兩個方向進行演進,他們都是基于備份/恢復工具Roach
(詳情參見Roach備份恢復GaussDB(DWS))
備份/恢復
備份/恢復的原理圖如下,在各個結點將實例備份到相應的介質上,并從介質上恢復到新集群或老集群中。詳細的功能不在此處展開描述,大家可以參考(詳情參見Roach備份恢復GaussDB(DWS)) 來了解細節。
對于實現容災要求,需要解決的問題大體分三類:
快速的備份恢復
高性能備份、恢復操作保證在較短的時間內將數據遷移到另一個集群,對于RPO/RTO要求不大的系統來說實現和使用非常簡單。
備份恢復在集群可用的情況下即可進行,不受單點故障的影響
備份恢復在集群可用的情況下就可以進行,集群只需要保證有可用副本就可以持續的進行備份,并且可以正常恢復。
備份集的可靠性
備份集需要存儲在可靠的存儲上,類似?OBS/NBU,?由于磁盤故障率相對比較高,類似備份集保存在磁盤上是非可靠的方案。
雙集群備份增量同步技術
當前GaussDB(DWS)使用在備份/恢復的雙集群架構來實現容災,將生產集群的數據使用增量的方式同步到容災的集群。
在這種架構下需要解決如下問題:
減少RPO
備份恢復無法達到與流式的同步方式的RPO,?做不到RPO=0的程度。
備集群的可用性問題
備集群支持持續讀/寫
備集群是物理恢復的方式,無法支持寫的操作的;但是在恢復過程中是可以支持持續讀的,當前在恢復過程中需要停集群后將備份集中文件覆蓋。
備集群集群恢復失敗可回退到一致性狀態
在恢復過程中會出結點故障,備份集損壞等等問題,會造成當前的恢復過程無法執行過去,此時需要回退到恢復前的狀態,保證備集群的可用性。
備集群恢復不受單點故障影響
對于備集群來說,也會出現各種單點故障的情況,實例故障,結點故障,CN剔除等情況下,仍然可以把集群恢復成可用的狀態。
備集群支持備份
備集群可以支持備份,用于擴展一些其它功能,實現類似多AZ,異地的容災。
3.?備份集管理
1.?備份集生命周期管理
容災是實現數據同步的功能,并非一個備份恢復場景,并不需要保存大量備份集以及周期的去做全量備份,因此需要有一個機制實現備份集及時清理,保證占用資源可按。
2.?備份集的可靠性
在容災過程中,同樣考慮備份集的可靠性,防止備份集損壞情況,可以通過可靠的介質來保存備份集,又能保證可靠的讀寫性能。
3.?持續增量數據同步
保持持續的增量備份,類似升級前后,擴容前后,都要保持增量備份來保證同步的性能。這里隱含著一個顯而易見的原因,如果全量備份的話,備份時間長,并且恢復進會將集群清空,此時容災集群不可用,這個嚴重影響可用性。可以說避免全量備份是基于Roach的雙集群容災一個重要工作。
4.?雙集群切換及Failover
1.?快速切換
雙集群的應用場景中,類似滾動升級,故障演練,此時需要切換兩個集群,切換時要保證快速將兩邊數據拉平,盡快提供服務并保證可用性。
2. Failover及之后的加回操作
由于RPO != 0,所以在生產集群無法提供服務時,容災集群在Failover操作后會提供讀寫服務,此時會有一部分數據丟失,并在兩個集群的數據產生了“分叉”,那么在生產集群恢復后,加回之后中要將“分叉”的數據進行回退,以保證兩邊數據一致。
5.?異構的支持
此處異構是指邏輯結構DN數量一致,而CN數、結點數可以不相同的情況,眾所周知是由于當前方案是物理備份方式,因此如果DN數量發生變化,無法從物理層進行重分布操作。
以上說明的幾點都是基于可靠性的角度來分析,還有一個重要的因素是基于數倉的數據量和集群規模,不論備份/恢復方案還是在此基礎上的雙集群備份增量同步的方案,對于網絡帶寬,介質的讀寫性能有較高的要求,因此需要根據集群規模和數據增量來選擇合適的組網方式和介質。
Gauss AP EI企業智能 數據倉庫服務 GaussDB(DWS)
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。