GBase新聞
GBASE閑談 | 聊金融容災方案(上)
前兩天在網上翻閱資料時,看到一篇講數據庫容災方案的文章,標題醒目地寫著 “秒級RTO容災方案”,通篇圍繞“秒級”這一概念講述容災。這讓我很是詫異,容災應是犧牲生產小部分效率增加冗余,以實現信息系統整體的數據安全,保證系統的穩定運行。誠然,RTO是很重要的容災評判指標,一個容災方案應講述全方位容災系統所提供的系統數據呵護,保證系統每一個環節的可用性,以達到24*7系統不間斷運行的目的為佳,而不應當僅強調速度這一個指標。在我看來,容災方案應該是由有效的容災系統來表述的。
由“科普中國”科學百科詞條編寫與應用工作項目審核通過的百度詞條描述的容災系統如下:
“容災系統,對于IT而言,就是為計算機信息系統提供的一個能應付各種災難的環境。當計算機系統在遭受如火災、水災、地震、戰爭等不可抗拒的自然災難以及計算機犯罪、計算機病毒、掉電、網絡/通信失敗、硬件/軟件錯誤和人為操作錯誤等人為災難時,容災系統將保證用戶數據的安全性(數據容災),甚至,一個更加完善的容災系統,還能提供不間斷的應用服務(應用容災)” 。
由此可見,數據保護才是容災的目的,提供不間斷服務是容災的成功有效的表達。
那么,如何做到全方位的系統數據呵護呢?
我們知道一般情況下信息系統主要構成有三大塊:存儲、處理服務和傳輸。作為一個容災方案要保證每個環節都安全,實際上就是在這三個環節都施放冗余,以達到系統整體不中斷的述求,以滿足金融行業“5個9”的要求。
這三個方面的冗余表現為:
1、存儲安全 - 不中斷:通過數據冗余完成;
2、服務安全 - 不中斷:通過數據庫服務器冗余完成;
3、傳輸安全 - 不中斷:通過系統冗余完成。
以GBASE南大通用為例,讓我們看看一個全面的容災系統是如何搭建的。我們知道,一般的數據庫信息系統,我們會分為事務型處理系統和分析型處理系統兩類。對應的GBASE有兩個不同的數據庫服務引擎:事務處理引擎和分析處理引擎,它分別是GBase 8s和GBase 8a。下面讓我們分別看看這兩個數據庫服務器引擎在處理事務型數據和處理分析型數據的時候,容災方案的構成情況,以說明它們如何保護我們的數據安全,做到真正的意義上的細致呵護,達成容災使命的。
存儲安全 - 不中斷
大部分情況下,大家對存儲級別的保護都會選擇RAID5。RAID5確實是對于磁盤數據保護尤其是恢復有幫助,但如果不是盤陣的話,數據庫層面的保護對于重要數據的邏輯性校驗,會顯得保護更加有效。
在事務處理引擎方面,GBase 8s提供磁盤鏡像技術,對重要數據做磁盤級別的冗余,保證數據不僅數值的正確性,也保證了邏輯的正確性。
在分析處理引擎方面,GBase 8a提供的多副本技術,對數據做存儲級別的冗余,保證數據的提供不間斷。
需要說明的是,磁盤鏡像和節點數據冗余在磁盤層面和數據庫層面是有區別的,磁盤層面不會做邏輯性校驗。
服務安全 - 不中斷
事務處理引擎:
服務不中斷體現在事務處理引擎上的表達為共享集群,我們稱其為SSC集群,當主服務server故障時,SSC的備選server可以立即接管。備選server的數量可定制,一般選用2-3個備選server,作為主server的冗余,整個集群共享一份數據。搭建情況如下圖:
SSC采用備選節點和主機共享磁盤方式,避免了數據重復存儲的問題,節省了空間,同時安裝、配置更加簡單。而且,當主機發生故障后,它可以快速實現接管,另外,我們可以非常容易地配置多個 SSC備選節點,實現了負載均衡的功能。
由于SSC備選節點利用了主服務器的磁盤并且可以輕松快速地啟動,因而非常適合規模擴展場景,由于 SSC備選服務器非常接近主服務器(即它們共享相同的磁盤),因此最適合在主服務器遇到問題時作為故障轉移服務器。
SSC集群工作的基本原理:
對于 SSC 輔助服務器,主服務器只需將邏輯日志頁的日志位置發送到 SSC 輔助服務器。通過使用從主服務器接收到的日志位置,SSC 輔助服務器從磁盤讀取邏輯日志頁,并將其應用于內存數據緩沖區。
SSC 輔助服務器不會向共享磁盤塊中寫任何東西,不會將共享內存的數據刷新到磁盤,即使是發生 checkpoint 操作也一樣。如果SSC 輔助服務器需要刷新共享內存數據,他們會備寫到臨時的‘ paging file ’ 中,直到下一次 checkpoint 操作才清空‘ paging file ’。同時,主服務器不會清倉共享內存中的數據頁,直到確認SSC輔助服務器不再需要該數據頁才會清倉到磁盤上。
下圖是某農商行中間業務國產化的搭建方案:
該方案采用了全國產配置,承載ETC充值業務、渠道服務整合、業務流量控制等中間業務。通過SSC配置方案既滿足了7*24小時業務連續性需求,具備故障秒級自動快速切換的能力,又實現了負載均衡的能力。達到了:
? 高性能:億行級表響應時間為毫秒級,滿足平臺業務高峰處理能力;
? 高可用:故障透明自動快速切換,切換時間小于30秒,保障業務系統的連續性和安全性;
? 高穩定:保障銀行涉錢交易業務7*24業務需求;
? 國產化:全國產平臺一體化解決方案
分析處理引擎:
服務不中斷體現在分析處理引擎上的表達為聯邦架構形式。GBase 8a MPP Cluster產品總共包含三大核心組件——分布式管理集群GCWare、分布式調度集群GCluster和分布式存儲集群GNode。它們的功能分別為:
GCluster:負責SQL的解析、SQL優化、分布式執行計劃生成、執行調度。
GCWare:用于各節點GCluster實例間共享信息(包括集群結構,節點狀態,節點資源狀態等信息),以及控制多副本數據操作時,提供可操作節點,控制各節點數據一致性狀態。
通常GCluster與GCWare組件部署在相同的物理節點上,統稱coordinator。
coordinator提供池化管理,多個coordinator server放置于管理池中公用,任何一個節點服務的問題均不會影響系統的正常運行,無需切換。聯邦架構的搭建形式如下:
聯邦架構的優勢-無停頓運行,協助上百家金融機構安全平穩開展業務,極高的可用性,使得GBase 8a成為金融界采購分析型數據庫的首選。